RE: [PATCH V1 0/3] scsi: ufs: Add a vops to configure VCC voltage level

From: Avri Altman
Date: Sun Jan 31 2021 - 09:28:09 EST


>
> UFS specification allows different VCC configurations for UFS devices,
> for example,
> (1)2.70V - 3.60V (For UFS 2.x devices)
> (2)2.40V - 2.70V (For UFS 3.x devices)
> For platforms supporting both ufs 2.x (2.7v-3.6v) and
> ufs 3.x (2.4v-2.7v), the voltage requirements (VCC) is 2.4v-3.6v.
> So to support this, we need to start the ufs device initialization with
> the common VCC voltage(2.7v) and after reading the device descriptor we
> need to switch to the correct range(vcc min and vcc max) of VCC voltage
> as per UFS device type since 2.7v is the marginal voltage as per specs
> for both type of devices.
>
> Once VCC regulator supply has been intialised to 2.7v and UFS device
> type is read from device descriptor, we follows below steps to
> change the VCC voltage values.
>
> 1. Set the device to SLEEP state.
> 2. Disable the Vcc Regulator.
> 3. Set the vcc voltage according to the device type and reenable
> the regulator.
> 4. Set the device mode back to ACTIVE.
>
> The above changes are done in vendor specific file by
> adding a vops which will be needed for platform
> supporting both ufs 2.x and ufs 3.x devices.
The flow should be generic - isn't it?
Why do you need the entire flow to be vendor-specific?
Why not just the parameters vendor-specific?

Thanks,
Avri