* [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs
@ 2015-05-07 16:43 Chen-Yu Tsai
2015-05-07 16:43 ` [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support Chen-Yu Tsai
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Chen-Yu Tsai @ 2015-05-07 16:43 UTC (permalink / raw)
To: linux-arm-kernel
Hi Maxime,
This small series enables USB host and LED support on the Cubieboard4.
We already support these on the Optimus, so it's just dts stuff.
Regards
ChenYu
Chen-Yu Tsai (2):
ARM: dts: sun9i: cubieboard4: Enable USB support
ARM: dts: sun9i: cubieboard4: Enable LEDs
arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 83 +++++++++++++++++++++++++++++
1 file changed, 83 insertions(+)
--
2.1.4
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support 2015-05-07 16:43 [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs Chen-Yu Tsai @ 2015-05-07 16:43 ` Chen-Yu Tsai 2015-05-08 7:46 ` Maxime Ripard 2015-05-07 16:43 ` [PATCH 2/2] ARM: dts: sun9i: cubieboard4: Enable LEDs Chen-Yu Tsai 2015-05-08 1:10 ` [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs Tyler Baker 2 siblings, 1 reply; 10+ messages in thread From: Chen-Yu Tsai @ 2015-05-07 16:43 UTC (permalink / raw) To: linux-arm-kernel The Cubieboard4 has 4 USB ports. 3 of them are connected to a GL850G USB hub chip on usb1. The fourth one, the lower port of 2 ports next to the power barrel, is directly connected to usb3. 2 power enable GPIOs are used between the 2 port groups, 1 for each. This raises the possibility of having no power for hub-connected port next to the power barrel, if usb3 is not enabled. Signed-off-by: Chen-Yu Tsai <wens@csie.org> --- arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 60 +++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts index 6484dcf69873..42ddc046213c 100644 --- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts +++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts @@ -62,6 +62,30 @@ stdout-path = "serial0:115200n8"; }; + reg_usb3_vbus: usb3-vbus { + compatible = "regulator-fixed"; + pinctrl-names = "default"; + pinctrl-0 = <&usb3_vbus_pin_cubieboard4>; + regulator-name = "usb3-vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + enable-active-high; + gpio = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */ + }; +}; + +&ehci0 { + status = "okay"; +}; + +&ehci2 { + status = "okay"; +}; + +/* usb1 is connected to a GL850G USB hub chip, so no need to enable OHCI */ + +&ohci2 { + status = "okay"; }; &pio { @@ -71,6 +95,20 @@ allwinner,drive = <SUN4I_PINCTRL_10_MA>; allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; }; + + usb1_vbus_pin_cubieboard4: usb1_vbus_pin at 1 { + allwinner,pins = "PH14"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; + + usb3_vbus_pin_cubieboard4: usb3_vbus_pin at 1 { + allwinner,pins = "PH15"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; }; &mmc0 { @@ -92,8 +130,30 @@ status = "okay"; }; +®_usb1_vbus { + pinctrl-0 = <&usb1_vbus_pin_cubieboard4>; + gpio = <&pio 7 14 GPIO_ACTIVE_HIGH>; /* PH14 */ + status = "okay"; +}; + &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_pins_a>; status = "okay"; }; + +&usbphy1 { + phy-supply = <®_usb1_vbus>; + status = "okay"; +}; + +/* + * Unfortunately reg_usb1_vbus also powers one of the ports from usb3's hub. + * One should always make sure both regulators are enabled and working for + * all USB ports to have power. + */ + +&usbphy3 { + phy-supply = <®_usb3_vbus>; + status = "okay"; +}; -- 2.1.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support 2015-05-07 16:43 ` [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support Chen-Yu Tsai @ 2015-05-08 7:46 ` Maxime Ripard 2015-05-08 8:01 ` Chen-Yu Tsai 0 siblings, 1 reply; 10+ messages in thread From: Maxime Ripard @ 2015-05-08 7:46 UTC (permalink / raw) To: linux-arm-kernel Hi, On Fri, May 08, 2015 at 12:43:56AM +0800, Chen-Yu Tsai wrote: > The Cubieboard4 has 4 USB ports. 3 of them are connected to a GL850G > USB hub chip on usb1. The fourth one, the lower port of 2 ports next > to the power barrel, is directly connected to usb3. > > 2 power enable GPIOs are used between the 2 port groups, 1 for each. > This raises the possibility of having no power for hub-connected port > next to the power barrel, if usb3 is not enabled. > > Signed-off-by: Chen-Yu Tsai <wens@csie.org> > --- > arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 60 +++++++++++++++++++++++++++++ > 1 file changed, 60 insertions(+) > > diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts > index 6484dcf69873..42ddc046213c 100644 > --- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts > +++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts > @@ -62,6 +62,30 @@ > stdout-path = "serial0:115200n8"; > }; > > + reg_usb3_vbus: usb3-vbus { > + compatible = "regulator-fixed"; > + pinctrl-names = "default"; > + pinctrl-0 = <&usb3_vbus_pin_cubieboard4>; > + regulator-name = "usb3-vbus"; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + enable-active-high; > + gpio = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */ > + }; > +}; > + > +&ehci0 { > + status = "okay"; > +}; > + > +&ehci2 { > + status = "okay"; > +}; > + > +/* usb1 is connected to a GL850G USB hub chip, so no need to enable OHCI */ You're mentionning usb1, but I don't see it enabled anywhere, is that a typo? > + > +&ohci2 { > + status = "okay"; > }; > > &pio { > @@ -71,6 +95,20 @@ > allwinner,drive = <SUN4I_PINCTRL_10_MA>; > allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; > }; > + > + usb1_vbus_pin_cubieboard4: usb1_vbus_pin at 1 { > + allwinner,pins = "PH14"; > + allwinner,function = "gpio_out"; > + allwinner,drive = <SUN4I_PINCTRL_10_MA>; > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; > + }; > + > + usb3_vbus_pin_cubieboard4: usb3_vbus_pin at 1 { > + allwinner,pins = "PH15"; > + allwinner,function = "gpio_out"; > + allwinner,drive = <SUN4I_PINCTRL_10_MA>; > + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; > + }; > }; > > &mmc0 { > @@ -92,8 +130,30 @@ > status = "okay"; > }; > > +®_usb1_vbus { > + pinctrl-0 = <&usb1_vbus_pin_cubieboard4>; > + gpio = <&pio 7 14 GPIO_ACTIVE_HIGH>; /* PH14 */ > + status = "okay"; > +}; > + > &uart0 { > pinctrl-names = "default"; > pinctrl-0 = <&uart0_pins_a>; > status = "okay"; > }; > + > +&usbphy1 { > + phy-supply = <®_usb1_vbus>; > + status = "okay"; > +}; > + > +/* > + * Unfortunately reg_usb1_vbus also powers one of the ports from usb3's hub. > + * One should always make sure both regulators are enabled and working for > + * all USB ports to have power. > + */ Can't we just provide the two regulators, and enable both of them so that we know that we always have the needed regulators enabled, disregarding which USB port is used? Thanks, Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150508/037b263e/attachment.sig> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support 2015-05-08 7:46 ` Maxime Ripard @ 2015-05-08 8:01 ` Chen-Yu Tsai 2015-05-08 11:40 ` Maxime Ripard 0 siblings, 1 reply; 10+ messages in thread From: Chen-Yu Tsai @ 2015-05-08 8:01 UTC (permalink / raw) To: linux-arm-kernel On Fri, May 8, 2015 at 3:46 PM, Maxime Ripard <maxime.ripard@free-electrons.com> wrote: > Hi, > > On Fri, May 08, 2015 at 12:43:56AM +0800, Chen-Yu Tsai wrote: >> The Cubieboard4 has 4 USB ports. 3 of them are connected to a GL850G >> USB hub chip on usb1. The fourth one, the lower port of 2 ports next >> to the power barrel, is directly connected to usb3. >> >> 2 power enable GPIOs are used between the 2 port groups, 1 for each. >> This raises the possibility of having no power for hub-connected port >> next to the power barrel, if usb3 is not enabled. >> >> Signed-off-by: Chen-Yu Tsai <wens@csie.org> >> --- >> arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 60 +++++++++++++++++++++++++++++ >> 1 file changed, 60 insertions(+) >> >> diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts >> index 6484dcf69873..42ddc046213c 100644 >> --- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts >> +++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts >> @@ -62,6 +62,30 @@ >> stdout-path = "serial0:115200n8"; >> }; >> >> + reg_usb3_vbus: usb3-vbus { >> + compatible = "regulator-fixed"; >> + pinctrl-names = "default"; >> + pinctrl-0 = <&usb3_vbus_pin_cubieboard4>; >> + regulator-name = "usb3-vbus"; >> + regulator-min-microvolt = <5000000>; >> + regulator-max-microvolt = <5000000>; >> + enable-active-high; >> + gpio = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */ >> + }; >> +}; >> + >> +&ehci0 { >> + status = "okay"; >> +}; >> + >> +&ehci2 { >> + status = "okay"; >> +}; >> + >> +/* usb1 is connected to a GL850G USB hub chip, so no need to enable OHCI */ > > You're mentionning usb1, but I don't see it enabled anywhere, is that > a typo? usb1 (or usbphy1) == ehci/ohci0. usb0 is otg. This numbering matches the fex files, and (mostly) matches the specs. >> + >> +&ohci2 { >> + status = "okay"; >> }; >> >> &pio { >> @@ -71,6 +95,20 @@ >> allwinner,drive = <SUN4I_PINCTRL_10_MA>; >> allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; >> }; >> + >> + usb1_vbus_pin_cubieboard4: usb1_vbus_pin at 1 { >> + allwinner,pins = "PH14"; >> + allwinner,function = "gpio_out"; >> + allwinner,drive = <SUN4I_PINCTRL_10_MA>; >> + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; >> + }; >> + >> + usb3_vbus_pin_cubieboard4: usb3_vbus_pin at 1 { >> + allwinner,pins = "PH15"; >> + allwinner,function = "gpio_out"; >> + allwinner,drive = <SUN4I_PINCTRL_10_MA>; >> + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; >> + }; >> }; >> >> &mmc0 { >> @@ -92,8 +130,30 @@ >> status = "okay"; >> }; >> >> +®_usb1_vbus { >> + pinctrl-0 = <&usb1_vbus_pin_cubieboard4>; >> + gpio = <&pio 7 14 GPIO_ACTIVE_HIGH>; /* PH14 */ >> + status = "okay"; >> +}; >> + >> &uart0 { >> pinctrl-names = "default"; >> pinctrl-0 = <&uart0_pins_a>; >> status = "okay"; >> }; >> + >> +&usbphy1 { >> + phy-supply = <®_usb1_vbus>; >> + status = "okay"; >> +}; >> + >> +/* >> + * Unfortunately reg_usb1_vbus also powers one of the ports from usb3's hub. >> + * One should always make sure both regulators are enabled and working for >> + * all USB ports to have power. >> + */ > > Can't we just provide the two regulators, and enable both of them so > that we know that we always have the needed regulators enabled, > disregarding which USB port is used? Would setting "always-on" for both regulators work for you? Or maybe just the one that's used by both USB hosts? ChenYu ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support 2015-05-08 8:01 ` Chen-Yu Tsai @ 2015-05-08 11:40 ` Maxime Ripard 2015-05-11 8:26 ` Chen-Yu Tsai 0 siblings, 1 reply; 10+ messages in thread From: Maxime Ripard @ 2015-05-08 11:40 UTC (permalink / raw) To: linux-arm-kernel On Fri, May 08, 2015 at 04:01:14PM +0800, Chen-Yu Tsai wrote: > >> +&ehci0 { > >> + status = "okay"; > >> +}; > >> + > >> +&ehci2 { > >> + status = "okay"; > >> +}; > >> + > >> +/* usb1 is connected to a GL850G USB hub chip, so no need to enable OHCI */ > > > > You're mentionning usb1, but I don't see it enabled anywhere, is that > > a typo? > > usb1 (or usbphy1) == ehci/ohci0. usb0 is otg. > > This numbering matches the fex files, and (mostly) matches the > specs. Ok, having this comment between ehci2 and ohci2 is confusing then :) It's not the first board that has a hub, we usually don't really care as it's kind of obvious. Maybe we can just remove it? > >> &mmc0 { > >> @@ -92,8 +130,30 @@ > >> status = "okay"; > >> }; > >> > >> +®_usb1_vbus { > >> + pinctrl-0 = <&usb1_vbus_pin_cubieboard4>; > >> + gpio = <&pio 7 14 GPIO_ACTIVE_HIGH>; /* PH14 */ > >> + status = "okay"; > >> +}; > >> + > >> &uart0 { > >> pinctrl-names = "default"; > >> pinctrl-0 = <&uart0_pins_a>; > >> status = "okay"; > >> }; > >> + > >> +&usbphy1 { > >> + phy-supply = <®_usb1_vbus>; > >> + status = "okay"; > >> +}; > >> + > >> +/* > >> + * Unfortunately reg_usb1_vbus also powers one of the ports from usb3's hub. > >> + * One should always make sure both regulators are enabled and working for > >> + * all USB ports to have power. > >> + */ > > > > Can't we just provide the two regulators, and enable both of them so > > that we know that we always have the needed regulators enabled, > > disregarding which USB port is used? > > Would setting "always-on" for both regulators work for you? > Or maybe just the one that's used by both USB hosts? I was more thinking of giving to the phy an additional regulator, so that it would enable both the regulators needed to power up all ports. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150508/3a2d6a1c/attachment.sig> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support 2015-05-08 11:40 ` Maxime Ripard @ 2015-05-11 8:26 ` Chen-Yu Tsai 2015-05-12 14:57 ` Maxime Ripard 0 siblings, 1 reply; 10+ messages in thread From: Chen-Yu Tsai @ 2015-05-11 8:26 UTC (permalink / raw) To: linux-arm-kernel On Fri, May 8, 2015 at 7:40 PM, Maxime Ripard <maxime.ripard@free-electrons.com> wrote: > On Fri, May 08, 2015 at 04:01:14PM +0800, Chen-Yu Tsai wrote: >> >> +&ehci0 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +&ehci2 { >> >> + status = "okay"; >> >> +}; >> >> + >> >> +/* usb1 is connected to a GL850G USB hub chip, so no need to enable OHCI */ >> > >> > You're mentionning usb1, but I don't see it enabled anywhere, is that >> > a typo? >> >> usb1 (or usbphy1) == ehci/ohci0. usb0 is otg. >> >> This numbering matches the fex files, and (mostly) matches the >> specs. > > Ok, having this comment between ehci2 and ohci2 is confusing then :) > > It's not the first board that has a hub, we usually don't really care > as it's kind of obvious. Maybe we can just remove it? Why not. :) >> >> &mmc0 { >> >> @@ -92,8 +130,30 @@ >> >> status = "okay"; >> >> }; >> >> >> >> +®_usb1_vbus { >> >> + pinctrl-0 = <&usb1_vbus_pin_cubieboard4>; >> >> + gpio = <&pio 7 14 GPIO_ACTIVE_HIGH>; /* PH14 */ >> >> + status = "okay"; >> >> +}; >> >> + >> >> &uart0 { >> >> pinctrl-names = "default"; >> >> pinctrl-0 = <&uart0_pins_a>; >> >> status = "okay"; >> >> }; >> >> + >> >> +&usbphy1 { >> >> + phy-supply = <®_usb1_vbus>; >> >> + status = "okay"; >> >> +}; >> >> + >> >> +/* >> >> + * Unfortunately reg_usb1_vbus also powers one of the ports from usb3's hub. >> >> + * One should always make sure both regulators are enabled and working for >> >> + * all USB ports to have power. >> >> + */ >> > >> > Can't we just provide the two regulators, and enable both of them so >> > that we know that we always have the needed regulators enabled, >> > disregarding which USB port is used? >> >> Would setting "always-on" for both regulators work for you? >> Or maybe just the one that's used by both USB hosts? > > I was more thinking of giving to the phy an additional regulator, so > that it would enable both the regulators needed to power up all ports. That would require adding back all the regulator-related code I removed from the phy driver before it was merged. (sigh) It's not like the regulator bindings takes a list. I see this as more of a hardware design flaw, and we should label it as such. And it might still work for self-powered devices even if VBUS is off. The USB hub chip is always on. ChenYu ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support 2015-05-11 8:26 ` Chen-Yu Tsai @ 2015-05-12 14:57 ` Maxime Ripard 2015-05-12 15:49 ` Chen-Yu Tsai 0 siblings, 1 reply; 10+ messages in thread From: Maxime Ripard @ 2015-05-12 14:57 UTC (permalink / raw) To: linux-arm-kernel On Mon, May 11, 2015 at 04:26:58PM +0800, Chen-Yu Tsai wrote: > >> >> +&usbphy1 { > >> >> + phy-supply = <®_usb1_vbus>; > >> >> + status = "okay"; > >> >> +}; > >> >> + > >> >> +/* > >> >> + * Unfortunately reg_usb1_vbus also powers one of the ports from usb3's hub. > >> >> + * One should always make sure both regulators are enabled and working for > >> >> + * all USB ports to have power. > >> >> + */ > >> > > >> > Can't we just provide the two regulators, and enable both of them so > >> > that we know that we always have the needed regulators enabled, > >> > disregarding which USB port is used? > >> > >> Would setting "always-on" for both regulators work for you? > >> Or maybe just the one that's used by both USB hosts? > > > > I was more thinking of giving to the phy an additional regulator, so > > that it would enable both the regulators needed to power up all ports. > > That would require adding back all the regulator-related code I > removed from the phy driver before it was merged. (sigh) It's not > like the regulator bindings takes a list. Yeah, but maybe we can just add an optional device-supply property or something like that to power up the devices connected on the bus. > I see this as more of a hardware design flaw, and we should label > it as such. This can be seen as one, and we can debate it for some time I guess, but if the hardware guys were not making crazy stuff like that, we would run out of work pretty quickly :) What we really need to do is find a proper and reliable way to handle this case. Whether we declare it as a flaw or not is a separate debate. > And it might still work for self-powered devices even if VBUS is > off. The USB hub chip is always on. That still leaves a significant amount of devices out and non functional, especially very standard devices like USB keys, keyboards or headsets that you would expect to just work. Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 819 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150512/b950273a/attachment.sig> ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support 2015-05-12 14:57 ` Maxime Ripard @ 2015-05-12 15:49 ` Chen-Yu Tsai 0 siblings, 0 replies; 10+ messages in thread From: Chen-Yu Tsai @ 2015-05-12 15:49 UTC (permalink / raw) To: linux-arm-kernel On Tue, May 12, 2015 at 10:57 PM, Maxime Ripard <maxime.ripard@free-electrons.com> wrote: > On Mon, May 11, 2015 at 04:26:58PM +0800, Chen-Yu Tsai wrote: >> >> >> +&usbphy1 { >> >> >> + phy-supply = <®_usb1_vbus>; >> >> >> + status = "okay"; >> >> >> +}; >> >> >> + >> >> >> +/* >> >> >> + * Unfortunately reg_usb1_vbus also powers one of the ports from usb3's hub. >> >> >> + * One should always make sure both regulators are enabled and working for >> >> >> + * all USB ports to have power. >> >> >> + */ >> >> > >> >> > Can't we just provide the two regulators, and enable both of them so >> >> > that we know that we always have the needed regulators enabled, >> >> > disregarding which USB port is used? >> >> >> >> Would setting "always-on" for both regulators work for you? >> >> Or maybe just the one that's used by both USB hosts? >> > >> > I was more thinking of giving to the phy an additional regulator, so >> > that it would enable both the regulators needed to power up all ports. >> >> That would require adding back all the regulator-related code I >> removed from the phy driver before it was merged. (sigh) It's not >> like the regulator bindings takes a list. > > Yeah, but maybe we can just add an optional device-supply property or > something like that to power up the devices connected on the bus. (CC-ed Kishon) Do we think this generic enough to go into the generic phy core? >> I see this as more of a hardware design flaw, and we should label >> it as such. > > This can be seen as one, and we can debate it for some time I guess, > but if the hardware guys were not making crazy stuff like that, we > would run out of work pretty quickly :) Ah yes, but the users would be happier. :) > What we really need to do is find a proper and reliable way to handle > this case. Whether we declare it as a flaw or not is a separate > debate. > >> And it might still work for self-powered devices even if VBUS is >> off. The USB hub chip is always on. > > That still leaves a significant amount of devices out and non > functional, especially very standard devices like USB keys, keyboards > or headsets that you would expect to just work. I agree. So the question is where should this go in. ChenYu ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/2] ARM: dts: sun9i: cubieboard4: Enable LEDs 2015-05-07 16:43 [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs Chen-Yu Tsai 2015-05-07 16:43 ` [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support Chen-Yu Tsai @ 2015-05-07 16:43 ` Chen-Yu Tsai 2015-05-08 1:10 ` [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs Tyler Baker 2 siblings, 0 replies; 10+ messages in thread From: Chen-Yu Tsai @ 2015-05-07 16:43 UTC (permalink / raw) To: linux-arm-kernel The Cubieboard4 has 2 controllable LEDs, 1 red and 1 green. Signed-off-by: Chen-Yu Tsai <wens@csie.org> --- arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts index 42ddc046213c..d63ea4284adf 100644 --- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts +++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts @@ -62,6 +62,22 @@ stdout-path = "serial0:115200n8"; }; + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&led_pins_cubieboard4>; + + green { + label = "cubieboard4:green:usr"; + gpios = <&pio 7 17 GPIO_ACTIVE_HIGH>; /* PH17 */ + }; + + red { + label = "cubieboard4:red:usr"; + gpios = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ + }; + }; + reg_usb3_vbus: usb3-vbus { compatible = "regulator-fixed"; pinctrl-names = "default"; @@ -89,6 +105,13 @@ }; &pio { + led_pins_cubieboard4: led-pins at 0 { + allwinner,pins = "PH6", "PH17"; + allwinner,function = "gpio_out"; + allwinner,drive = <SUN4I_PINCTRL_10_MA>; + allwinner,pull = <SUN4I_PINCTRL_NO_PULL>; + }; + mmc0_cd_pin_cubieboard4: mmc0_cd_pin at 0 { allwinner,pins = "PH18"; allwinner,function = "gpio_in"; -- 2.1.4 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs 2015-05-07 16:43 [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs Chen-Yu Tsai 2015-05-07 16:43 ` [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support Chen-Yu Tsai 2015-05-07 16:43 ` [PATCH 2/2] ARM: dts: sun9i: cubieboard4: Enable LEDs Chen-Yu Tsai @ 2015-05-08 1:10 ` Tyler Baker 2 siblings, 0 replies; 10+ messages in thread From: Tyler Baker @ 2015-05-08 1:10 UTC (permalink / raw) To: linux-arm-kernel Hi ChenYu, On 7 May 2015 at 09:43, Chen-Yu Tsai <wens@csie.org> wrote: > Hi Maxime, > > This small series enables USB host and LED support on the Cubieboard4. > We already support these on the Optimus, so it's just dts stuff. > > > Regards > ChenYu > > > Chen-Yu Tsai (2): > ARM: dts: sun9i: cubieboard4: Enable USB support > ARM: dts: sun9i: cubieboard4: Enable LEDs Thanks for posting these patches. I gave this series a spin on my cubieboard4 atop next-20150507 both with sunxi_defconfig and multi_v7_defconfig. Tested all four USB ports with various USB devices, and for good measure toggled the LED's :) Everything worked as expected, so feel free to add my Tested-by: Tyler Baker <tyler.baker@linaro.org> > > arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 83 +++++++++++++++++++++++++++++ > 1 file changed, 83 insertions(+) > > -- > 2.1.4 > Cheers, Tyler ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2015-05-12 15:49 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-05-07 16:43 [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs Chen-Yu Tsai 2015-05-07 16:43 ` [PATCH 1/2] ARM: dts: sun9i: cubieboard4: Enable USB support Chen-Yu Tsai 2015-05-08 7:46 ` Maxime Ripard 2015-05-08 8:01 ` Chen-Yu Tsai 2015-05-08 11:40 ` Maxime Ripard 2015-05-11 8:26 ` Chen-Yu Tsai 2015-05-12 14:57 ` Maxime Ripard 2015-05-12 15:49 ` Chen-Yu Tsai 2015-05-07 16:43 ` [PATCH 2/2] ARM: dts: sun9i: cubieboard4: Enable LEDs Chen-Yu Tsai 2015-05-08 1:10 ` [PATCH 0/2] ARM: sun9i: cubieboard4: Enable USB hosts and LEDs Tyler Baker
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).