[PATCH 2/5] ARM: dtsi: sunxi: add common VBUS regulator
Roman Byshko
rbyshko at gmail.com
Wed Oct 29 13:13:50 PDT 2014
Hi Maxime,
thank you for the review!
On Tue, Oct 28, 2014 at 10:51 PM, Maxime Ripard
<maxime.ripard at free-electrons.com> wrote:
> On Mon, Oct 27, 2014 at 10:43:02PM +0100, Roman Byshko wrote:
>> Until now the regulator nodes for powering USB VBUS
>> existed only for the two host controllers. Now the regulator
>> is added for USB OTG too.
>> ---
>> arch/arm/boot/dts/sunxi-common-regulators.dtsi | 19 +++++++++++++++++++
>> 1 file changed, 19 insertions(+)
>>
>> diff --git a/arch/arm/boot/dts/sunxi-common-regulators.dtsi b/arch/arm/boot/dts/sunxi-common-regulators.dtsi
>> index c9c5b10..f521672 100644
>> --- a/arch/arm/boot/dts/sunxi-common-regulators.dtsi
>> +++ b/arch/arm/boot/dts/sunxi-common-regulators.dtsi
>> @@ -21,6 +21,13 @@
>> allwinner,pull = <0>;
>> };
>>
>> + usb0_vbus_pin_a: usb0_vbus_pin at 0 {
>> + allwinner,pins = "PB9";
>> + allwinner,function = "gpio_out";
>> + allwinner,drive = <0>;
>> + allwinner,pull = <0>;
>> + };
>> +
>> usb1_vbus_pin_a: usb1_vbus_pin at 0 {
>> allwinner,pins = "PH6";
>> allwinner,function = "gpio_out";
>> @@ -49,6 +56,18 @@
>> status = "disabled";
>> };
>>
>> + reg_usb0_vbus: usb0-vbus {
>> + compatible = "regulator-fixed";
>> + pinctrl-names = "default";
>> + pinctrl-0 = <&usb0_vbus_pin_a>;
>> + regulator-name = "usb0-vbus";
>> + regulator-min-microvolt = <5000000>;
>> + regulator-max-microvolt = <5000000>;
>> + enable-active-high;
>> + gpio = <&pio 1 9 0>;
>> + status = "disabled";
>> + };
>
> We're using these regulators because a huuuge majority of the boards
> out there, regardless of their SoC, are using the same GPIO to drive
> the same regulator. Is this the case here? What board have you looked
> at?
Currently I'm developing and testing for Cubietruck. I also have a few
other boards (with different SoC), I will add corresponding DT nodes
for them later.
As for GPIO which is used to drive the USB0 VBUS pin.
$ git remote show origin
* remote origin
Fetch URL: https://github.com/linux-sunxi/sunxi-boards.git
Push URL: https://github.com/linux-sunxi/sunxi-boards.git
...
$ grep -A7 usbc0 -r . | grep usb_drv_vbus_gpio | grep port | sort |
cut -d: -f2 | cut -d "<" -f1 | sort | uniq -c
1 PA16
1 PA17
67 PB09
4 PB10
1 PB9
1 PC17
1 PD25
4 PG11
21 PG12
1 PG13
1 PH17
4 power4
So PB09 is most often used. PG12 is used on (alsmost always) A13. So
propose to make PB09 default, then override it in sun5i-a13.dtsi and
later in board dts file if needed.
Cubietruck uses PH17. That is why I override PB09 in its dts file.
Sounds good?
Best,
Roman
> Thanks,
> Maxime
>
> --
> Maxime Ripard, Free Electrons
> Embedded Linux, Kernel and Android engineering
> http://free-electrons.com
More information about the linux-arm-kernel
mailing list