On 01/23/2018 12:30 AM, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
> ---
> hw/sd/sd.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/hw/sd/sd.c b/hw/sd/sd.c
> index 27176ba33e..b3b6859bc4 100644
> --- a/hw/sd/sd.c
> +++ b/hw/sd/sd.c
> @@ -93,6 +93,7 @@ struct SDState {
> /* Configurable properties */
> BlockBackend *blk;
> bool spi;
> + uint8_t uhs_supported;
>
> uint32_t mode; /* current card mode, one of SDCardModes */
> int32_t state; /* current card state, one of SDCardStates */
> @@ -289,6 +290,8 @@ static void sd_reset_ocr(SDState *sd)
> {
> /* All voltages OK */
> sd->ocr = R_OCR_VDD_VOLTAGE_WIN_HI_MASK;
> +
> + sd->ocr = FIELD_DP32(sd->ocr, OCR, ACCEPT_SWITCH_1V8,
> !!sd->uhs_supported);
This patch has to go after this series #17 "sdcard: implement the UHS-I
SWITCH_FUNCTION entries (Spec v3)"
> }
>
> static void sd_ocr_powerup(void *opaque)
> @@ -2107,6 +2110,7 @@ static Property sd_properties[] = {
> * board to ensure that ssi transfers only occur when the chip select
> * is asserted. */
> DEFINE_PROP_BOOL("spi", SDState, spi, false),
> + DEFINE_PROP_UINT8("uhs", SDState, uhs_supported, UHS_NOT_SUPPORTED),
> DEFINE_PROP_END_OF_LIST()
> };
>
>