diff options
author | Arnd Bergmann <arnd@arndb.de> | 2014-03-17 10:08:59 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2014-03-17 10:08:59 -0400 |
commit | a38f8913da6bf30e7ef46f8d07b6344860bc4604 (patch) | |
tree | 7d0032e035845e9f96e612716521176d5f84e148 | |
parent | 542798cdd500614feba234ed602777eae33edbb8 (diff) | |
parent | ca5d04d90825a3f3f2fc1aaba09953a55564e0e8 (diff) |
Merge tag 'sunxi-dt-for-3.15-2' of https://github.com/mripard/linux into next/dt
Pull "Allwinner DT additions for 3.15, take 2" from Maxime Ripard:
- Two new boards: INet 97F Rev 02 and A10-OLinuXino-LIME
- Addition of the I2C for the A31
- Addition USB Host mode for the A10, A10s, A13 and A20
- Addition of SATA support for the A10 and A20
- Change of compatible for the watchdog
* tag 'sunxi-dt-for-3.15-2' of https://github.com/mripard/linux: (23 commits)
ARM: sunxi: dt: Update the watchdog compatibles
ARM: sun6i: colombus: Enable the I2C controllers
ARM: sun6i: Enable the I2C muxing options
ARM: sun6i: Enable the I2C controllers
ARM: sun4i: dt: Add support for the INet-97F_Rev_02 board
ARM: sun4i: dt: Add support for the A10-OLinuXino-LIME board
ARM: sun7i: dt: Add USB host nodes to a20-olinuxino-micro dts
ARM: sun7i: dt: Add USB host nodes to cubieboard2 dts
ARM: sun7i: dt: Add USB host nodes to cubietruck dts
ARM: sun5i: dt: Add USB host nodes to a13-olinuxino-micro
ARM: sun5i: dt: Add USB host nodes to a10s-olinuxino-micro
ARM: sun5i: dt: Add USB host nodes to A13-Olinuxino
ARM: sun4i: dt: Add USB host nodes to pcduino.dts
ARM: sun4i: dt: Add USB host nodes to mini-xplus dts
ARM: sun4i: dt: Add USB host nodes to hackberry dts
ARM: sun4i: dt: Add USB host nodes to cubieboard dts
ARM: sun4i: dt: Add USB host nodes to Mele A1000 dts
ARM: sun7i: dt: Add USB host bindings
ARM: sun5i: dt: Add USB host bindings
ARM: sun4i: dt: Add USB host bindings
...
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
21 files changed, 912 insertions, 5 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 9dfc2d44baaf..102bdc694286 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -325,6 +325,8 @@ dtb-$(CONFIG_ARCH_SUNXI) += \ | |||
325 | sun4i-a10-cubieboard.dtb \ | 325 | sun4i-a10-cubieboard.dtb \ |
326 | sun4i-a10-mini-xplus.dtb \ | 326 | sun4i-a10-mini-xplus.dtb \ |
327 | sun4i-a10-hackberry.dtb \ | 327 | sun4i-a10-hackberry.dtb \ |
328 | sun4i-a10-inet97fv2.dtb \ | ||
329 | sun4i-a10-olinuxino-lime.dtb \ | ||
328 | sun4i-a10-pcduino.dtb \ | 330 | sun4i-a10-pcduino.dtb \ |
329 | sun5i-a10s-olinuxino-micro.dtb \ | 331 | sun5i-a10s-olinuxino-micro.dtb \ |
330 | sun5i-a13-olinuxino.dtb \ | 332 | sun5i-a13-olinuxino.dtb \ |
diff --git a/arch/arm/boot/dts/sun4i-a10-a1000.dts b/arch/arm/boot/dts/sun4i-a10-a1000.dts index cbd2e135bc09..fa746aea5e66 100644 --- a/arch/arm/boot/dts/sun4i-a10-a1000.dts +++ b/arch/arm/boot/dts/sun4i-a10-a1000.dts | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sun4i-a10.dtsi" | 15 | /include/ "sun4i-a10.dtsi" |
16 | /include/ "sunxi-common-regulators.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "Mele A1000"; | 19 | model = "Mele A1000"; |
@@ -35,6 +36,32 @@ | |||
35 | }; | 36 | }; |
36 | }; | 37 | }; |
37 | 38 | ||
39 | usbphy: phy@01c13400 { | ||
40 | usb1_vbus-supply = <®_usb1_vbus>; | ||
41 | usb2_vbus-supply = <®_usb2_vbus>; | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
45 | ehci0: usb@01c14000 { | ||
46 | status = "okay"; | ||
47 | }; | ||
48 | |||
49 | ohci0: usb@01c14400 { | ||
50 | status = "okay"; | ||
51 | }; | ||
52 | |||
53 | ahci: sata@01c18000 { | ||
54 | status = "okay"; | ||
55 | }; | ||
56 | |||
57 | ehci1: usb@01c1c000 { | ||
58 | status = "okay"; | ||
59 | }; | ||
60 | |||
61 | ohci1: usb@01c1c400 { | ||
62 | status = "okay"; | ||
63 | }; | ||
64 | |||
38 | pinctrl@01c20800 { | 65 | pinctrl@01c20800 { |
39 | emac_power_pin_a1000: emac_power_pin@0 { | 66 | emac_power_pin_a1000: emac_power_pin@0 { |
40 | allwinner,pins = "PH15"; | 67 | allwinner,pins = "PH15"; |
@@ -90,4 +117,12 @@ | |||
90 | enable-active-high; | 117 | enable-active-high; |
91 | gpio = <&pio 7 15 0>; | 118 | gpio = <&pio 7 15 0>; |
92 | }; | 119 | }; |
120 | |||
121 | reg_usb1_vbus: usb1-vbus { | ||
122 | status = "okay"; | ||
123 | }; | ||
124 | |||
125 | reg_usb2_vbus: usb2-vbus { | ||
126 | status = "okay"; | ||
127 | }; | ||
93 | }; | 128 | }; |
diff --git a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts index b139ee6bcf99..4684cbe6843b 100644 --- a/arch/arm/boot/dts/sun4i-a10-cubieboard.dts +++ b/arch/arm/boot/dts/sun4i-a10-cubieboard.dts | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | /dts-v1/; | 13 | /dts-v1/; |
14 | /include/ "sun4i-a10.dtsi" | 14 | /include/ "sun4i-a10.dtsi" |
15 | /include/ "sunxi-common-regulators.dtsi" | ||
15 | 16 | ||
16 | / { | 17 | / { |
17 | model = "Cubietech Cubieboard"; | 18 | model = "Cubietech Cubieboard"; |
@@ -33,6 +34,33 @@ | |||
33 | }; | 34 | }; |
34 | }; | 35 | }; |
35 | 36 | ||
37 | usbphy: phy@01c13400 { | ||
38 | usb1_vbus-supply = <®_usb1_vbus>; | ||
39 | usb2_vbus-supply = <®_usb2_vbus>; | ||
40 | status = "okay"; | ||
41 | }; | ||
42 | |||
43 | ehci0: usb@01c14000 { | ||
44 | status = "okay"; | ||
45 | }; | ||
46 | |||
47 | ohci0: usb@01c14400 { | ||
48 | status = "okay"; | ||
49 | }; | ||
50 | |||
51 | ahci: sata@01c18000 { | ||
52 | target-supply = <®_ahci_5v>; | ||
53 | status = "okay"; | ||
54 | }; | ||
55 | |||
56 | ehci1: usb@01c1c000 { | ||
57 | status = "okay"; | ||
58 | }; | ||
59 | |||
60 | ohci1: usb@01c1c400 { | ||
61 | status = "okay"; | ||
62 | }; | ||
63 | |||
36 | pinctrl@01c20800 { | 64 | pinctrl@01c20800 { |
37 | led_pins_cubieboard: led_pins@0 { | 65 | led_pins_cubieboard: led_pins@0 { |
38 | allwinner,pins = "PH20", "PH21"; | 66 | allwinner,pins = "PH20", "PH21"; |
@@ -77,4 +105,16 @@ | |||
77 | linux,default-trigger = "heartbeat"; | 105 | linux,default-trigger = "heartbeat"; |
78 | }; | 106 | }; |
79 | }; | 107 | }; |
108 | |||
109 | reg_ahci_5v: ahci-5v { | ||
110 | status = "okay"; | ||
111 | }; | ||
112 | |||
113 | reg_usb1_vbus: usb1-vbus { | ||
114 | status = "okay"; | ||
115 | }; | ||
116 | |||
117 | reg_usb2_vbus: usb2-vbus { | ||
118 | status = "okay"; | ||
119 | }; | ||
80 | }; | 120 | }; |
diff --git a/arch/arm/boot/dts/sun4i-a10-hackberry.dts b/arch/arm/boot/dts/sun4i-a10-hackberry.dts index 6692d336335d..d7c17e46ce23 100644 --- a/arch/arm/boot/dts/sun4i-a10-hackberry.dts +++ b/arch/arm/boot/dts/sun4i-a10-hackberry.dts | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sun4i-a10.dtsi" | 15 | /include/ "sun4i-a10.dtsi" |
16 | /include/ "sunxi-common-regulators.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "Miniand Hackberry"; | 19 | model = "Miniand Hackberry"; |
@@ -35,6 +36,28 @@ | |||
35 | }; | 36 | }; |
36 | }; | 37 | }; |
37 | 38 | ||
39 | usbphy: phy@01c13400 { | ||
40 | usb1_vbus-supply = <®_usb1_vbus>; | ||
41 | usb2_vbus-supply = <®_usb2_vbus>; | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
45 | ehci0: usb@01c14000 { | ||
46 | status = "okay"; | ||
47 | }; | ||
48 | |||
49 | ohci0: usb@01c14400 { | ||
50 | status = "okay"; | ||
51 | }; | ||
52 | |||
53 | ehci1: usb@01c1c000 { | ||
54 | status = "okay"; | ||
55 | }; | ||
56 | |||
57 | ohci1: usb@01c1c400 { | ||
58 | status = "okay"; | ||
59 | }; | ||
60 | |||
38 | pio: pinctrl@01c20800 { | 61 | pio: pinctrl@01c20800 { |
39 | pinctrl-names = "default"; | 62 | pinctrl-names = "default"; |
40 | pinctrl-0 = <&hackberry_hogs>; | 63 | pinctrl-0 = <&hackberry_hogs>; |
@@ -45,6 +68,13 @@ | |||
45 | allwinner,drive = <0>; | 68 | allwinner,drive = <0>; |
46 | allwinner,pull = <0>; | 69 | allwinner,pull = <0>; |
47 | }; | 70 | }; |
71 | |||
72 | usb2_vbus_pin_hackberry: usb2_vbus_pin@0 { | ||
73 | allwinner,pins = "PH12"; | ||
74 | allwinner,function = "gpio_out"; | ||
75 | allwinner,drive = <0>; | ||
76 | allwinner,pull = <0>; | ||
77 | }; | ||
48 | }; | 78 | }; |
49 | 79 | ||
50 | uart0: serial@01c28000 { | 80 | uart0: serial@01c28000 { |
@@ -62,4 +92,14 @@ | |||
62 | enable-active-high; | 92 | enable-active-high; |
63 | gpio = <&pio 7 19 0>; | 93 | gpio = <&pio 7 19 0>; |
64 | }; | 94 | }; |
95 | |||
96 | reg_usb1_vbus: usb1-vbus { | ||
97 | status = "okay"; | ||
98 | }; | ||
99 | |||
100 | reg_usb2_vbus: usb2-vbus { | ||
101 | pinctrl-0 = <&usb2_vbus_pin_hackberry>; | ||
102 | gpio = <&pio 7 12 0>; | ||
103 | status = "okay"; | ||
104 | }; | ||
65 | }; | 105 | }; |
diff --git a/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts new file mode 100644 index 000000000000..fe9272ee55c3 --- /dev/null +++ b/arch/arm/boot/dts/sun4i-a10-inet97fv2.dts | |||
@@ -0,0 +1,69 @@ | |||
1 | /* | ||
2 | * Copyright 2014 Open Source Support GmbH | ||
3 | * | ||
4 | * David Lanzendörfer <david.lanzendoerfer@o2s.ch> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | /include/ "sun4i-a10.dtsi" | ||
16 | /include/ "sunxi-common-regulators.dtsi" | ||
17 | |||
18 | / { | ||
19 | model = "INet-97F Rev 02"; | ||
20 | compatible = "primux,inet97fv2", "allwinner,sun4i-a10"; | ||
21 | |||
22 | aliases { | ||
23 | serial0 = &uart0; | ||
24 | }; | ||
25 | |||
26 | soc@01c00000 { | ||
27 | uart0: serial@01c28000 { | ||
28 | pinctrl-names = "default"; | ||
29 | pinctrl-0 = <&uart0_pins_a>; | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | |||
33 | i2c0: i2c@01c2ac00 { | ||
34 | pinctrl-names = "default"; | ||
35 | pinctrl-0 = <&i2c0_pins_a>; | ||
36 | status = "okay"; | ||
37 | }; | ||
38 | |||
39 | usbphy: phy@01c13400 { | ||
40 | usb1_vbus-supply = <®_usb1_vbus>; | ||
41 | usb2_vbus-supply = <®_usb2_vbus>; | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
45 | ehci0: usb@01c14000 { | ||
46 | status = "okay"; | ||
47 | }; | ||
48 | |||
49 | ohci0: usb@01c14400 { | ||
50 | status = "okay"; | ||
51 | }; | ||
52 | |||
53 | ehci1: usb@01c1c000 { | ||
54 | status = "okay"; | ||
55 | }; | ||
56 | |||
57 | ohci1: usb@01c1c400 { | ||
58 | status = "okay"; | ||
59 | }; | ||
60 | }; | ||
61 | |||
62 | reg_usb1_vbus: usb1-vbus { | ||
63 | status = "okay"; | ||
64 | }; | ||
65 | |||
66 | reg_usb2_vbus: usb2-vbus { | ||
67 | status = "okay"; | ||
68 | }; | ||
69 | }; | ||
diff --git a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts index 70b3323caf1a..dd84a9e313b3 100644 --- a/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts +++ b/arch/arm/boot/dts/sun4i-a10-mini-xplus.dts | |||
@@ -13,16 +13,47 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sun4i-a10.dtsi" | 15 | /include/ "sun4i-a10.dtsi" |
16 | /include/ "sunxi-common-regulators.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "PineRiver Mini X-Plus"; | 19 | model = "PineRiver Mini X-Plus"; |
19 | compatible = "pineriver,mini-xplus", "allwinner,sun4i-a10"; | 20 | compatible = "pineriver,mini-xplus", "allwinner,sun4i-a10"; |
20 | 21 | ||
21 | soc@01c00000 { | 22 | soc@01c00000 { |
23 | usbphy: phy@01c13400 { | ||
24 | usb1_vbus-supply = <®_usb1_vbus>; | ||
25 | usb2_vbus-supply = <®_usb2_vbus>; | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | ehci0: usb@01c14000 { | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | |||
33 | ohci0: usb@01c14400 { | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | |||
37 | ehci1: usb@01c1c000 { | ||
38 | status = "okay"; | ||
39 | }; | ||
40 | |||
41 | ohci1: usb@01c1c400 { | ||
42 | status = "okay"; | ||
43 | }; | ||
44 | |||
22 | uart0: serial@01c28000 { | 45 | uart0: serial@01c28000 { |
23 | pinctrl-names = "default"; | 46 | pinctrl-names = "default"; |
24 | pinctrl-0 = <&uart0_pins_a>; | 47 | pinctrl-0 = <&uart0_pins_a>; |
25 | status = "okay"; | 48 | status = "okay"; |
26 | }; | 49 | }; |
27 | }; | 50 | }; |
51 | |||
52 | reg_usb1_vbus: usb1-vbus { | ||
53 | status = "okay"; | ||
54 | }; | ||
55 | |||
56 | reg_usb2_vbus: usb2-vbus { | ||
57 | status = "okay"; | ||
58 | }; | ||
28 | }; | 59 | }; |
diff --git a/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts new file mode 100644 index 000000000000..66cf0c7cf5b7 --- /dev/null +++ b/arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dts | |||
@@ -0,0 +1,111 @@ | |||
1 | /* | ||
2 | * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> | ||
3 | * | ||
4 | * The code contained herein is licensed under the GNU General Public | ||
5 | * License. You may obtain a copy of the GNU General Public License | ||
6 | * Version 2 or later at the following locations: | ||
7 | * | ||
8 | * http://www.opensource.org/licenses/gpl-license.html | ||
9 | * http://www.gnu.org/copyleft/gpl.html | ||
10 | */ | ||
11 | |||
12 | /dts-v1/; | ||
13 | /include/ "sun4i-a10.dtsi" | ||
14 | /include/ "sunxi-common-regulators.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Olimex A10-OLinuXino-LIME"; | ||
18 | compatible = "olimex,a10-olinuxino-lime", "allwinner,sun4i-a10"; | ||
19 | |||
20 | soc@01c00000 { | ||
21 | emac: ethernet@01c0b000 { | ||
22 | pinctrl-names = "default"; | ||
23 | pinctrl-0 = <&emac_pins_a>; | ||
24 | phy = <&phy1>; | ||
25 | status = "okay"; | ||
26 | }; | ||
27 | |||
28 | mdio@01c0b080 { | ||
29 | status = "okay"; | ||
30 | |||
31 | phy1: ethernet-phy@1 { | ||
32 | reg = <1>; | ||
33 | }; | ||
34 | }; | ||
35 | |||
36 | usbphy: phy@01c13400 { | ||
37 | usb1_vbus-supply = <®_usb1_vbus>; | ||
38 | usb2_vbus-supply = <®_usb2_vbus>; | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
42 | ehci0: usb@01c14000 { | ||
43 | status = "okay"; | ||
44 | }; | ||
45 | |||
46 | ohci0: usb@01c14400 { | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
50 | ahci: sata@01c18000 { | ||
51 | target-supply = <®_ahci_5v>; | ||
52 | status = "okay"; | ||
53 | }; | ||
54 | |||
55 | ehci1: usb@01c1c000 { | ||
56 | status = "okay"; | ||
57 | }; | ||
58 | |||
59 | ohci1: usb@01c1c400 { | ||
60 | status = "okay"; | ||
61 | }; | ||
62 | |||
63 | pinctrl@01c20800 { | ||
64 | ahci_pwr_pin_olinuxinolime: ahci_pwr_pin@1 { | ||
65 | allwinner,pins = "PC3"; | ||
66 | allwinner,function = "gpio_out"; | ||
67 | allwinner,drive = <0>; | ||
68 | allwinner,pull = <0>; | ||
69 | }; | ||
70 | |||
71 | led_pins_olinuxinolime: led_pins@0 { | ||
72 | allwinner,pins = "PH2"; | ||
73 | allwinner,function = "gpio_out"; | ||
74 | allwinner,drive = <1>; | ||
75 | allwinner,pull = <0>; | ||
76 | }; | ||
77 | }; | ||
78 | |||
79 | uart0: serial@01c28000 { | ||
80 | pinctrl-names = "default"; | ||
81 | pinctrl-0 = <&uart0_pins_a>; | ||
82 | status = "okay"; | ||
83 | }; | ||
84 | }; | ||
85 | |||
86 | leds { | ||
87 | compatible = "gpio-leds"; | ||
88 | pinctrl-names = "default"; | ||
89 | pinctrl-0 = <&led_pins_olinuxinolime>; | ||
90 | |||
91 | green { | ||
92 | label = "a10-olinuxino-lime:green:usr"; | ||
93 | gpios = <&pio 7 2 0>; | ||
94 | default-state = "on"; | ||
95 | }; | ||
96 | }; | ||
97 | |||
98 | reg_ahci_5v: ahci-5v { | ||
99 | pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>; | ||
100 | gpio = <&pio 2 3 0>; | ||
101 | status = "okay"; | ||
102 | }; | ||
103 | |||
104 | reg_usb1_vbus: usb1-vbus { | ||
105 | status = "okay"; | ||
106 | }; | ||
107 | |||
108 | reg_usb2_vbus: usb2-vbus { | ||
109 | status = "okay"; | ||
110 | }; | ||
111 | }; | ||
diff --git a/arch/arm/boot/dts/sun4i-a10-pcduino.dts b/arch/arm/boot/dts/sun4i-a10-pcduino.dts index f5692a3b80db..255b47e7019c 100644 --- a/arch/arm/boot/dts/sun4i-a10-pcduino.dts +++ b/arch/arm/boot/dts/sun4i-a10-pcduino.dts | |||
@@ -12,6 +12,7 @@ | |||
12 | 12 | ||
13 | /dts-v1/; | 13 | /dts-v1/; |
14 | /include/ "sun4i-a10.dtsi" | 14 | /include/ "sun4i-a10.dtsi" |
15 | /include/ "sunxi-common-regulators.dtsi" | ||
15 | 16 | ||
16 | / { | 17 | / { |
17 | model = "LinkSprite pcDuino"; | 18 | model = "LinkSprite pcDuino"; |
@@ -33,6 +34,28 @@ | |||
33 | }; | 34 | }; |
34 | }; | 35 | }; |
35 | 36 | ||
37 | usbphy: phy@01c13400 { | ||
38 | usb1_vbus-supply = <®_usb1_vbus>; | ||
39 | usb2_vbus-supply = <®_usb2_vbus>; | ||
40 | status = "okay"; | ||
41 | }; | ||
42 | |||
43 | ehci0: usb@01c14000 { | ||
44 | status = "okay"; | ||
45 | }; | ||
46 | |||
47 | ohci0: usb@01c14400 { | ||
48 | status = "okay"; | ||
49 | }; | ||
50 | |||
51 | ehci1: usb@01c1c000 { | ||
52 | status = "okay"; | ||
53 | }; | ||
54 | |||
55 | ohci1: usb@01c1c400 { | ||
56 | status = "okay"; | ||
57 | }; | ||
58 | |||
36 | uart0: serial@01c28000 { | 59 | uart0: serial@01c28000 { |
37 | pinctrl-names = "default"; | 60 | pinctrl-names = "default"; |
38 | pinctrl-0 = <&uart0_pins_a>; | 61 | pinctrl-0 = <&uart0_pins_a>; |
@@ -45,4 +68,12 @@ | |||
45 | status = "okay"; | 68 | status = "okay"; |
46 | }; | 69 | }; |
47 | }; | 70 | }; |
71 | |||
72 | reg_usb1_vbus: usb1-vbus { | ||
73 | status = "okay"; | ||
74 | }; | ||
75 | |||
76 | reg_usb2_vbus: usb2-vbus { | ||
77 | status = "okay"; | ||
78 | }; | ||
48 | }; | 79 | }; |
diff --git a/arch/arm/boot/dts/sun4i-a10.dtsi b/arch/arm/boot/dts/sun4i-a10.dtsi index a850482c69f1..6af23323e18c 100644 --- a/arch/arm/boot/dts/sun4i-a10.dtsi +++ b/arch/arm/boot/dts/sun4i-a10.dtsi | |||
@@ -377,6 +377,38 @@ | |||
377 | #size-cells = <0>; | 377 | #size-cells = <0>; |
378 | }; | 378 | }; |
379 | 379 | ||
380 | usbphy: phy@01c13400 { | ||
381 | #phy-cells = <1>; | ||
382 | compatible = "allwinner,sun4i-a10-usb-phy"; | ||
383 | reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; | ||
384 | reg-names = "phy_ctrl", "pmu1", "pmu2"; | ||
385 | clocks = <&usb_clk 8>; | ||
386 | clock-names = "usb_phy"; | ||
387 | resets = <&usb_clk 1>, <&usb_clk 2>; | ||
388 | reset-names = "usb1_reset", "usb2_reset"; | ||
389 | status = "disabled"; | ||
390 | }; | ||
391 | |||
392 | ehci0: usb@01c14000 { | ||
393 | compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; | ||
394 | reg = <0x01c14000 0x100>; | ||
395 | interrupts = <39>; | ||
396 | clocks = <&ahb_gates 1>; | ||
397 | phys = <&usbphy 1>; | ||
398 | phy-names = "usb"; | ||
399 | status = "disabled"; | ||
400 | }; | ||
401 | |||
402 | ohci0: usb@01c14400 { | ||
403 | compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; | ||
404 | reg = <0x01c14400 0x100>; | ||
405 | interrupts = <64>; | ||
406 | clocks = <&usb_clk 6>, <&ahb_gates 2>; | ||
407 | phys = <&usbphy 1>; | ||
408 | phy-names = "usb"; | ||
409 | status = "disabled"; | ||
410 | }; | ||
411 | |||
380 | spi2: spi@01c17000 { | 412 | spi2: spi@01c17000 { |
381 | compatible = "allwinner,sun4i-a10-spi"; | 413 | compatible = "allwinner,sun4i-a10-spi"; |
382 | reg = <0x01c17000 0x1000>; | 414 | reg = <0x01c17000 0x1000>; |
@@ -388,6 +420,34 @@ | |||
388 | #size-cells = <0>; | 420 | #size-cells = <0>; |
389 | }; | 421 | }; |
390 | 422 | ||
423 | ahci: sata@01c18000 { | ||
424 | compatible = "allwinner,sun4i-a10-ahci"; | ||
425 | reg = <0x01c18000 0x1000>; | ||
426 | interrupts = <56>; | ||
427 | clocks = <&pll6 0>, <&ahb_gates 25>; | ||
428 | status = "disabled"; | ||
429 | }; | ||
430 | |||
431 | ehci1: usb@01c1c000 { | ||
432 | compatible = "allwinner,sun4i-a10-ehci", "generic-ehci"; | ||
433 | reg = <0x01c1c000 0x100>; | ||
434 | interrupts = <40>; | ||
435 | clocks = <&ahb_gates 3>; | ||
436 | phys = <&usbphy 2>; | ||
437 | phy-names = "usb"; | ||
438 | status = "disabled"; | ||
439 | }; | ||
440 | |||
441 | ohci1: usb@01c1c400 { | ||
442 | compatible = "allwinner,sun4i-a10-ohci", "generic-ohci"; | ||
443 | reg = <0x01c1c400 0x100>; | ||
444 | interrupts = <65>; | ||
445 | clocks = <&usb_clk 7>, <&ahb_gates 4>; | ||
446 | phys = <&usbphy 2>; | ||
447 | phy-names = "usb"; | ||
448 | status = "disabled"; | ||
449 | }; | ||
450 | |||
391 | spi3: spi@01c1f000 { | 451 | spi3: spi@01c1f000 { |
392 | compatible = "allwinner,sun4i-a10-spi"; | 452 | compatible = "allwinner,sun4i-a10-spi"; |
393 | reg = <0x01c1f000 0x1000>; | 453 | reg = <0x01c1f000 0x1000>; |
@@ -479,7 +539,7 @@ | |||
479 | }; | 539 | }; |
480 | 540 | ||
481 | wdt: watchdog@01c20c90 { | 541 | wdt: watchdog@01c20c90 { |
482 | compatible = "allwinner,sun4i-wdt"; | 542 | compatible = "allwinner,sun4i-a10-wdt"; |
483 | reg = <0x01c20c90 0x10>; | 543 | reg = <0x01c20c90 0x10>; |
484 | }; | 544 | }; |
485 | 545 | ||
diff --git a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts index 3c9f8b3cd3e3..23611b71d3aa 100644 --- a/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dts | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sun5i-a10s.dtsi" | 15 | /include/ "sun5i-a10s.dtsi" |
16 | /include/ "sunxi-common-regulators.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "Olimex A10s-Olinuxino Micro"; | 19 | model = "Olimex A10s-Olinuxino Micro"; |
@@ -34,6 +35,19 @@ | |||
34 | }; | 35 | }; |
35 | }; | 36 | }; |
36 | 37 | ||
38 | usbphy: phy@01c13400 { | ||
39 | usb1_vbus-supply = <®_usb1_vbus>; | ||
40 | status = "okay"; | ||
41 | }; | ||
42 | |||
43 | ehci0: usb@01c14000 { | ||
44 | status = "okay"; | ||
45 | }; | ||
46 | |||
47 | ohci0: usb@01c14400 { | ||
48 | status = "okay"; | ||
49 | }; | ||
50 | |||
37 | pinctrl@01c20800 { | 51 | pinctrl@01c20800 { |
38 | led_pins_olinuxino: led_pins@0 { | 52 | led_pins_olinuxino: led_pins@0 { |
39 | allwinner,pins = "PE3"; | 53 | allwinner,pins = "PE3"; |
@@ -41,6 +55,13 @@ | |||
41 | allwinner,drive = <1>; | 55 | allwinner,drive = <1>; |
42 | allwinner,pull = <0>; | 56 | allwinner,pull = <0>; |
43 | }; | 57 | }; |
58 | |||
59 | usb1_vbus_pin_olinuxino_m: usb1_vbus_pin@0 { | ||
60 | allwinner,pins = "PB10"; | ||
61 | allwinner,function = "gpio_out"; | ||
62 | allwinner,drive = <0>; | ||
63 | allwinner,pull = <0>; | ||
64 | }; | ||
44 | }; | 65 | }; |
45 | 66 | ||
46 | uart0: serial@01c28000 { | 67 | uart0: serial@01c28000 { |
@@ -98,4 +119,10 @@ | |||
98 | default-state = "on"; | 119 | default-state = "on"; |
99 | }; | 120 | }; |
100 | }; | 121 | }; |
122 | |||
123 | reg_usb1_vbus: usb1-vbus { | ||
124 | pinctrl-0 = <&usb1_vbus_pin_olinuxino_m>; | ||
125 | gpio = <&pio 1 10 0>; | ||
126 | status = "okay"; | ||
127 | }; | ||
101 | }; | 128 | }; |
diff --git a/arch/arm/boot/dts/sun5i-a10s.dtsi b/arch/arm/boot/dts/sun5i-a10s.dtsi index a7198b615afd..8681f6c18fdc 100644 --- a/arch/arm/boot/dts/sun5i-a10s.dtsi +++ b/arch/arm/boot/dts/sun5i-a10s.dtsi | |||
@@ -338,6 +338,38 @@ | |||
338 | #size-cells = <0>; | 338 | #size-cells = <0>; |
339 | }; | 339 | }; |
340 | 340 | ||
341 | usbphy: phy@01c13400 { | ||
342 | #phy-cells = <1>; | ||
343 | compatible = "allwinner,sun5i-a13-usb-phy"; | ||
344 | reg = <0x01c13400 0x10 0x01c14800 0x4>; | ||
345 | reg-names = "phy_ctrl", "pmu1"; | ||
346 | clocks = <&usb_clk 8>; | ||
347 | clock-names = "usb_phy"; | ||
348 | resets = <&usb_clk 1>; | ||
349 | reset-names = "usb1_reset"; | ||
350 | status = "disabled"; | ||
351 | }; | ||
352 | |||
353 | ehci0: usb@01c14000 { | ||
354 | compatible = "allwinner,sun5i-a10s-ehci", "generic-ehci"; | ||
355 | reg = <0x01c14000 0x100>; | ||
356 | interrupts = <39>; | ||
357 | clocks = <&ahb_gates 1>; | ||
358 | phys = <&usbphy 1>; | ||
359 | phy-names = "usb"; | ||
360 | status = "disabled"; | ||
361 | }; | ||
362 | |||
363 | ohci0: usb@01c14400 { | ||
364 | compatible = "allwinner,sun5i-a10s-ohci", "generic-ohci"; | ||
365 | reg = <0x01c14400 0x100>; | ||
366 | interrupts = <40>; | ||
367 | clocks = <&usb_clk 6>, <&ahb_gates 2>; | ||
368 | phys = <&usbphy 1>; | ||
369 | phy-names = "usb"; | ||
370 | status = "disabled"; | ||
371 | }; | ||
372 | |||
341 | spi2: spi@01c17000 { | 373 | spi2: spi@01c17000 { |
342 | compatible = "allwinner,sun4i-a10-spi"; | 374 | compatible = "allwinner,sun4i-a10-spi"; |
343 | reg = <0x01c17000 0x1000>; | 375 | reg = <0x01c17000 0x1000>; |
@@ -429,7 +461,7 @@ | |||
429 | }; | 461 | }; |
430 | 462 | ||
431 | wdt: watchdog@01c20c90 { | 463 | wdt: watchdog@01c20c90 { |
432 | compatible = "allwinner,sun4i-wdt"; | 464 | compatible = "allwinner,sun4i-a10-wdt"; |
433 | reg = <0x01c20c90 0x10>; | 465 | reg = <0x01c20c90 0x10>; |
434 | }; | 466 | }; |
435 | 467 | ||
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts index fe2ce0acdb06..11169d5b5b86 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dts | |||
@@ -14,12 +14,26 @@ | |||
14 | 14 | ||
15 | /dts-v1/; | 15 | /dts-v1/; |
16 | /include/ "sun5i-a13.dtsi" | 16 | /include/ "sun5i-a13.dtsi" |
17 | /include/ "sunxi-common-regulators.dtsi" | ||
17 | 18 | ||
18 | / { | 19 | / { |
19 | model = "Olimex A13-Olinuxino Micro"; | 20 | model = "Olimex A13-Olinuxino Micro"; |
20 | compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13"; | 21 | compatible = "olimex,a13-olinuxino-micro", "allwinner,sun5i-a13"; |
21 | 22 | ||
22 | soc@01c00000 { | 23 | soc@01c00000 { |
24 | usbphy: phy@01c13400 { | ||
25 | usb1_vbus-supply = <®_usb1_vbus>; | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | ehci0: usb@01c14000 { | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | |||
33 | ohci0: usb@01c14400 { | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | |||
23 | pinctrl@01c20800 { | 37 | pinctrl@01c20800 { |
24 | led_pins_olinuxinom: led_pins@0 { | 38 | led_pins_olinuxinom: led_pins@0 { |
25 | allwinner,pins = "PG9"; | 39 | allwinner,pins = "PG9"; |
@@ -27,6 +41,13 @@ | |||
27 | allwinner,drive = <1>; | 41 | allwinner,drive = <1>; |
28 | allwinner,pull = <0>; | 42 | allwinner,pull = <0>; |
29 | }; | 43 | }; |
44 | |||
45 | usb1_vbus_pin_olinuxinom: usb1_vbus_pin@0 { | ||
46 | allwinner,pins = "PG11"; | ||
47 | allwinner,function = "gpio_out"; | ||
48 | allwinner,drive = <0>; | ||
49 | allwinner,pull = <0>; | ||
50 | }; | ||
30 | }; | 51 | }; |
31 | 52 | ||
32 | uart1: serial@01c28400 { | 53 | uart1: serial@01c28400 { |
@@ -65,4 +86,10 @@ | |||
65 | default-state = "on"; | 86 | default-state = "on"; |
66 | }; | 87 | }; |
67 | }; | 88 | }; |
89 | |||
90 | reg_usb1_vbus: usb1-vbus { | ||
91 | pinctrl-0 = <&usb1_vbus_pin_olinuxinom>; | ||
92 | gpio = <&pio 6 11 0>; | ||
93 | status = "okay"; | ||
94 | }; | ||
68 | }; | 95 | }; |
diff --git a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts index a4ba5ff010cf..7a9187bbeb28 100644 --- a/arch/arm/boot/dts/sun5i-a13-olinuxino.dts +++ b/arch/arm/boot/dts/sun5i-a13-olinuxino.dts | |||
@@ -13,12 +13,26 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sun5i-a13.dtsi" | 15 | /include/ "sun5i-a13.dtsi" |
16 | /include/ "sunxi-common-regulators.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "Olimex A13-Olinuxino"; | 19 | model = "Olimex A13-Olinuxino"; |
19 | compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13"; | 20 | compatible = "olimex,a13-olinuxino", "allwinner,sun5i-a13"; |
20 | 21 | ||
21 | soc@01c00000 { | 22 | soc@01c00000 { |
23 | usbphy: phy@01c13400 { | ||
24 | usb1_vbus-supply = <®_usb1_vbus>; | ||
25 | status = "okay"; | ||
26 | }; | ||
27 | |||
28 | ehci0: usb@01c14000 { | ||
29 | status = "okay"; | ||
30 | }; | ||
31 | |||
32 | ohci0: usb@01c14400 { | ||
33 | status = "okay"; | ||
34 | }; | ||
35 | |||
22 | pinctrl@01c20800 { | 36 | pinctrl@01c20800 { |
23 | led_pins_olinuxino: led_pins@0 { | 37 | led_pins_olinuxino: led_pins@0 { |
24 | allwinner,pins = "PG9"; | 38 | allwinner,pins = "PG9"; |
@@ -26,6 +40,13 @@ | |||
26 | allwinner,drive = <1>; | 40 | allwinner,drive = <1>; |
27 | allwinner,pull = <0>; | 41 | allwinner,pull = <0>; |
28 | }; | 42 | }; |
43 | |||
44 | usb1_vbus_pin_olinuxino: usb1_vbus_pin@0 { | ||
45 | allwinner,pins = "PG11"; | ||
46 | allwinner,function = "gpio_out"; | ||
47 | allwinner,drive = <0>; | ||
48 | allwinner,pull = <0>; | ||
49 | }; | ||
29 | }; | 50 | }; |
30 | 51 | ||
31 | uart1: serial@01c28400 { | 52 | uart1: serial@01c28400 { |
@@ -63,4 +84,10 @@ | |||
63 | default-state = "on"; | 84 | default-state = "on"; |
64 | }; | 85 | }; |
65 | }; | 86 | }; |
87 | |||
88 | reg_usb1_vbus: usb1-vbus { | ||
89 | pinctrl-0 = <&usb1_vbus_pin_olinuxino>; | ||
90 | gpio = <&pio 6 11 0>; | ||
91 | status = "okay"; | ||
92 | }; | ||
66 | }; | 93 | }; |
diff --git a/arch/arm/boot/dts/sun5i-a13.dtsi b/arch/arm/boot/dts/sun5i-a13.dtsi index cda1d4bbe2e2..7c6bb1bde9dd 100644 --- a/arch/arm/boot/dts/sun5i-a13.dtsi +++ b/arch/arm/boot/dts/sun5i-a13.dtsi | |||
@@ -320,6 +320,38 @@ | |||
320 | #size-cells = <0>; | 320 | #size-cells = <0>; |
321 | }; | 321 | }; |
322 | 322 | ||
323 | usbphy: phy@01c13400 { | ||
324 | #phy-cells = <1>; | ||
325 | compatible = "allwinner,sun5i-a13-usb-phy"; | ||
326 | reg = <0x01c13400 0x10 0x01c14800 0x4>; | ||
327 | reg-names = "phy_ctrl", "pmu1"; | ||
328 | clocks = <&usb_clk 8>; | ||
329 | clock-names = "usb_phy"; | ||
330 | resets = <&usb_clk 1>; | ||
331 | reset-names = "usb1_reset"; | ||
332 | status = "disabled"; | ||
333 | }; | ||
334 | |||
335 | ehci0: usb@01c14000 { | ||
336 | compatible = "allwinner,sun5i-a13-ehci", "generic-ehci"; | ||
337 | reg = <0x01c14000 0x100>; | ||
338 | interrupts = <39>; | ||
339 | clocks = <&ahb_gates 1>; | ||
340 | phys = <&usbphy 1>; | ||
341 | phy-names = "usb"; | ||
342 | status = "disabled"; | ||
343 | }; | ||
344 | |||
345 | ohci0: usb@01c14400 { | ||
346 | compatible = "allwinner,sun5i-a13-ohci", "generic-ohci"; | ||
347 | reg = <0x01c14400 0x100>; | ||
348 | interrupts = <40>; | ||
349 | clocks = <&usb_clk 6>, <&ahb_gates 2>; | ||
350 | phys = <&usbphy 1>; | ||
351 | phy-names = "usb"; | ||
352 | status = "disabled"; | ||
353 | }; | ||
354 | |||
323 | spi2: spi@01c17000 { | 355 | spi2: spi@01c17000 { |
324 | compatible = "allwinner,sun4i-a10-spi"; | 356 | compatible = "allwinner,sun4i-a10-spi"; |
325 | reg = <0x01c17000 0x1000>; | 357 | reg = <0x01c17000 0x1000>; |
@@ -393,7 +425,7 @@ | |||
393 | }; | 425 | }; |
394 | 426 | ||
395 | wdt: watchdog@01c20c90 { | 427 | wdt: watchdog@01c20c90 { |
396 | compatible = "allwinner,sun4i-wdt"; | 428 | compatible = "allwinner,sun4i-a10-wdt"; |
397 | reg = <0x01c20c90 0x10>; | 429 | reg = <0x01c20c90 0x10>; |
398 | }; | 430 | }; |
399 | 431 | ||
diff --git a/arch/arm/boot/dts/sun6i-a31-colombus.dts b/arch/arm/boot/dts/sun6i-a31-colombus.dts index e5adae30899b..3898a7bce831 100644 --- a/arch/arm/boot/dts/sun6i-a31-colombus.dts +++ b/arch/arm/boot/dts/sun6i-a31-colombus.dts | |||
@@ -28,5 +28,23 @@ | |||
28 | pinctrl-0 = <&uart0_pins_a>; | 28 | pinctrl-0 = <&uart0_pins_a>; |
29 | status = "okay"; | 29 | status = "okay"; |
30 | }; | 30 | }; |
31 | |||
32 | i2c0: i2c@01c2ac00 { | ||
33 | pinctrl-names = "default"; | ||
34 | pinctrl-0 = <&i2c0_pins_a>; | ||
35 | status = "fail"; | ||
36 | }; | ||
37 | |||
38 | i2c1: i2c@01c2b000 { | ||
39 | pinctrl-names = "default"; | ||
40 | pinctrl-0 = <&i2c1_pins_a>; | ||
41 | status = "okay"; | ||
42 | }; | ||
43 | |||
44 | i2c2: i2c@01c2b400 { | ||
45 | pinctrl-names = "default"; | ||
46 | pinctrl-0 = <&i2c2_pins_a>; | ||
47 | status = "okay"; | ||
48 | }; | ||
31 | }; | 49 | }; |
32 | }; | 50 | }; |
diff --git a/arch/arm/boot/dts/sun6i-a31.dtsi b/arch/arm/boot/dts/sun6i-a31.dtsi index 42f310a925c4..922864c2e1a1 100644 --- a/arch/arm/boot/dts/sun6i-a31.dtsi +++ b/arch/arm/boot/dts/sun6i-a31.dtsi | |||
@@ -257,6 +257,27 @@ | |||
257 | allwinner,drive = <0>; | 257 | allwinner,drive = <0>; |
258 | allwinner,pull = <0>; | 258 | allwinner,pull = <0>; |
259 | }; | 259 | }; |
260 | |||
261 | i2c0_pins_a: i2c0@0 { | ||
262 | allwinner,pins = "PH14", "PH15"; | ||
263 | allwinner,function = "i2c0"; | ||
264 | allwinner,drive = <0>; | ||
265 | allwinner,pull = <0>; | ||
266 | }; | ||
267 | |||
268 | i2c1_pins_a: i2c1@0 { | ||
269 | allwinner,pins = "PH16", "PH17"; | ||
270 | allwinner,function = "i2c1"; | ||
271 | allwinner,drive = <0>; | ||
272 | allwinner,pull = <0>; | ||
273 | }; | ||
274 | |||
275 | i2c2_pins_a: i2c2@0 { | ||
276 | allwinner,pins = "PH18", "PH19"; | ||
277 | allwinner,function = "i2c2"; | ||
278 | allwinner,drive = <0>; | ||
279 | allwinner,pull = <0>; | ||
280 | }; | ||
260 | }; | 281 | }; |
261 | 282 | ||
262 | ahb1_rst: reset@01c202c0 { | 283 | ahb1_rst: reset@01c202c0 { |
@@ -289,7 +310,7 @@ | |||
289 | }; | 310 | }; |
290 | 311 | ||
291 | wdt1: watchdog@01c20ca0 { | 312 | wdt1: watchdog@01c20ca0 { |
292 | compatible = "allwinner,sun6i-wdt"; | 313 | compatible = "allwinner,sun6i-a31-wdt"; |
293 | reg = <0x01c20ca0 0x20>; | 314 | reg = <0x01c20ca0 0x20>; |
294 | }; | 315 | }; |
295 | 316 | ||
@@ -359,6 +380,46 @@ | |||
359 | status = "disabled"; | 380 | status = "disabled"; |
360 | }; | 381 | }; |
361 | 382 | ||
383 | i2c0: i2c@01c2ac00 { | ||
384 | compatible = "allwinner,sun6i-a31-i2c"; | ||
385 | reg = <0x01c2ac00 0x400>; | ||
386 | interrupts = <0 6 4>; | ||
387 | clocks = <&apb2_gates 0>; | ||
388 | clock-frequency = <100000>; | ||
389 | resets = <&apb2_rst 0>; | ||
390 | status = "disabled"; | ||
391 | }; | ||
392 | |||
393 | i2c1: i2c@01c2b000 { | ||
394 | compatible = "allwinner,sun6i-a31-i2c"; | ||
395 | reg = <0x01c2b000 0x400>; | ||
396 | interrupts = <0 7 4>; | ||
397 | clocks = <&apb2_gates 1>; | ||
398 | clock-frequency = <100000>; | ||
399 | resets = <&apb2_rst 1>; | ||
400 | status = "disabled"; | ||
401 | }; | ||
402 | |||
403 | i2c2: i2c@01c2b400 { | ||
404 | compatible = "allwinner,sun6i-a31-i2c"; | ||
405 | reg = <0x01c2b400 0x400>; | ||
406 | interrupts = <0 8 4>; | ||
407 | clocks = <&apb2_gates 2>; | ||
408 | clock-frequency = <100000>; | ||
409 | resets = <&apb2_rst 2>; | ||
410 | status = "disabled"; | ||
411 | }; | ||
412 | |||
413 | i2c3: i2c@01c2b800 { | ||
414 | compatible = "allwinner,sun6i-a31-i2c"; | ||
415 | reg = <0x01c2b800 0x400>; | ||
416 | interrupts = <0 9 4>; | ||
417 | clocks = <&apb2_gates 3>; | ||
418 | clock-frequency = <100000>; | ||
419 | resets = <&apb2_rst 3>; | ||
420 | status = "disabled"; | ||
421 | }; | ||
422 | |||
362 | spi0: spi@01c68000 { | 423 | spi0: spi@01c68000 { |
363 | compatible = "allwinner,sun6i-a31-spi"; | 424 | compatible = "allwinner,sun6i-a31-spi"; |
364 | reg = <0x01c68000 0x1000>; | 425 | reg = <0x01c68000 0x1000>; |
diff --git a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts index 7bf4935a58a9..68de89ffbdfa 100644 --- a/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts +++ b/arch/arm/boot/dts/sun7i-a20-cubieboard2.dts | |||
@@ -13,12 +13,40 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sun7i-a20.dtsi" | 15 | /include/ "sun7i-a20.dtsi" |
16 | /include/ "sunxi-common-regulators.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "Cubietech Cubieboard2"; | 19 | model = "Cubietech Cubieboard2"; |
19 | compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20"; | 20 | compatible = "cubietech,cubieboard2", "allwinner,sun7i-a20"; |
20 | 21 | ||
21 | soc@01c00000 { | 22 | soc@01c00000 { |
23 | usbphy: phy@01c13400 { | ||
24 | usb1_vbus-supply = <®_usb1_vbus>; | ||
25 | usb2_vbus-supply = <®_usb2_vbus>; | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | ehci0: usb@01c14000 { | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | |||
33 | ohci0: usb@01c14400 { | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | |||
37 | ahci: sata@01c18000 { | ||
38 | target-supply = <®_ahci_5v>; | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
42 | ehci1: usb@01c1c000 { | ||
43 | status = "okay"; | ||
44 | }; | ||
45 | |||
46 | ohci1: usb@01c1c400 { | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
22 | pinctrl@01c20800 { | 50 | pinctrl@01c20800 { |
23 | led_pins_cubieboard2: led_pins@0 { | 51 | led_pins_cubieboard2: led_pins@0 { |
24 | allwinner,pins = "PH20", "PH21"; | 52 | allwinner,pins = "PH20", "PH21"; |
@@ -74,4 +102,16 @@ | |||
74 | gpios = <&pio 7 20 0>; | 102 | gpios = <&pio 7 20 0>; |
75 | }; | 103 | }; |
76 | }; | 104 | }; |
105 | |||
106 | reg_ahci_5v: ahci-5v { | ||
107 | status = "okay"; | ||
108 | }; | ||
109 | |||
110 | reg_usb1_vbus: usb1-vbus { | ||
111 | status = "okay"; | ||
112 | }; | ||
113 | |||
114 | reg_usb2_vbus: usb2-vbus { | ||
115 | status = "okay"; | ||
116 | }; | ||
77 | }; | 117 | }; |
diff --git a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts index 025ce5234692..cb25d3c8da58 100644 --- a/arch/arm/boot/dts/sun7i-a20-cubietruck.dts +++ b/arch/arm/boot/dts/sun7i-a20-cubietruck.dts | |||
@@ -13,13 +13,48 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sun7i-a20.dtsi" | 15 | /include/ "sun7i-a20.dtsi" |
16 | /include/ "sunxi-common-regulators.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "Cubietech Cubietruck"; | 19 | model = "Cubietech Cubietruck"; |
19 | compatible = "cubietech,cubietruck", "allwinner,sun7i-a20"; | 20 | compatible = "cubietech,cubietruck", "allwinner,sun7i-a20"; |
20 | 21 | ||
21 | soc@01c00000 { | 22 | soc@01c00000 { |
23 | usbphy: phy@01c13400 { | ||
24 | usb1_vbus-supply = <®_usb1_vbus>; | ||
25 | usb2_vbus-supply = <®_usb2_vbus>; | ||
26 | status = "okay"; | ||
27 | }; | ||
28 | |||
29 | ehci0: usb@01c14000 { | ||
30 | status = "okay"; | ||
31 | }; | ||
32 | |||
33 | ohci0: usb@01c14400 { | ||
34 | status = "okay"; | ||
35 | }; | ||
36 | |||
37 | ahci: sata@01c18000 { | ||
38 | target-supply = <®_ahci_5v>; | ||
39 | status = "okay"; | ||
40 | }; | ||
41 | |||
42 | ehci1: usb@01c1c000 { | ||
43 | status = "okay"; | ||
44 | }; | ||
45 | |||
46 | ohci1: usb@01c1c400 { | ||
47 | status = "okay"; | ||
48 | }; | ||
49 | |||
22 | pinctrl@01c20800 { | 50 | pinctrl@01c20800 { |
51 | ahci_pwr_pin_cubietruck: ahci_pwr_pin@1 { | ||
52 | allwinner,pins = "PH12"; | ||
53 | allwinner,function = "gpio_out"; | ||
54 | allwinner,drive = <0>; | ||
55 | allwinner,pull = <0>; | ||
56 | }; | ||
57 | |||
23 | led_pins_cubietruck: led_pins@0 { | 58 | led_pins_cubietruck: led_pins@0 { |
24 | allwinner,pins = "PH7", "PH11", "PH20", "PH21"; | 59 | allwinner,pins = "PH7", "PH11", "PH20", "PH21"; |
25 | allwinner,function = "gpio_out"; | 60 | allwinner,function = "gpio_out"; |
@@ -90,4 +125,18 @@ | |||
90 | gpios = <&pio 7 7 0>; | 125 | gpios = <&pio 7 7 0>; |
91 | }; | 126 | }; |
92 | }; | 127 | }; |
128 | |||
129 | reg_ahci_5v: ahci-5v { | ||
130 | pinctrl-0 = <&ahci_pwr_pin_cubietruck>; | ||
131 | gpio = <&pio 7 12 0>; | ||
132 | status = "okay"; | ||
133 | }; | ||
134 | |||
135 | reg_usb1_vbus: usb1-vbus { | ||
136 | status = "okay"; | ||
137 | }; | ||
138 | |||
139 | reg_usb2_vbus: usb2-vbus { | ||
140 | status = "okay"; | ||
141 | }; | ||
93 | }; | 142 | }; |
diff --git a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts index 9d98316c9928..eeadf76362fa 100644 --- a/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts +++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-micro.dts | |||
@@ -13,6 +13,7 @@ | |||
13 | 13 | ||
14 | /dts-v1/; | 14 | /dts-v1/; |
15 | /include/ "sun7i-a20.dtsi" | 15 | /include/ "sun7i-a20.dtsi" |
16 | /include/ "sunxi-common-regulators.dtsi" | ||
16 | 17 | ||
17 | / { | 18 | / { |
18 | model = "Olimex A20-Olinuxino Micro"; | 19 | model = "Olimex A20-Olinuxino Micro"; |
@@ -30,12 +31,39 @@ | |||
30 | status = "okay"; | 31 | status = "okay"; |
31 | }; | 32 | }; |
32 | 33 | ||
34 | usbphy: phy@01c13400 { | ||
35 | usb1_vbus-supply = <®_usb1_vbus>; | ||
36 | usb2_vbus-supply = <®_usb2_vbus>; | ||
37 | status = "okay"; | ||
38 | }; | ||
39 | |||
40 | ehci0: usb@01c14000 { | ||
41 | status = "okay"; | ||
42 | }; | ||
43 | |||
44 | ohci0: usb@01c14400 { | ||
45 | status = "okay"; | ||
46 | }; | ||
47 | |||
33 | spi2: spi@01c17000 { | 48 | spi2: spi@01c17000 { |
34 | pinctrl-names = "default"; | 49 | pinctrl-names = "default"; |
35 | pinctrl-0 = <&spi2_pins_a>; | 50 | pinctrl-0 = <&spi2_pins_a>; |
36 | status = "okay"; | 51 | status = "okay"; |
37 | }; | 52 | }; |
38 | 53 | ||
54 | ahci: sata@01c18000 { | ||
55 | target-supply = <®_ahci_5v>; | ||
56 | status = "okay"; | ||
57 | }; | ||
58 | |||
59 | ehci1: usb@01c1c000 { | ||
60 | status = "okay"; | ||
61 | }; | ||
62 | |||
63 | ohci1: usb@01c1c400 { | ||
64 | status = "okay"; | ||
65 | }; | ||
66 | |||
39 | pinctrl@01c20800 { | 67 | pinctrl@01c20800 { |
40 | led_pins_olinuxino: led_pins@0 { | 68 | led_pins_olinuxino: led_pins@0 { |
41 | allwinner,pins = "PH2"; | 69 | allwinner,pins = "PH2"; |
@@ -105,4 +133,16 @@ | |||
105 | default-state = "on"; | 133 | default-state = "on"; |
106 | }; | 134 | }; |
107 | }; | 135 | }; |
136 | |||
137 | reg_ahci_5v: ahci-5v { | ||
138 | status = "okay"; | ||
139 | }; | ||
140 | |||
141 | reg_usb1_vbus: usb1-vbus { | ||
142 | status = "okay"; | ||
143 | }; | ||
144 | |||
145 | reg_usb2_vbus: usb2-vbus { | ||
146 | status = "okay"; | ||
147 | }; | ||
108 | }; | 148 | }; |
diff --git a/arch/arm/boot/dts/sun7i-a20.dtsi b/arch/arm/boot/dts/sun7i-a20.dtsi index 52507e4e3a91..dadb3812342f 100644 --- a/arch/arm/boot/dts/sun7i-a20.dtsi +++ b/arch/arm/boot/dts/sun7i-a20.dtsi | |||
@@ -439,6 +439,38 @@ | |||
439 | #size-cells = <0>; | 439 | #size-cells = <0>; |
440 | }; | 440 | }; |
441 | 441 | ||
442 | usbphy: phy@01c13400 { | ||
443 | #phy-cells = <1>; | ||
444 | compatible = "allwinner,sun7i-a20-usb-phy"; | ||
445 | reg = <0x01c13400 0x10 0x01c14800 0x4 0x01c1c800 0x4>; | ||
446 | reg-names = "phy_ctrl", "pmu1", "pmu2"; | ||
447 | clocks = <&usb_clk 8>; | ||
448 | clock-names = "usb_phy"; | ||
449 | resets = <&usb_clk 1>, <&usb_clk 2>; | ||
450 | reset-names = "usb1_reset", "usb2_reset"; | ||
451 | status = "disabled"; | ||
452 | }; | ||
453 | |||
454 | ehci0: usb@01c14000 { | ||
455 | compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; | ||
456 | reg = <0x01c14000 0x100>; | ||
457 | interrupts = <0 39 4>; | ||
458 | clocks = <&ahb_gates 1>; | ||
459 | phys = <&usbphy 1>; | ||
460 | phy-names = "usb"; | ||
461 | status = "disabled"; | ||
462 | }; | ||
463 | |||
464 | ohci0: usb@01c14400 { | ||
465 | compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; | ||
466 | reg = <0x01c14400 0x100>; | ||
467 | interrupts = <0 64 4>; | ||
468 | clocks = <&usb_clk 6>, <&ahb_gates 2>; | ||
469 | phys = <&usbphy 1>; | ||
470 | phy-names = "usb"; | ||
471 | status = "disabled"; | ||
472 | }; | ||
473 | |||
442 | spi2: spi@01c17000 { | 474 | spi2: spi@01c17000 { |
443 | compatible = "allwinner,sun4i-a10-spi"; | 475 | compatible = "allwinner,sun4i-a10-spi"; |
444 | reg = <0x01c17000 0x1000>; | 476 | reg = <0x01c17000 0x1000>; |
@@ -450,6 +482,34 @@ | |||
450 | #size-cells = <0>; | 482 | #size-cells = <0>; |
451 | }; | 483 | }; |
452 | 484 | ||
485 | ahci: sata@01c18000 { | ||
486 | compatible = "allwinner,sun4i-a10-ahci"; | ||
487 | reg = <0x01c18000 0x1000>; | ||
488 | interrupts = <0 56 4>; | ||
489 | clocks = <&pll6 0>, <&ahb_gates 25>; | ||
490 | status = "disabled"; | ||
491 | }; | ||
492 | |||
493 | ehci1: usb@01c1c000 { | ||
494 | compatible = "allwinner,sun7i-a20-ehci", "generic-ehci"; | ||
495 | reg = <0x01c1c000 0x100>; | ||
496 | interrupts = <0 40 4>; | ||
497 | clocks = <&ahb_gates 3>; | ||
498 | phys = <&usbphy 2>; | ||
499 | phy-names = "usb"; | ||
500 | status = "disabled"; | ||
501 | }; | ||
502 | |||
503 | ohci1: usb@01c1c400 { | ||
504 | compatible = "allwinner,sun7i-a20-ohci", "generic-ohci"; | ||
505 | reg = <0x01c1c400 0x100>; | ||
506 | interrupts = <0 65 4>; | ||
507 | clocks = <&usb_clk 7>, <&ahb_gates 4>; | ||
508 | phys = <&usbphy 2>; | ||
509 | phy-names = "usb"; | ||
510 | status = "disabled"; | ||
511 | }; | ||
512 | |||
453 | spi3: spi@01c1f000 { | 513 | spi3: spi@01c1f000 { |
454 | compatible = "allwinner,sun4i-a10-spi"; | 514 | compatible = "allwinner,sun4i-a10-spi"; |
455 | reg = <0x01c1f000 0x1000>; | 515 | reg = <0x01c1f000 0x1000>; |
@@ -600,7 +660,7 @@ | |||
600 | }; | 660 | }; |
601 | 661 | ||
602 | wdt: watchdog@01c20c90 { | 662 | wdt: watchdog@01c20c90 { |
603 | compatible = "allwinner,sun4i-wdt"; | 663 | compatible = "allwinner,sun4i-a10-wdt"; |
604 | reg = <0x01c20c90 0x10>; | 664 | reg = <0x01c20c90 0x10>; |
605 | }; | 665 | }; |
606 | 666 | ||
diff --git a/arch/arm/boot/dts/sunxi-common-regulators.dtsi b/arch/arm/boot/dts/sunxi-common-regulators.dtsi new file mode 100644 index 000000000000..18eeac0670b9 --- /dev/null +++ b/arch/arm/boot/dts/sunxi-common-regulators.dtsi | |||
@@ -0,0 +1,75 @@ | |||
1 | /* | ||
2 | * sunxi boards common regulator (ahci target power supply, usb-vbus) code | ||
3 | * | ||
4 | * Copyright 2014 - Hans de Goede <hdegoede@redhat.com> | ||
5 | * | ||
6 | * The code contained herein is licensed under the GNU General Public | ||
7 | * License. You may obtain a copy of the GNU General Public License | ||
8 | * Version 2 or later at the following locations: | ||
9 | * | ||
10 | * http://www.opensource.org/licenses/gpl-license.html | ||
11 | * http://www.gnu.org/copyleft/gpl.html | ||
12 | */ | ||
13 | |||
14 | / { | ||
15 | soc@01c00000 { | ||
16 | pio: pinctrl@01c20800 { | ||
17 | ahci_pwr_pin_a: ahci_pwr_pin@0 { | ||
18 | allwinner,pins = "PB8"; | ||
19 | allwinner,function = "gpio_out"; | ||
20 | allwinner,drive = <0>; | ||
21 | allwinner,pull = <0>; | ||
22 | }; | ||
23 | |||
24 | usb1_vbus_pin_a: usb1_vbus_pin@0 { | ||
25 | allwinner,pins = "PH6"; | ||
26 | allwinner,function = "gpio_out"; | ||
27 | allwinner,drive = <0>; | ||
28 | allwinner,pull = <0>; | ||
29 | }; | ||
30 | |||
31 | usb2_vbus_pin_a: usb2_vbus_pin@0 { | ||
32 | allwinner,pins = "PH3"; | ||
33 | allwinner,function = "gpio_out"; | ||
34 | allwinner,drive = <0>; | ||
35 | allwinner,pull = <0>; | ||
36 | }; | ||
37 | }; | ||
38 | }; | ||
39 | |||
40 | reg_ahci_5v: ahci-5v { | ||
41 | compatible = "regulator-fixed"; | ||
42 | pinctrl-names = "default"; | ||
43 | pinctrl-0 = <&ahci_pwr_pin_a>; | ||
44 | regulator-name = "ahci-5v"; | ||
45 | regulator-min-microvolt = <5000000>; | ||
46 | regulator-max-microvolt = <5000000>; | ||
47 | enable-active-high; | ||
48 | gpio = <&pio 1 8 0>; | ||
49 | status = "disabled"; | ||
50 | }; | ||
51 | |||
52 | reg_usb1_vbus: usb1-vbus { | ||
53 | compatible = "regulator-fixed"; | ||
54 | pinctrl-names = "default"; | ||
55 | pinctrl-0 = <&usb1_vbus_pin_a>; | ||
56 | regulator-name = "usb1-vbus"; | ||
57 | regulator-min-microvolt = <5000000>; | ||
58 | regulator-max-microvolt = <5000000>; | ||
59 | enable-active-high; | ||
60 | gpio = <&pio 7 6 0>; | ||
61 | status = "disabled"; | ||
62 | }; | ||
63 | |||
64 | reg_usb2_vbus: usb2-vbus { | ||
65 | compatible = "regulator-fixed"; | ||
66 | pinctrl-names = "default"; | ||
67 | pinctrl-0 = <&usb2_vbus_pin_a>; | ||
68 | regulator-name = "usb2-vbus"; | ||
69 | regulator-min-microvolt = <5000000>; | ||
70 | regulator-max-microvolt = <5000000>; | ||
71 | enable-active-high; | ||
72 | gpio = <&pio 7 3 0>; | ||
73 | status = "disabled"; | ||
74 | }; | ||
75 | }; | ||