> > 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