On Wednesday, 18 November 2015 03:12:11 UTC+11, Jens Kuske wrote:
>
> Enable the 2 USB host controllers used on the Orange Pi Plus 
> and add the necessary regulators. 
>
> Signed-off-by: Reinder de Haan <[email protected] <javascript:>> 
> Signed-off-by: Hans de Goede <[email protected] <javascript:>> 
> Signed-off-by: Jens Kuske <[email protected] <javascript:>> 
> --- 
>
> Hi Hans, 
>
> with these regulators USB works on the Orange Pi Plus too. 
> I don't know if adding the regulators in the dts is okay, since most 
> regulators are defined in the sunxi-common-regulators.dtsi, but 
> we use different pins. 
>
> Jens 
>
>
>  arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts | 44 
> ++++++++++++++++++++++++++++ 
>  1 file changed, 44 insertions(+) 
>
> diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts 
> b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts 
> index e67df59..1cb6c66 100644 
> --- a/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts 
> +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-plus.dts 
> @@ -58,6 +58,35 @@ 
>          chosen { 
>                  stdout-path = "serial0:115200n8"; 
>          }; 
> + 
> +        reg_usb3_vbus: usb3-vbus { 
> +                compatible = "regulator-fixed"; 
> +                pinctrl-names = "default"; 
> +                pinctrl-0 = <&usb3_vbus_pin_a>; 
> +                regulator-name = "usb3-vbus"; 
> +                regulator-min-microvolt = <5000000>; 
> +                regulator-max-microvolt = <5000000>; 
> +                regulator-boot-on; 
> +                enable-active-high; 
> +                gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; 
> +        }; 
> +}; 
> + 
> +&ehci1 { 
> +        status = "okay"; 
> +}; 
> + 
> +&ehci3 { 
> +        status = "okay"; 
> +}; 
> + 
> +&pio { 
> +        usb3_vbus_pin_a: usb3_vbus_pin@0 { 
> +                allwinner,pins = "PG11"; 
> +                allwinner,function = "gpio_out"; 
> +                allwinner,drive = <SUN4I_PINCTRL_10_MA>; 
> +                allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; 
> +        }; 
>  }; 
>   
>  &mmc0 { 
> @@ -70,8 +99,23 @@ 
>          status = "okay"; 
>  }; 
>   
> +&reg_usb1_vbus { 
> +        gpio = <&pio 6 13 GPIO_ACTIVE_HIGH>; 
> +        status = "okay"; 
> +}; 
> + 
>  &uart0 { 
>          pinctrl-names = "default"; 
>          pinctrl-0 = <&uart0_pins_a>; 
>          status = "okay"; 
>  }; 
> + 
> +&usb1_vbus_pin_a { 
> +        allwinner,pins = "PG13"; 
> +}; 
> + 
> +&usbphy { 
> +        usb1_vbus-supply = <&reg_usb1_vbus>; 
> +        usb3_vbus-supply = <&reg_usb3_vbus>; 
> +        status = "okay"; 
> +}; 
>

I've been trying to test these patches by using Hans' github sunxi-wip 
branches of the kernel and U-Boot.

U-Boot at commit 7e17fd2 "suxni: Add support for Orangepi Plus and Orangepi 
PC boards"
Kernel at commit cb45b8  "ARM: dts: sun8i-h3-orangepi-plus: Enable USB host 
controllers"

Both have been built using the default defconfig for an OrangePi Plus

U-Boot starts and successfully boots the kernel, but the kernel does not 
appear to boot fully and hangs at:

[    0.861175] cpu cpu0: failed to get cpu0 clock: -2
[    0.865973] cpufreq-dt: probe of cpufreq-dt failed with error -2
[    0.872017] Registering SWP/SWPB emulation handler

Full boot log: http://pastebin.com/VGkEix9p

Building the kernel (or just using a dab) with the dts from commit 0a8c01 
"ARM: dts: sun8i: Add Orange Pi Plus support" results in the kernel booting 
fully to a login prompt.  Of course without enabled/working USB.

There is a fair chance I've done something wrong that is causing this.  Any 
advice on how to get a bootable kernel?

Thanks,
   Troy

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to