[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANAwSgTuP_OGp+0sdR9sVuq-SOkBfQxYKONZPB7Vo=+GFdrHfw@mail.gmail.com>
Date: Thu, 9 Mar 2017 23:28:05 +0530
From: Anand Moon <linux.amoon@...il.com>
To: Neil Armstrong <narmstrong@...libre.com>
Cc: Rob Herring <robh+dt@...nel.org>, Carlo Caione <carlo@...one.org>,
Kevin Hilman <khilman@...libre.com>,
Brian Kim <brian.kim@...dkernel.com>,
devicetree <devicetree@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
linux-amlogic@...ts.infradead.org,
Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ARM64: dts: meson-gxbb-odroidc2: enable USB Host Nodes
Hi Neil,
On 9 March 2017 at 18:43, Neil Armstrong <narmstrong@...libre.com> wrote:
> On 03/08/2017 06:22 PM, Anand Moon wrote:
>> Hi All,
>>
>> On 8 March 2017 at 02:06, Anand Moon <linux.amoon@...il.com> wrote:
>>> From: Anand Moon <linux.amoon@...il.com>
>>>
>>> update the regulator supply nodes for usb host to
>>> enable usb host on odroid-c2
>>>
>>> Signed-off-by: Anand Moon <linux.amoon@...il.com>
>>> ---
>>> root@...oid64:/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
Powered by blists - more mailing lists