[PATCH] phy: usbphyc: use regulator_set_enable_if_allowed for disabling vbus supply
Marek Vasut
marex at denx.de
Wed Oct 26 15:16:16 CEST 2022
On 10/26/22 15:09, Patrick DELAUNAY wrote:
> Hi Marek,
>
> On 9/20/22 13:39, Patrick Delaunay wrote:
>> Use regulator_set_enable_if_allowed() api instead of
>> regulator_set_enable()
>> while disabling vbus supply. This way the driver doesn't see an error
>> when it disable an always-on regulator for VBUS.
>>
>> This patch is needed for STM32MP157C-DK2 board when the regulator
>> v3v3: buck4 used as the phy vbus supply in kernel device tree
>> is always on with the next hack for low power use-case:
>>
>> &usbphyc_port0 {
>> ...
>> /*
>> * Hack to keep hub active until all connected devices are suspended
>> * otherwise the hub will be powered off as soon as the v3v3 is
>> disabled
>> * and it can disturb connected devices.
>> */
>> connector {
>> compatible = "usb-a-connector";
>> vbus-supply = <&v3v3>;
>> };
>> };
>>
>> Without this patch and the previous update in DT the command
>> "usb stop" failed and the next command "usb start" cause a crash.
>>
>> Signed-off-by: Patrick Delaunay <patrick.delaunay at foss.st.com>
>> ---
>>
>> drivers/phy/phy-stm32-usbphyc.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/phy/phy-stm32-usbphyc.c
>> b/drivers/phy/phy-stm32-usbphyc.c
>> index 9f0b7d71187..dcf2194e9a7 100644
>> --- a/drivers/phy/phy-stm32-usbphyc.c
>> +++ b/drivers/phy/phy-stm32-usbphyc.c
>> @@ -375,7 +375,7 @@ static int stm32_usbphyc_phy_power_off(struct phy
>> *phy)
>> return 0;
>> if (usbphyc_phy->vbus) {
>> - ret = regulator_set_enable(usbphyc_phy->vbus, false);
>> + ret = regulator_set_enable_if_allowed(usbphyc_phy->vbus, false);
>> if (ret)
>> return ret;
>> }
>
>
> Can you reviewed this minor patch for v2023.01-rc1 ?
Seems OK to me:
Reviewed-by: Marek Vasut <marex at denx.de>
Thanks
More information about the U-Boot
mailing list