Re: [PATCH] ARM64: dts: meson-gxbb-odroidc2: enable USB Host Nodes
From: Anand Moon
Date: Thu Mar 09 2017 - 12:58:33 EST
Hi Neil,
On 9 March 2017 at 18:43, Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote:
> On 03/08/2017 06:22 PM, Anand Moon wrote:
>> Hi All,
>>
>> On 8 March 2017 at 02:06, Anand Moon <linux.amoon@xxxxxxxxx> wrote:
>>> From: Anand Moon <linux.amoon@xxxxxxxxx>
>>>
>>> update the regulator supply nodes for usb host to
>>> enable usb host on odroid-c2
>>>
>>> Signed-off-by: Anand Moon <linux.amoon@xxxxxxxxx>
>>> ---
>>> root@odroid64:/usr/src/odroidxu3-4.y-devel# lsusb -t
>>> /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc2/1p, 480M
>>> |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
>>> |__ Port 1: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
>>> |__ Port 1: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
>>> |__ Port 2: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
>>> |__ Port 4: Dev 5, If 0, Class=Mass Storage, Driver=usb-storage, 480M
>>> ---
>>> arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 13 +++++++++++++
>>> 1 file changed, 13 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
>>> index c59403a..304b676 100644
>>> --- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
>>> +++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
>>> @@ -64,6 +64,18 @@
>>> reg = <0x0 0x0 0x0 0x80000000>;
>>> };
>>>
>>> + usb_host_pwr: regulator-usb-pwrs {
>>> + compatible = "regulator-fixed";
>>> +
>>> + regulator-name = "USB_HOST_PWR";
>>> +
>>> + regulator-min-microvolt = <5000000>;
>>> + regulator-max-microvolt = <5000000>;
>>> +
>>> + gpio = <&gpio_ao GPIOAO_4 GPIO_ACTIVE_HIGH>;
>>> + enable-active-high;
>>> + };
>>> +
>>> usb_otg_pwr: regulator-usb-pwrs {
>>> compatible = "regulator-fixed";
>>>
>>> @@ -184,6 +196,7 @@
>>>
>>> &usb1_phy {
>>> status = "okay";
>>> + phy-supply = <&usb_host_pwr>;
>>> };
>>>
>>> &usb0 {
>>> --
>>> 2.7.4
>>>
>>
>> Please ignore this patch, It not working.
>> I will try to submit a new patch.
>>
>> Best Regards
>> -Anand Moon
>>
>
> Hi Anand,
>
> For this specific use case, the only way to manage this is to use the Work-In-Progress
> Power Sequence Library proposer by Peter Chen at :
> https://lkml.org/lkml/2016/11/13/315
>
> Since this is the USB Hub reset link and has no direct link with either the USB controller
> or the USB PHY, and the USB Hus cannot be modeled (yet ?) in the DT.
>
> One intermediate, but crappy, solution would be to add a GPIO hog until the power
> sequence code has been merged, with a proper big fat warning in the dts file.
>
> You can find doc about the gpio-hog in :
> Documentation/devicetree/bindings/gpio/gpio.txt
>
> It should look like :
>
> usb-hub {
> gpio-hog;
> gpios = <GPIOAO_4 GPIO_ACTIVE_HIGH>;
> output-high;
> line-name = "usb-hub-reset";
> };
>
> in the gpio_ao controller node.
>
> Neil
Thanks for this input.
I will check this series of patches, and work on this new approach.
-Best Regards
Anand Moon