Hi Cedric > -----Original Message----- > From: Cédric Le Goater <c...@kaod.org> > Sent: Monday, February 22, 2021 3:22 PM > To: Sai Pavan Boddu <saip...@xilinx.com>; Markus Armbruster > <arm...@redhat.com>; Kevin Wolf <kw...@redhat.com>; Max Reitz > <mre...@redhat.com>; Vladimir Sementsov-Ogievskiy > <vsement...@virtuozzo.com>; Eric Blake <ebl...@redhat.com>; Joel Stanley > <j...@jms.id.au>; Vincent Palatin <vpala...@chromium.org>; Dr. David Alan > Gilbert <dgilb...@redhat.com>; Thomas Huth <th...@redhat.com>; Stefan > Hajnoczi <stefa...@redhat.com>; Peter Maydell <peter.mayd...@linaro.org>; > Alistair Francis <alistair.fran...@wdc.com>; Edgar Iglesias > <edg...@xilinx.com>; > Luc Michel <luc.mic...@greensocs.com>; Paolo Bonzini > <pbonz...@redhat.com> > Cc: qemu-bl...@nongnu.org; qemu-devel@nongnu.org; Sai Pavan Boddu > <saip...@xilinx.com> > Subject: Re: [PATCH v2 04/22] sd: emmc: update OCR fields for eMMC > > On 2/22/21 9:20 AM, Sai Pavan Boddu wrote: > > From: Vincent Palatin <vpala...@chromium.org> > > > > eMMC OCR register doesn't has UHS-II field and voltage fields are > > different. > > Can a patch be "From" a person without a "Signed-off-by" of the same person ? [Sai Pavan Boddu] No I should not be like this. My mistake, I would respin the series with corrections. Few other patches may have this after the split I did.
Regards, Sai Pavan > > C. > > > Signed-off-by: Sai Pavan Boddu <sai.pavan.bo...@xilinx.com> > > > > --- > > hw/sd/sd.c | 27 ++++++++++++++++++++++++--- > > 1 file changed, 24 insertions(+), 3 deletions(-) > > > > diff --git a/hw/sd/sd.c b/hw/sd/sd.c > > index 42ee49c..430bea5 100644 > > --- a/hw/sd/sd.c > > +++ b/hw/sd/sd.c > > @@ -283,6 +283,15 @@ FIELD(OCR, UHS_II_CARD, 29, 1) /* Only > UHS-II */ > > FIELD(OCR, CARD_CAPACITY, 30, 1) /* 0:SDSC, 1:SDHC/SDXC */ > > FIELD(OCR, CARD_POWER_UP, 31, 1) > > > > +/* > > + * eMMC OCR register > > + */ > > +FIELD(EMMC_OCR, VDD_WINDOW_0, 7, 1) > > +FIELD(EMMC_OCR, VDD_WINDOW_1, 8, 7) > > +FIELD(EMMC_OCR, VDD_WINDOW_2, 15, 9) > > +FIELD(EMMC_OCR, ACCESS_MODE, 29, 2) > > +FIELD(EMMC_OCR, POWER_UP, 31, 1) > > + > > #define ACMD41_ENQUIRY_MASK 0x00ffffff > > #define ACMD41_R3_MASK (R_OCR_VDD_VOLTAGE_WIN_HI_MASK \ > > | R_OCR_ACCEPT_SWITCH_1V8_MASK \ > > @@ -292,8 +301,16 @@ FIELD(OCR, CARD_POWER_UP, 31, 1) > > > > static void sd_set_ocr(SDState *sd) > > { > > - /* All voltages OK */ > > - sd->ocr = R_OCR_VDD_VOLTAGE_WIN_HI_MASK; > > + if (sd->emmc) { > > + /* > > + * Dual Voltage eMMC card > > + */ > > + sd->ocr = R_EMMC_OCR_VDD_WINDOW_0_MASK | > > + R_EMMC_OCR_VDD_WINDOW_2_MASK; > > + } else { > > + /* All voltages OK */ > > + sd->ocr = R_OCR_VDD_VOLTAGE_WIN_HI_MASK; > > + } > > } > > > > static void sd_ocr_powerup(void *opaque) @@ -521,7 +538,11 @@ static > > void sd_response_r1_make(SDState *sd, uint8_t *response) > > > > static void sd_response_r3_make(SDState *sd, uint8_t *response) { > > - stl_be_p(response, sd->ocr & ACMD41_R3_MASK); > > + if (sd->emmc) { > > + stl_be_p(response, sd->ocr); > > + } else { > > + stl_be_p(response, sd->ocr & ACMD41_R3_MASK); > > + } > > } > > > > static void sd_response_r6_make(SDState *sd, uint8_t *response) > >