[U-Boot] [PATCH 4/8] usb: host: xhci-rockchip: add support for rk3328

rock-chips(daniel.meng) daniel.meng at rock-chips.com
Sat May 27 10:09:04 UTC 2017



On 2017/5/27 16:38, Marek Vasut wrote:
> On 05/27/2017 09:44 AM, rock-chips(daniel.meng) wrote:
>>
>> On 2017/5/18 1:07, Marek Vasut wrote:
>>> On 05/17/2017 12:21 PM, Meng Dongyang wrote:
>>>> Add the compatible "rockchip,rk3328-xhci" in match table
>>>> for rk3328 to probe xhci controller. Turn off vbus when
>>>> usb stop.
>>>>
>>>> Signed-off-by: Meng Dongyang <daniel.meng at rock-chips.com>
>>>> ---
>>>>    drivers/usb/host/xhci-rockchip.c | 6 ++++++
>>>>    1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/drivers/usb/host/xhci-rockchip.c
>>>> b/drivers/usb/host/xhci-rockchip.c
>>>> index f559830..8db92cb 100644
>>>> --- a/drivers/usb/host/xhci-rockchip.c
>>>> +++ b/drivers/usb/host/xhci-rockchip.c
>>>> @@ -168,6 +168,7 @@ static int xhci_usb_probe(struct udevice *dev)
>>>>      static int xhci_usb_remove(struct udevice *dev)
>>>>    {
>>>> +    struct rockchip_xhci_platdata *plat = dev_get_platdata(dev);
>>>>        struct rockchip_xhci *ctx = dev_get_priv(dev);
>>>>        int ret;
>>>>    @@ -178,11 +179,15 @@ static int xhci_usb_remove(struct udevice *dev)
>>>>        if (ret)
>>>>            return ret;
>>>>    +    if (dm_gpio_is_valid(&plat->vbus_gpio))
>>>> +        dm_gpio_set_value(&plat->vbus_gpio, 0);
>>> This should be a fixed regulator, then you don't have to mess with GPIOs
>>> directly.
>> Indeed, this is better to be a fixed regulator. Yet other platforms
>> still use GPIOs directly.
>> So I must change the dts of the other platforms if change like this.
>> Maybe it's better to change
>> by another commit. This patch is only for turning off vbus when usb stop.
> How do you assure the polarity of this GPIO here though ? Anyway,
> turning this into regulator could be done in separate patch if this
> practice is already establish.
I config the active voltageof gpio throw dts to assure the polarity.

for example:
     vbus-gpio = <&gpio0 27 GPIO_ACTIVE_HIGH>;
The active voltage is configed to high, then if I call the function
     dm_gpio_set_value(&plat->vbus_gpio, 1);
the gpio output voltage will be high.



More information about the U-Boot mailing list