lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0204bbde-c437-e11b-cb3b-d9f4b55a5810@baylibre.com>
Date:   Thu, 9 Mar 2017 14:13:42 +0100
From:   Neil Armstrong <narmstrong@...libre.com>
To:     Anand Moon <linux.amoon@...il.com>,
        Rob Herring <robh+dt@...nel.org>,
        Carlo Caione <carlo@...one.org>,
        Kevin Hilman <khilman@...libre.com>,
        Brian Kim <brian.kim@...dkernel.com>
Cc:     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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ