aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2013-08-23 15:09:38 -0400
committerOlof Johansson <olof@lixom.net>2013-09-03 13:20:04 -0400
commitef8932b94a441a189aaca15ef1b86d9e46b3f933 (patch)
tree4a3e01691ef5d5cc6545bddd168985b8109f4335
parenta52552b517a9731a17228200acc17948cfb9305e (diff)
parent23ad6f65748cd7fbaf03c1d36211bc1cbdf4ed45 (diff)
Merge tag 'mxs-dt-3.12' of git://git.linaro.org/people/shawnguo/linux-2.6 into next/dt
From Shawn Guo: It contains mxs device tree changes for 3.12. - New board addition and hogpins cleanup for Crystalfontz - New pinctrl entry addition for lcd, ssp2 and saif0 - Add alias and labels for various nodes - Enable devices like LRADC and USB for a couple of imx23 boards, and backlight for M28EVK * tag 'mxs-dt-3.12' of git://git.linaro.org/people/shawnguo/linux-2.6: ARM: dts: mxs: add pin config for LCD sync and clock pins ARM: dts: mxs: add pin config for SSP3 interface ARM: dts: mxs: add another set of saif0_pins (without MCLK) ARM: dts: mxs: add labels to most nodes for easier reference ARM: dts: mxs: whitespace cleanup ARM: dts: mxs: Add spi alias ARM: dts: imx23-olinuxino: enable Low Resolution ADC ARM: dts: imx23-evk: enable Low Resolution ADC ARM: dts: imx23-evk: enable USB PHY and controller ARM: dts: mxs: remove old DMA binding data from client nodes ARM: mxs: Add backlight support for M28EVK ARM: mxs: dt: cfa10036: make hogpins grabbed by respective drivers ARM: mxs: dt: cfa10057: remove hogpins ARM: mxs: dt: cfa10055: make hogpins grabbed by respective drivers ARM: mxs: dt: cfa10049: make hogpins grabbed by respective drivers ARM: mxs: dt: cfa10037: make hogpins grabbed by respective drivers ARM: mxs: dt: Add Crystalfontz CFA-10058 device tree ARM: mxs: dt: Add Crystalfontz CFA-10056 device tree
-rw-r--r--arch/arm/boot/dts/Makefile2
-rw-r--r--arch/arm/boot/dts/imx23-evk.dts15
-rw-r--r--arch/arm/boot/dts/imx23-olinuxino.dts4
-rw-r--r--arch/arm/boot/dts/imx23.dtsi17
-rw-r--r--arch/arm/boot/dts/imx28-cfa10036.dts7
-rw-r--r--arch/arm/boot/dts/imx28-cfa10037.dts19
-rw-r--r--arch/arm/boot/dts/imx28-cfa10049.dts73
-rw-r--r--arch/arm/boot/dts/imx28-cfa10055.dts38
-rw-r--r--arch/arm/boot/dts/imx28-cfa10056.dts119
-rw-r--r--arch/arm/boot/dts/imx28-cfa10057.dts23
-rw-r--r--arch/arm/boot/dts/imx28-cfa10058.dts141
-rw-r--r--arch/arm/boot/dts/imx28-m28evk.dts13
-rw-r--r--arch/arm/boot/dts/imx28.dtsi143
13 files changed, 485 insertions, 129 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 34d317ecff18..a4916875b00b 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -144,7 +144,9 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
144 imx28-cfa10037.dtb \ 144 imx28-cfa10037.dtb \
145 imx28-cfa10049.dtb \ 145 imx28-cfa10049.dtb \
146 imx28-cfa10055.dtb \ 146 imx28-cfa10055.dtb \
147 imx28-cfa10056.dtb \
147 imx28-cfa10057.dtb \ 148 imx28-cfa10057.dtb \
149 imx28-cfa10058.dtb \
148 imx28-evk.dtb \ 150 imx28-evk.dtb \
149 imx28-m28evk.dtb \ 151 imx28-m28evk.dtb \
150 imx28-sps1.dtb \ 152 imx28-sps1.dtb \
diff --git a/arch/arm/boot/dts/imx23-evk.dts b/arch/arm/boot/dts/imx23-evk.dts
index da0588a04131..185c7c01102a 100644
--- a/arch/arm/boot/dts/imx23-evk.dts
+++ b/arch/arm/boot/dts/imx23-evk.dts
@@ -90,6 +90,11 @@
90 }; 90 };
91 91
92 apbx@80040000 { 92 apbx@80040000 {
93 lradc@80050000 {
94 status = "okay";
95 fsl,lradc-touchscreen-wires = <4>;
96 };
97
93 pwm: pwm@80064000 { 98 pwm: pwm@80064000 {
94 pinctrl-names = "default"; 99 pinctrl-names = "default";
95 pinctrl-0 = <&pwm2_pins_a>; 100 pinctrl-0 = <&pwm2_pins_a>;
@@ -107,6 +112,16 @@
107 pinctrl-0 = <&duart_pins_a>; 112 pinctrl-0 = <&duart_pins_a>;
108 status = "okay"; 113 status = "okay";
109 }; 114 };
115
116 usbphy0: usbphy@8007c000 {
117 status = "okay";
118 };
119 };
120 };
121
122 ahb@80080000 {
123 usb0: usb@80080000 {
124 status = "okay";
110 }; 125 };
111 }; 126 };
112 127
diff --git a/arch/arm/boot/dts/imx23-olinuxino.dts b/arch/arm/boot/dts/imx23-olinuxino.dts
index d107c4af321f..fc766ae12e24 100644
--- a/arch/arm/boot/dts/imx23-olinuxino.dts
+++ b/arch/arm/boot/dts/imx23-olinuxino.dts
@@ -69,6 +69,10 @@
69 }; 69 };
70 70
71 apbx@80040000 { 71 apbx@80040000 {
72 lradc@80050000 {
73 status = "okay";
74 };
75
72 duart: serial@80070000 { 76 duart: serial@80070000 {
73 pinctrl-names = "default"; 77 pinctrl-names = "default";
74 pinctrl-0 = <&duart_pins_a>; 78 pinctrl-0 = <&duart_pins_a>;
diff --git a/arch/arm/boot/dts/imx23.dtsi b/arch/arm/boot/dts/imx23.dtsi
index 587ceef81e45..28b5ce289662 100644
--- a/arch/arm/boot/dts/imx23.dtsi
+++ b/arch/arm/boot/dts/imx23.dtsi
@@ -20,6 +20,8 @@
20 gpio2 = &gpio2; 20 gpio2 = &gpio2;
21 serial0 = &auart0; 21 serial0 = &auart0;
22 serial1 = &auart1; 22 serial1 = &auart1;
23 spi0 = &ssp0;
24 spi1 = &ssp1;
23 }; 25 };
24 26
25 cpus { 27 cpus {
@@ -76,23 +78,21 @@
76 #size-cells = <1>; 78 #size-cells = <1>;
77 reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>; 79 reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
78 reg-names = "gpmi-nand", "bch"; 80 reg-names = "gpmi-nand", "bch";
79 interrupts = <13>, <56>; 81 interrupts = <56>;
80 interrupt-names = "gpmi-dma", "bch"; 82 interrupt-names = "bch";
81 clocks = <&clks 34>; 83 clocks = <&clks 34>;
82 clock-names = "gpmi_io"; 84 clock-names = "gpmi_io";
83 dmas = <&dma_apbh 4>; 85 dmas = <&dma_apbh 4>;
84 dma-names = "rx-tx"; 86 dma-names = "rx-tx";
85 fsl,gpmi-dma-channel = <4>;
86 status = "disabled"; 87 status = "disabled";
87 }; 88 };
88 89
89 ssp0: ssp@80010000 { 90 ssp0: ssp@80010000 {
90 reg = <0x80010000 0x2000>; 91 reg = <0x80010000 0x2000>;
91 interrupts = <15 14>; 92 interrupts = <15>;
92 clocks = <&clks 33>; 93 clocks = <&clks 33>;
93 dmas = <&dma_apbh 1>; 94 dmas = <&dma_apbh 1>;
94 dma-names = "rx-tx"; 95 dma-names = "rx-tx";
95 fsl,ssp-dma-channel = <1>;
96 status = "disabled"; 96 status = "disabled";
97 }; 97 };
98 98
@@ -366,11 +366,10 @@
366 366
367 ssp1: ssp@80034000 { 367 ssp1: ssp@80034000 {
368 reg = <0x80034000 0x2000>; 368 reg = <0x80034000 0x2000>;
369 interrupts = <2 20>; 369 interrupts = <2>;
370 clocks = <&clks 33>; 370 clocks = <&clks 33>;
371 dmas = <&dma_apbh 2>; 371 dmas = <&dma_apbh 2>;
372 dma-names = "rx-tx"; 372 dma-names = "rx-tx";
373 fsl,ssp-dma-channel = <2>;
374 status = "disabled"; 373 status = "disabled";
375 }; 374 };
376 375
@@ -472,7 +471,7 @@
472 auart0: serial@8006c000 { 471 auart0: serial@8006c000 {
473 compatible = "fsl,imx23-auart"; 472 compatible = "fsl,imx23-auart";
474 reg = <0x8006c000 0x2000>; 473 reg = <0x8006c000 0x2000>;
475 interrupts = <24 25 23>; 474 interrupts = <24>;
476 clocks = <&clks 32>; 475 clocks = <&clks 32>;
477 dmas = <&dma_apbx 6>, <&dma_apbx 7>; 476 dmas = <&dma_apbx 6>, <&dma_apbx 7>;
478 dma-names = "rx", "tx"; 477 dma-names = "rx", "tx";
@@ -482,7 +481,7 @@
482 auart1: serial@8006e000 { 481 auart1: serial@8006e000 {
483 compatible = "fsl,imx23-auart"; 482 compatible = "fsl,imx23-auart";
484 reg = <0x8006e000 0x2000>; 483 reg = <0x8006e000 0x2000>;
485 interrupts = <59 60 58>; 484 interrupts = <59>;
486 clocks = <&clks 32>; 485 clocks = <&clks 32>;
487 dmas = <&dma_apbx 8>, <&dma_apbx 9>; 486 dmas = <&dma_apbx 8>, <&dma_apbx 9>;
488 dma-names = "rx", "tx"; 487 dma-names = "rx", "tx";
diff --git a/arch/arm/boot/dts/imx28-cfa10036.dts b/arch/arm/boot/dts/imx28-cfa10036.dts
index 94c4476972c3..1ec8c94bbac9 100644
--- a/arch/arm/boot/dts/imx28-cfa10036.dts
+++ b/arch/arm/boot/dts/imx28-cfa10036.dts
@@ -23,10 +23,7 @@
23 apb@80000000 { 23 apb@80000000 {
24 apbh@80000000 { 24 apbh@80000000 {
25 pinctrl@80018000 { 25 pinctrl@80018000 {
26 pinctrl-names = "default"; 26 ssd1306_cfa10036: ssd1306-10036@0 {
27 pinctrl-0 = <&hog_pins_cfa10036>;
28
29 hog_pins_cfa10036: hog-10036@0 {
30 reg = <0>; 27 reg = <0>;
31 fsl,pinmux-ids = < 28 fsl,pinmux-ids = <
32 0x2073 /* MX28_PAD_SSP0_D7__GPIO_2_7 */ 29 0x2073 /* MX28_PAD_SSP0_D7__GPIO_2_7 */
@@ -83,6 +80,8 @@
83 80
84 ssd1306: oled@3c { 81 ssd1306: oled@3c {
85 compatible = "solomon,ssd1306fb-i2c"; 82 compatible = "solomon,ssd1306fb-i2c";
83 pinctrl-names = "default";
84 pinctrl-0 = <&ssd1306_cfa10036>;
86 reg = <0x3c>; 85 reg = <0x3c>;
87 reset-gpios = <&gpio2 7 0>; 86 reset-gpios = <&gpio2 7 0>;
88 solomon,height = <32>; 87 solomon,height = <32>;
diff --git a/arch/arm/boot/dts/imx28-cfa10037.dts b/arch/arm/boot/dts/imx28-cfa10037.dts
index c2ef3a3d655e..182b99fe35f3 100644
--- a/arch/arm/boot/dts/imx28-cfa10037.dts
+++ b/arch/arm/boot/dts/imx28-cfa10037.dts
@@ -22,13 +22,19 @@
22 apb@80000000 { 22 apb@80000000 {
23 apbh@80000000 { 23 apbh@80000000 {
24 pinctrl@80018000 { 24 pinctrl@80018000 {
25 pinctrl-names = "default", "default"; 25 usb_pins_cfa10037: usb-10037@0 {
26 pinctrl-1 = <&hog_pins_cfa10037>;
27
28 hog_pins_cfa10037: hog-10037@0 {
29 reg = <0>; 26 reg = <0>;
30 fsl,pinmux-ids = < 27 fsl,pinmux-ids = <
31 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */ 28 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
29 >;
30 fsl,drive-strength = <0>;
31 fsl,voltage = <1>;
32 fsl,pull-up = <0>;
33 };
34
35 mac0_pins_cfa10037: mac0-10037@0 {
36 reg = <0>;
37 fsl,pinmux-ids = <
32 0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */ 38 0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */
33 >; 39 >;
34 fsl,drive-strength = <0>; 40 fsl,drive-strength = <0>;
@@ -56,7 +62,8 @@
56 mac0: ethernet@800f0000 { 62 mac0: ethernet@800f0000 {
57 phy-mode = "rmii"; 63 phy-mode = "rmii";
58 pinctrl-names = "default"; 64 pinctrl-names = "default";
59 pinctrl-0 = <&mac0_pins_a>; 65 pinctrl-0 = <&mac0_pins_a
66 &mac0_pins_cfa10037>;
60 phy-reset-gpios = <&gpio2 21 0>; 67 phy-reset-gpios = <&gpio2 21 0>;
61 phy-reset-duration = <100>; 68 phy-reset-duration = <100>;
62 status = "okay"; 69 status = "okay";
@@ -68,6 +75,8 @@
68 75
69 reg_usb1_vbus: usb1_vbus { 76 reg_usb1_vbus: usb1_vbus {
70 compatible = "regulator-fixed"; 77 compatible = "regulator-fixed";
78 pinctrl-names = "default";
79 pinctrl-0 = <&usb_pins_cfa10037>;
71 regulator-name = "usb1_vbus"; 80 regulator-name = "usb1_vbus";
72 regulator-min-microvolt = <5000000>; 81 regulator-min-microvolt = <5000000>;
73 regulator-max-microvolt = <5000000>; 82 regulator-max-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/imx28-cfa10049.dts b/arch/arm/boot/dts/imx28-cfa10049.dts
index 04b2f769ffbd..06e4cfaf7dd2 100644
--- a/arch/arm/boot/dts/imx28-cfa10049.dts
+++ b/arch/arm/boot/dts/imx28-cfa10049.dts
@@ -22,32 +22,62 @@
22 apb@80000000 { 22 apb@80000000 {
23 apbh@80000000 { 23 apbh@80000000 {
24 pinctrl@80018000 { 24 pinctrl@80018000 {
25 pinctrl-names = "default", "default"; 25 usb_pins_cfa10049: usb-10049@0 {
26 pinctrl-1 = <&hog_pins_cfa10049
27 &hog_pins_cfa10049_pullup>;
28
29 hog_pins_cfa10049: hog-10049@0 {
30 reg = <0>; 26 reg = <0>;
31 fsl,pinmux-ids = < 27 fsl,pinmux-ids = <
32 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */ 28 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
29 >;
30 fsl,drive-strength = <0>;
31 fsl,voltage = <1>;
32 fsl,pull-up = <0>;
33 };
34
35 i2cmux_pins_cfa10049: i2cmux-10049@0 {
36 reg = <0>;
37 fsl,pinmux-ids = <
33 0x1163 /* MX28_PAD_LCD_D22__GPIO_1_22 */ 38 0x1163 /* MX28_PAD_LCD_D22__GPIO_1_22 */
34 0x1173 /* MX28_PAD_LCD_D22__GPIO_1_23 */ 39 0x1173 /* MX28_PAD_LCD_D22__GPIO_1_23 */
40 >;
41 fsl,drive-strength = <0>;
42 fsl,voltage = <1>;
43 fsl,pull-up = <0>;
44 };
45
46 mac0_pins_cfa10049: mac0-10049@0 {
47 reg = <0>;
48 fsl,pinmux-ids = <
35 0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */ 49 0x2153 /* MX28_PAD_SSP2_D5__GPIO_2_21 */
36 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
37 >; 50 >;
38 fsl,drive-strength = <0>; 51 fsl,drive-strength = <0>;
39 fsl,voltage = <1>; 52 fsl,voltage = <1>;
40 fsl,pull-up = <0>; 53 fsl,pull-up = <0>;
41 }; 54 };
42 55
43 hog_pins_cfa10049_pullup: hog-10049-pullup@0 { 56 pca_pins_cfa10049: pca-10049@0 {
44 reg = <0>; 57 reg = <0>;
45 fsl,pinmux-ids = < 58 fsl,pinmux-ids = <
46 0x2133 /* MX28_PAD_SSP2_D3__GPIO_2_19 */ 59 0x2133 /* MX28_PAD_SSP2_D3__GPIO_2_19 */
60 >;
61 fsl,drive-strength = <0>;
62 fsl,voltage = <1>;
63 fsl,pull-up = <1>;
64 };
65
66 rotary_pins_cfa10049: rotary-10049@0 {
67 reg = <0>;
68 fsl,pinmux-ids = <
47 0x3183 /* MX28_PAD_I2C0_SCL__GPIO_3_24 */ 69 0x3183 /* MX28_PAD_I2C0_SCL__GPIO_3_24 */
48 0x3193 /* MX28_PAD_I2C0_SDA__GPIO_3_25 */ 70 0x3193 /* MX28_PAD_I2C0_SDA__GPIO_3_25 */
71 >;
72 fsl,drive-strength = <0>;
73 fsl,voltage = <1>;
74 fsl,pull-up = <1>;
75 };
76
77 rotary_btn_pins_cfa10049: rotary-btn-10049@0 {
78 reg = <0>;
79 fsl,pinmux-ids = <
49 0x31a3 /* MX28_PAD_SAIF_SDATA0__GPIO_3_26 */ 80 0x31a3 /* MX28_PAD_SAIF_SDATA0__GPIO_3_26 */
50 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
51 >; 81 >;
52 fsl,drive-strength = <0>; 82 fsl,drive-strength = <0>;
53 fsl,voltage = <1>; 83 fsl,voltage = <1>;
@@ -60,6 +90,7 @@
60 0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */ 90 0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
61 0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */ 91 0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
62 0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */ 92 0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
93 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
63 >; 94 >;
64 fsl,drive-strength = <1>; 95 fsl,drive-strength = <1>;
65 fsl,voltage = <1>; 96 fsl,voltage = <1>;
@@ -120,6 +151,16 @@
120 fsl,pull-up = <0>; 151 fsl,pull-up = <0>;
121 }; 152 };
122 153
154 lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 {
155 reg = <0>;
156 fsl,pinmux-ids = <
157 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
158 >;
159 fsl,drive-strength = <0>;
160 fsl,voltage = <1>;
161 fsl,pull-up = <1>;
162 };
163
123 w1_gpio_pins: w1-gpio@0 { 164 w1_gpio_pins: w1-gpio@0 {
124 reg = <0>; 165 reg = <0>;
125 fsl,pinmux-ids = < 166 fsl,pinmux-ids = <
@@ -134,7 +175,8 @@
134 lcdif@80030000 { 175 lcdif@80030000 {
135 pinctrl-names = "default"; 176 pinctrl-names = "default";
136 pinctrl-0 = <&lcdif_18bit_pins_cfa10049 177 pinctrl-0 = <&lcdif_18bit_pins_cfa10049
137 &lcdif_pins_cfa10049>; 178 &lcdif_pins_cfa10049
179 &lcdif_pins_cfa10049_pullup>;
138 display = <&display>; 180 display = <&display>;
139 status = "okay"; 181 status = "okay";
140 182
@@ -181,6 +223,8 @@
181 compatible = "i2c-mux-gpio"; 223 compatible = "i2c-mux-gpio";
182 #address-cells = <1>; 224 #address-cells = <1>;
183 #size-cells = <0>; 225 #size-cells = <0>;
226 pinctrl-names = "default";
227 pinctrl-0 = <&i2cmux_pins_cfa10049>;
184 mux-gpios = <&gpio1 22 0 &gpio1 23 0>; 228 mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
185 i2c-parent = <&i2c1>; 229 i2c-parent = <&i2c1>;
186 230
@@ -203,6 +247,8 @@
203 247
204 pca9555: pca9555@20 { 248 pca9555: pca9555@20 {
205 compatible = "nxp,pca9555"; 249 compatible = "nxp,pca9555";
250 pinctrl-names = "default";
251 pinctrl-0 = <&pca_pins_cfa10049>;
206 interrupt-parent = <&gpio2>; 252 interrupt-parent = <&gpio2>;
207 interrupts = <19 0x2>; 253 interrupts = <19 0x2>;
208 gpio-controller; 254 gpio-controller;
@@ -239,6 +285,8 @@
239 285
240 reg_usb1_vbus: usb1_vbus { 286 reg_usb1_vbus: usb1_vbus {
241 compatible = "regulator-fixed"; 287 compatible = "regulator-fixed";
288 pinctrl-names = "default";
289 pinctrl-0 = <&usb_pins_cfa10049>;
242 regulator-name = "usb1_vbus"; 290 regulator-name = "usb1_vbus";
243 regulator-min-microvolt = <5000000>; 291 regulator-min-microvolt = <5000000>;
244 regulator-max-microvolt = <5000000>; 292 regulator-max-microvolt = <5000000>;
@@ -250,7 +298,8 @@
250 mac0: ethernet@800f0000 { 298 mac0: ethernet@800f0000 {
251 phy-mode = "rmii"; 299 phy-mode = "rmii";
252 pinctrl-names = "default"; 300 pinctrl-names = "default";
253 pinctrl-0 = <&mac0_pins_a>; 301 pinctrl-0 = <&mac0_pins_a
302 &mac0_pins_cfa10049>;
254 phy-reset-gpios = <&gpio2 21 0>; 303 phy-reset-gpios = <&gpio2 21 0>;
255 phy-reset-duration = <100>; 304 phy-reset-duration = <100>;
256 status = "okay"; 305 status = "okay";
@@ -320,6 +369,8 @@
320 369
321 gpio_keys { 370 gpio_keys {
322 compatible = "gpio-keys"; 371 compatible = "gpio-keys";
372 pinctrl-names = "default";
373 pinctrl-0 = <&rotary_btn_pins_cfa10049>;
323 #address-cells = <1>; 374 #address-cells = <1>;
324 #size-cells = <0>; 375 #size-cells = <0>;
325 376
@@ -333,6 +384,8 @@
333 384
334 rotary { 385 rotary {
335 compatible = "rotary-encoder"; 386 compatible = "rotary-encoder";
387 pinctrl-names = "default";
388 pinctrl-0 = <&rotary_pins_cfa10049>;
336 gpios = <&gpio3 24 1>, <&gpio3 25 1>; 389 gpios = <&gpio3 24 1>, <&gpio3 25 1>;
337 linux,axis = <1>; /* REL_Y */ 390 linux,axis = <1>; /* REL_Y */
338 rotary-encoder,relative-axis; 391 rotary-encoder,relative-axis;
diff --git a/arch/arm/boot/dts/imx28-cfa10055.dts b/arch/arm/boot/dts/imx28-cfa10055.dts
index 158111244122..171bcbe1ec4b 100644
--- a/arch/arm/boot/dts/imx28-cfa10055.dts
+++ b/arch/arm/boot/dts/imx28-cfa10055.dts
@@ -23,36 +23,13 @@
23 apb@80000000 { 23 apb@80000000 {
24 apbh@80000000 { 24 apbh@80000000 {
25 pinctrl@80018000 { 25 pinctrl@80018000 {
26 pinctrl-names = "default", "default";
27 pinctrl-1 = <&hog_pins_cfa10055
28 &hog_pins_cfa10055_pullup>;
29
30 hog_pins_cfa10055: hog-10055@0 {
31 reg = <0>;
32 fsl,pinmux-ids = <
33 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
34 >;
35 fsl,drive-strength = <0>;
36 fsl,voltage = <1>;
37 fsl,pull-up = <0>;
38 };
39
40 hog_pins_cfa10055_pullup: hog-10055-pullup@0 {
41 reg = <0>;
42 fsl,pinmux-ids = <
43 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
44 >;
45 fsl,drive-strength = <0>;
46 fsl,voltage = <1>;
47 fsl,pull-up = <1>;
48 };
49
50 spi2_pins_cfa10055: spi2-cfa10055@0 { 26 spi2_pins_cfa10055: spi2-cfa10055@0 {
51 reg = <0>; 27 reg = <0>;
52 fsl,pinmux-ids = < 28 fsl,pinmux-ids = <
53 0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */ 29 0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
54 0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */ 30 0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
55 0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */ 31 0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
32 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
56 >; 33 >;
57 fsl,drive-strength = <1>; 34 fsl,drive-strength = <1>;
58 fsl,voltage = <1>; 35 fsl,voltage = <1>;
@@ -98,12 +75,23 @@
98 fsl,voltage = <1>; 75 fsl,voltage = <1>;
99 fsl,pull-up = <0>; 76 fsl,pull-up = <0>;
100 }; 77 };
78
79 lcdif_pins_cfa10055_pullup: lcdif-10055-pullup@0 {
80 reg = <0>;
81 fsl,pinmux-ids = <
82 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
83 >;
84 fsl,drive-strength = <0>;
85 fsl,voltage = <1>;
86 fsl,pull-up = <1>;
87 };
101 }; 88 };
102 89
103 lcdif@80030000 { 90 lcdif@80030000 {
104 pinctrl-names = "default"; 91 pinctrl-names = "default";
105 pinctrl-0 = <&lcdif_18bit_pins_cfa10055 92 pinctrl-0 = <&lcdif_18bit_pins_cfa10055
106 &lcdif_pins_cfa10055>; 93 &lcdif_pins_cfa10055
94 &lcdif_pins_cfa10055_pullup>;
107 display = <&display>; 95 display = <&display>;
108 status = "okay"; 96 status = "okay";
109 97
diff --git a/arch/arm/boot/dts/imx28-cfa10056.dts b/arch/arm/boot/dts/imx28-cfa10056.dts
new file mode 100644
index 000000000000..b45dd0e4ee57
--- /dev/null
+++ b/arch/arm/boot/dts/imx28-cfa10056.dts
@@ -0,0 +1,119 @@
1/*
2 * Copyright 2013 Free Electrons
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/*
13 * The CFA-10055 is an expansion board for the CFA-10036 module and
14 * CFA-10037, thus we need to include the CFA-10037 DTS.
15 */
16/include/ "imx28-cfa10037.dts"
17
18/ {
19 model = "Crystalfontz CFA-10056 Board";
20 compatible = "crystalfontz,cfa10056", "crystalfontz,cfa10037", "crystalfontz,cfa10036", "fsl,imx28";
21
22 apb@80000000 {
23 apbh@80000000 {
24 pinctrl@80018000 {
25 spi2_pins_cfa10056: spi2-cfa10056@0 {
26 reg = <0>;
27 fsl,pinmux-ids = <
28 0x2103 /* MX28_PAD_SSP2_SCK__GPIO_2_16 */
29 0x2113 /* MX28_PAD_SSP2_CMD__GPIO_2_17 */
30 0x2123 /* MX28_PAD_SSP2_D0__GPIO_2_18 */
31 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
32 >;
33 fsl,drive-strength = <1>;
34 fsl,voltage = <1>;
35 fsl,pull-up = <1>;
36 };
37
38 lcdif_pins_cfa10056: lcdif-10056@0 {
39 reg = <0>;
40 fsl,pinmux-ids = <
41 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
42 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
43 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
44 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
45 >;
46 fsl,drive-strength = <0>;
47 fsl,voltage = <1>;
48 fsl,pull-up = <0>;
49 };
50
51 lcdif_pins_cfa10056_pullup: lcdif-10056-pullup@0 {
52 reg = <0>;
53 fsl,pinmux-ids = <
54 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
55 >;
56 fsl,drive-strength = <0>;
57 fsl,voltage = <1>;
58 fsl,pull-up = <1>;
59 };
60 };
61
62 lcdif@80030000 {
63 pinctrl-names = "default";
64 pinctrl-0 = <&lcdif_24bit_pins_a
65 &lcdif_pins_cfa10056
66 &lcdif_pins_cfa10056_pullup >;
67 display = <&display>;
68 status = "okay";
69
70 display: display {
71 bits-per-pixel = <32>;
72 bus-width = <24>;
73
74 display-timings {
75 native-mode = <&timing0>;
76 timing0: timing0 {
77 clock-frequency = <32000000>;
78 hactive = <480>;
79 vactive = <800>;
80 hback-porch = <2>;
81 hfront-porch = <2>;
82 vback-porch = <2>;
83 vfront-porch = <2>;
84 hsync-len = <5>;
85 vsync-len = <5>;
86 hsync-active = <0>;
87 vsync-active = <0>;
88 de-active = <1>;
89 pixelclk-active = <1>;
90 };
91 };
92 };
93 };
94 };
95 };
96
97 spi2 {
98 compatible = "spi-gpio";
99 pinctrl-names = "default";
100 pinctrl-0 = <&spi2_pins_cfa10056>;
101 status = "okay";
102 gpio-sck = <&gpio2 16 0>;
103 gpio-mosi = <&gpio2 17 0>;
104 gpio-miso = <&gpio2 18 0>;
105 cs-gpios = <&gpio3 5 0>;
106 num-chipselects = <1>;
107 #address-cells = <1>;
108 #size-cells = <0>;
109
110 hx8369: hx8369@0 {
111 compatible = "himax,hx8369a", "himax,hx8369";
112 reg = <0>;
113 spi-max-frequency = <100000>;
114 spi-cpol;
115 spi-cpha;
116 gpios-reset = <&gpio3 30 0>;
117 };
118 };
119};
diff --git a/arch/arm/boot/dts/imx28-cfa10057.dts b/arch/arm/boot/dts/imx28-cfa10057.dts
index 2da713cdb42a..0333c0532f28 100644
--- a/arch/arm/boot/dts/imx28-cfa10057.dts
+++ b/arch/arm/boot/dts/imx28-cfa10057.dts
@@ -23,35 +23,16 @@
23 apb@80000000 { 23 apb@80000000 {
24 apbh@80000000 { 24 apbh@80000000 {
25 pinctrl@80018000 { 25 pinctrl@80018000 {
26 pinctrl-names = "default", "default"; 26 usb_pins_cfa10057: usb-10057@0 {
27 pinctrl-1 = <&hog_pins_cfa10057
28 &hog_pins_cfa10057_pullup>;
29
30 hog_pins_cfa10057: hog-10057@0 {
31 reg = <0>; 27 reg = <0>;
32 fsl,pinmux-ids = < 28 fsl,pinmux-ids = <
33 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */ 29 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
34 0x3053 /* MX28_PAD_AUART1_TX__GPIO_3_5 */
35 >; 30 >;
36 fsl,drive-strength = <0>; 31 fsl,drive-strength = <0>;
37 fsl,voltage = <1>; 32 fsl,voltage = <1>;
38 fsl,pull-up = <0>; 33 fsl,pull-up = <0>;
39 }; 34 };
40 35
41 hog_pins_cfa10057_pullup: hog-10057-pullup@0 {
42 reg = <0>;
43 fsl,pinmux-ids = <
44 0x2133 /* MX28_PAD_SSP2_D3__GPIO_2_19 */
45 0x3183 /* MX28_PAD_I2C0_SCL__GPIO_3_24 */
46 0x3193 /* MX28_PAD_I2C0_SDA__GPIO_3_25 */
47 0x31a3 /* MX28_PAD_SAIF_SDATA0__GPIO_3_26 */
48 0x31e3 /* MX28_PAD_LCD_RESET__GPIO_3_30 */
49 >;
50 fsl,drive-strength = <0>;
51 fsl,voltage = <1>;
52 fsl,pull-up = <1>;
53 };
54
55 lcdif_18bit_pins_cfa10057: lcdif-18bit@0 { 36 lcdif_18bit_pins_cfa10057: lcdif-18bit@0 {
56 reg = <0>; 37 reg = <0>;
57 fsl,pinmux-ids = < 38 fsl,pinmux-ids = <
@@ -164,6 +145,8 @@
164 145
165 reg_usb1_vbus: usb1_vbus { 146 reg_usb1_vbus: usb1_vbus {
166 compatible = "regulator-fixed"; 147 compatible = "regulator-fixed";
148 pinctrl-names = "default";
149 pinctrl-0 = <&usb_pins_cfa10057>;
167 regulator-name = "usb1_vbus"; 150 regulator-name = "usb1_vbus";
168 regulator-min-microvolt = <5000000>; 151 regulator-min-microvolt = <5000000>;
169 regulator-max-microvolt = <5000000>; 152 regulator-max-microvolt = <5000000>;
diff --git a/arch/arm/boot/dts/imx28-cfa10058.dts b/arch/arm/boot/dts/imx28-cfa10058.dts
new file mode 100644
index 000000000000..64c64c55a82a
--- /dev/null
+++ b/arch/arm/boot/dts/imx28-cfa10058.dts
@@ -0,0 +1,141 @@
1/*
2 * Copyright 2013 Crystalfontz America, Inc.
3 * Copyright 2013 Free Electrons
4 *
5 * The code contained herein is licensed under the GNU General Public
6 * License. You may obtain a copy of the GNU General Public License
7 * Version 2 or later at the following locations:
8 *
9 * http://www.opensource.org/licenses/gpl-license.html
10 * http://www.gnu.org/copyleft/gpl.html
11 */
12
13/*
14 * The CFA-10058 is an expansion board for the CFA-10036 module, thus we
15 * need to include the CFA-10036 DTS.
16 */
17/include/ "imx28-cfa10036.dts"
18
19/ {
20 model = "Crystalfontz CFA-10058 Board";
21 compatible = "crystalfontz,cfa10058", "crystalfontz,cfa10036", "fsl,imx28";
22
23 apb@80000000 {
24 apbh@80000000 {
25 pinctrl@80018000 {
26 usb_pins_cfa10058: usb-10058@0 {
27 reg = <0>;
28 fsl,pinmux-ids = <
29 0x0073 /* MX28_PAD_GPMI_D7__GPIO_0_7 */
30 >;
31 fsl,drive-strength = <0>;
32 fsl,voltage = <1>;
33 fsl,pull-up = <0>;
34 };
35
36 lcdif_pins_cfa10058: lcdif-10058@0 {
37 reg = <0>;
38 fsl,pinmux-ids = <
39 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
40 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
41 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
42 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
43 >;
44 fsl,drive-strength = <0>;
45 fsl,voltage = <1>;
46 fsl,pull-up = <0>;
47 };
48 };
49
50 lcdif@80030000 {
51 pinctrl-names = "default";
52 pinctrl-0 = <&lcdif_24bit_pins_a
53 &lcdif_pins_cfa10058>;
54 display = <&display>;
55 status = "okay";
56
57 display: display {
58 bits-per-pixel = <32>;
59 bus-width = <24>;
60
61 display-timings {
62 native-mode = <&timing0>;
63 timing0: timing0 {
64 clock-frequency = <30000000>;
65 hactive = <800>;
66 vactive = <480>;
67 hback-porch = <40>;
68 hfront-porch = <40>;
69 vback-porch = <13>;
70 vfront-porch = <29>;
71 hsync-len = <8>;
72 vsync-len = <8>;
73 hsync-active = <0>;
74 vsync-active = <0>;
75 de-active = <1>;
76 pixelclk-active = <1>;
77 };
78 };
79 };
80 };
81 };
82
83 apbx@80040000 {
84 lradc@80050000 {
85 fsl,lradc-touchscreen-wires = <4>;
86 status = "okay";
87 };
88
89 pwm: pwm@80064000 {
90 pinctrl-names = "default";
91 pinctrl-0 = <&pwm3_pins_b>;
92 status = "okay";
93 };
94
95 usbphy1: usbphy@8007e000 {
96 status = "okay";
97 };
98 };
99 };
100
101 ahb@80080000 {
102 usb1: usb@80090000 {
103 vbus-supply = <&reg_usb1_vbus>;
104 pinctrl-0 = <&usbphy1_pins_a>;
105 pinctrl-names = "default";
106 status = "okay";
107 };
108 };
109
110 regulators {
111 compatible = "simple-bus";
112
113 reg_usb1_vbus: usb1_vbus {
114 pinctrl-names = "default";
115 pinctrl-0 = <&usb_pins_cfa10058>;
116 compatible = "regulator-fixed";
117 regulator-name = "usb1_vbus";
118 regulator-min-microvolt = <5000000>;
119 regulator-max-microvolt = <5000000>;
120 gpio = <&gpio0 7 1>;
121 };
122 };
123
124 ahb@80080000 {
125 mac0: ethernet@800f0000 {
126 phy-mode = "rmii";
127 pinctrl-names = "default";
128 pinctrl-0 = <&mac0_pins_a>;
129 phy-reset-gpios = <&gpio2 21 0>;
130 phy-reset-duration = <100>;
131 status = "okay";
132 };
133 };
134
135 backlight {
136 compatible = "pwm-backlight";
137 pwms = <&pwm 3 5000000>;
138 brightness-levels = <0 4 8 16 32 64 128 255>;
139 default-brightness-level = <6>;
140 };
141};
diff --git a/arch/arm/boot/dts/imx28-m28evk.dts b/arch/arm/boot/dts/imx28-m28evk.dts
index 44d9da57736e..0d322a2bebaf 100644
--- a/arch/arm/boot/dts/imx28-m28evk.dts
+++ b/arch/arm/boot/dts/imx28-m28evk.dts
@@ -235,6 +235,12 @@
235 pinctrl-0 = <&auart2_2pins_b>; 235 pinctrl-0 = <&auart2_2pins_b>;
236 status = "okay"; 236 status = "okay";
237 }; 237 };
238
239 pwm: pwm@80064000 {
240 pinctrl-names = "default";
241 pinctrl-0 = <&pwm4_pins_a>;
242 status = "okay";
243 };
238 }; 244 };
239 }; 245 };
240 246
@@ -270,6 +276,13 @@
270 }; 276 };
271 }; 277 };
272 278
279 backlight {
280 compatible = "pwm-backlight";
281 pwms = <&pwm 4 5000000>;
282 brightness-levels = <0 4 8 16 32 64 128 255>;
283 default-brightness-level = <6>;
284 };
285
273 regulators { 286 regulators {
274 compatible = "simple-bus"; 287 compatible = "simple-bus";
275 288
diff --git a/arch/arm/boot/dts/imx28.dtsi b/arch/arm/boot/dts/imx28.dtsi
index 9524a0571281..7363fded95ee 100644
--- a/arch/arm/boot/dts/imx28.dtsi
+++ b/arch/arm/boot/dts/imx28.dtsi
@@ -15,6 +15,8 @@
15 interrupt-parent = <&icoll>; 15 interrupt-parent = <&icoll>;
16 16
17 aliases { 17 aliases {
18 ethernet0 = &mac0;
19 ethernet1 = &mac1;
18 gpio0 = &gpio0; 20 gpio0 = &gpio0;
19 gpio1 = &gpio1; 21 gpio1 = &gpio1;
20 gpio2 = &gpio2; 22 gpio2 = &gpio2;
@@ -27,8 +29,8 @@
27 serial2 = &auart2; 29 serial2 = &auart2;
28 serial3 = &auart3; 30 serial3 = &auart3;
29 serial4 = &auart4; 31 serial4 = &auart4;
30 ethernet0 = &mac0; 32 spi0 = &ssp1;
31 ethernet1 = &mac1; 33 spi1 = &ssp2;
32 }; 34 };
33 35
34 cpus { 36 cpus {
@@ -62,9 +64,9 @@
62 reg = <0x80000000 0x2000>; 64 reg = <0x80000000 0x2000>;
63 }; 65 };
64 66
65 hsadc@80002000 { 67 hsadc: hsadc@80002000 {
66 reg = <0x80002000 0x2000>; 68 reg = <0x80002000 0x2000>;
67 interrupts = <13 87>; 69 interrupts = <13>;
68 dmas = <&dma_apbh 12>; 70 dmas = <&dma_apbh 12>;
69 dma-names = "rx"; 71 dma-names = "rx";
70 status = "disabled"; 72 status = "disabled";
@@ -86,25 +88,24 @@
86 clocks = <&clks 25>; 88 clocks = <&clks 25>;
87 }; 89 };
88 90
89 perfmon@80006000 { 91 perfmon: perfmon@80006000 {
90 reg = <0x80006000 0x800>; 92 reg = <0x80006000 0x800>;
91 interrupts = <27>; 93 interrupts = <27>;
92 status = "disabled"; 94 status = "disabled";
93 }; 95 };
94 96
95 gpmi-nand@8000c000 { 97 gpmi: gpmi-nand@8000c000 {
96 compatible = "fsl,imx28-gpmi-nand"; 98 compatible = "fsl,imx28-gpmi-nand";
97 #address-cells = <1>; 99 #address-cells = <1>;
98 #size-cells = <1>; 100 #size-cells = <1>;
99 reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>; 101 reg = <0x8000c000 0x2000>, <0x8000a000 0x2000>;
100 reg-names = "gpmi-nand", "bch"; 102 reg-names = "gpmi-nand", "bch";
101 interrupts = <88>, <41>; 103 interrupts = <41>;
102 interrupt-names = "gpmi-dma", "bch"; 104 interrupt-names = "bch";
103 clocks = <&clks 50>; 105 clocks = <&clks 50>;
104 clock-names = "gpmi_io"; 106 clock-names = "gpmi_io";
105 dmas = <&dma_apbh 4>; 107 dmas = <&dma_apbh 4>;
106 dma-names = "rx-tx"; 108 dma-names = "rx-tx";
107 fsl,gpmi-dma-channel = <4>;
108 status = "disabled"; 109 status = "disabled";
109 }; 110 };
110 111
@@ -112,11 +113,10 @@
112 #address-cells = <1>; 113 #address-cells = <1>;
113 #size-cells = <0>; 114 #size-cells = <0>;
114 reg = <0x80010000 0x2000>; 115 reg = <0x80010000 0x2000>;
115 interrupts = <96 82>; 116 interrupts = <96>;
116 clocks = <&clks 46>; 117 clocks = <&clks 46>;
117 dmas = <&dma_apbh 0>; 118 dmas = <&dma_apbh 0>;
118 dma-names = "rx-tx"; 119 dma-names = "rx-tx";
119 fsl,ssp-dma-channel = <0>;
120 status = "disabled"; 120 status = "disabled";
121 }; 121 };
122 122
@@ -124,11 +124,10 @@
124 #address-cells = <1>; 124 #address-cells = <1>;
125 #size-cells = <0>; 125 #size-cells = <0>;
126 reg = <0x80012000 0x2000>; 126 reg = <0x80012000 0x2000>;
127 interrupts = <97 83>; 127 interrupts = <97>;
128 clocks = <&clks 47>; 128 clocks = <&clks 47>;
129 dmas = <&dma_apbh 1>; 129 dmas = <&dma_apbh 1>;
130 dma-names = "rx-tx"; 130 dma-names = "rx-tx";
131 fsl,ssp-dma-channel = <1>;
132 status = "disabled"; 131 status = "disabled";
133 }; 132 };
134 133
@@ -136,11 +135,10 @@
136 #address-cells = <1>; 135 #address-cells = <1>;
137 #size-cells = <0>; 136 #size-cells = <0>;
138 reg = <0x80014000 0x2000>; 137 reg = <0x80014000 0x2000>;
139 interrupts = <98 84>; 138 interrupts = <98>;
140 clocks = <&clks 48>; 139 clocks = <&clks 48>;
141 dmas = <&dma_apbh 2>; 140 dmas = <&dma_apbh 2>;
142 dma-names = "rx-tx"; 141 dma-names = "rx-tx";
143 fsl,ssp-dma-channel = <2>;
144 status = "disabled"; 142 status = "disabled";
145 }; 143 };
146 144
@@ -148,15 +146,14 @@
148 #address-cells = <1>; 146 #address-cells = <1>;
149 #size-cells = <0>; 147 #size-cells = <0>;
150 reg = <0x80016000 0x2000>; 148 reg = <0x80016000 0x2000>;
151 interrupts = <99 85>; 149 interrupts = <99>;
152 clocks = <&clks 49>; 150 clocks = <&clks 49>;
153 dmas = <&dma_apbh 3>; 151 dmas = <&dma_apbh 3>;
154 dma-names = "rx-tx"; 152 dma-names = "rx-tx";
155 fsl,ssp-dma-channel = <3>;
156 status = "disabled"; 153 status = "disabled";
157 }; 154 };
158 155
159 pinctrl@80018000 { 156 pinctrl: pinctrl@80018000 {
160 #address-cells = <1>; 157 #address-cells = <1>;
161 #size-cells = <0>; 158 #size-cells = <0>;
162 compatible = "fsl,imx28-pinctrl", "simple-bus"; 159 compatible = "fsl,imx28-pinctrl", "simple-bus";
@@ -521,6 +518,18 @@
521 fsl,pull-up = <1>; 518 fsl,pull-up = <1>;
522 }; 519 };
523 520
521 saif0_pins_b: saif0@1 {
522 reg = <1>;
523 fsl,pinmux-ids = <
524 0x3150 /* MX28_PAD_SAIF0_LRCLK__SAIF0_LRCLK */
525 0x3160 /* MX28_PAD_SAIF0_BITCLK__SAIF0_BITCLK */
526 0x3170 /* MX28_PAD_SAIF0_SDATA0__SAIF0_SDATA0 */
527 >;
528 fsl,drive-strength = <2>;
529 fsl,voltage = <1>;
530 fsl,pull-up = <1>;
531 };
532
524 saif1_pins_a: saif1@0 { 533 saif1_pins_a: saif1@0 {
525 reg = <0>; 534 reg = <0>;
526 fsl,pinmux-ids = < 535 fsl,pinmux-ids = <
@@ -639,6 +648,19 @@
639 fsl,pull-up = <0>; 648 fsl,pull-up = <0>;
640 }; 649 };
641 650
651 lcdif_sync_pins_a: lcdif-sync@0 {
652 reg = <0>;
653 fsl,pinmux-ids = <
654 0x11a1 /* MX28_PAD_LCD_RS__LCD_DOTCLK */
655 0x11b1 /* MX28_PAD_LCD_CS__LCD_ENABLE */
656 0x1181 /* MX28_PAD_LCD_RD_E__LCD_VSYNC */
657 0x1191 /* MX28_PAD_LCD_WR_RWN__LCD_HSYNC */
658 >;
659 fsl,drive-strength = <0>;
660 fsl,voltage = <1>;
661 fsl,pull-up = <0>;
662 };
663
642 can0_pins_a: can0@0 { 664 can0_pins_a: can0@0 {
643 reg = <0>; 665 reg = <0>;
644 fsl,pinmux-ids = < 666 fsl,pinmux-ids = <
@@ -674,6 +696,21 @@
674 fsl,pull-up = <1>; 696 fsl,pull-up = <1>;
675 }; 697 };
676 698
699 spi3_pins_a: spi3@0 {
700 reg = <0>;
701 fsl,pinmux-ids = <
702 0x3082 /* MX28_PAD_AUART2_RX__SSP3_D4 */
703 0x3092 /* MX28_PAD_AUART2_TX__SSP3_D5 */
704 0x2180 /* MX28_PAD_SSP3_SCK__SSP3_SCK */
705 0x2190 /* MX28_PAD_SSP3_MOSI__SSP3_CMD */
706 0x21A0 /* MX28_PAD_SSP3_MISO__SSP3_D0 */
707 0x21B0 /* MX28_PAD_SSP3_SS0__SSP3_D3 */
708 >;
709 fsl,drive-strength = <1>;
710 fsl,voltage = <1>;
711 fsl,pull-up = <0>;
712 };
713
677 usbphy0_pins_a: usbphy0@0 { 714 usbphy0_pins_a: usbphy0@0 {
678 reg = <0>; 715 reg = <0>;
679 fsl,pinmux-ids = < 716 fsl,pinmux-ids = <
@@ -705,14 +742,14 @@
705 }; 742 };
706 }; 743 };
707 744
708 digctl@8001c000 { 745 digctl: digctl@8001c000 {
709 compatible = "fsl,imx28-digctl", "fsl,imx23-digctl"; 746 compatible = "fsl,imx28-digctl", "fsl,imx23-digctl";
710 reg = <0x8001c000 0x2000>; 747 reg = <0x8001c000 0x2000>;
711 interrupts = <89>; 748 interrupts = <89>;
712 status = "disabled"; 749 status = "disabled";
713 }; 750 };
714 751
715 etm@80022000 { 752 etm: etm@80022000 {
716 reg = <0x80022000 0x2000>; 753 reg = <0x80022000 0x2000>;
717 status = "disabled"; 754 status = "disabled";
718 }; 755 };
@@ -733,19 +770,19 @@
733 clocks = <&clks 26>; 770 clocks = <&clks 26>;
734 }; 771 };
735 772
736 dcp@80028000 { 773 dcp: dcp@80028000 {
737 reg = <0x80028000 0x2000>; 774 reg = <0x80028000 0x2000>;
738 interrupts = <52 53 54>; 775 interrupts = <52 53 54>;
739 compatible = "fsl-dcp"; 776 compatible = "fsl-dcp";
740 }; 777 };
741 778
742 pxp@8002a000 { 779 pxp: pxp@8002a000 {
743 reg = <0x8002a000 0x2000>; 780 reg = <0x8002a000 0x2000>;
744 interrupts = <39>; 781 interrupts = <39>;
745 status = "disabled"; 782 status = "disabled";
746 }; 783 };
747 784
748 ocotp@8002c000 { 785 ocotp: ocotp@8002c000 {
749 compatible = "fsl,ocotp"; 786 compatible = "fsl,ocotp";
750 reg = <0x8002c000 0x2000>; 787 reg = <0x8002c000 0x2000>;
751 status = "disabled"; 788 status = "disabled";
@@ -756,10 +793,10 @@
756 status = "disabled"; 793 status = "disabled";
757 }; 794 };
758 795
759 lcdif@80030000 { 796 lcdif: lcdif@80030000 {
760 compatible = "fsl,imx28-lcdif"; 797 compatible = "fsl,imx28-lcdif";
761 reg = <0x80030000 0x2000>; 798 reg = <0x80030000 0x2000>;
762 interrupts = <38 86>; 799 interrupts = <38>;
763 clocks = <&clks 55>; 800 clocks = <&clks 55>;
764 dmas = <&dma_apbh 13>; 801 dmas = <&dma_apbh 13>;
765 dma-names = "rx"; 802 dma-names = "rx";
@@ -784,41 +821,41 @@
784 status = "disabled"; 821 status = "disabled";
785 }; 822 };
786 823
787 simdbg@8003c000 { 824 simdbg: simdbg@8003c000 {
788 reg = <0x8003c000 0x200>; 825 reg = <0x8003c000 0x200>;
789 status = "disabled"; 826 status = "disabled";
790 }; 827 };
791 828
792 simgpmisel@8003c200 { 829 simgpmisel: simgpmisel@8003c200 {
793 reg = <0x8003c200 0x100>; 830 reg = <0x8003c200 0x100>;
794 status = "disabled"; 831 status = "disabled";
795 }; 832 };
796 833
797 simsspsel@8003c300 { 834 simsspsel: simsspsel@8003c300 {
798 reg = <0x8003c300 0x100>; 835 reg = <0x8003c300 0x100>;
799 status = "disabled"; 836 status = "disabled";
800 }; 837 };
801 838
802 simmemsel@8003c400 { 839 simmemsel: simmemsel@8003c400 {
803 reg = <0x8003c400 0x100>; 840 reg = <0x8003c400 0x100>;
804 status = "disabled"; 841 status = "disabled";
805 }; 842 };
806 843
807 gpiomon@8003c500 { 844 gpiomon: gpiomon@8003c500 {
808 reg = <0x8003c500 0x100>; 845 reg = <0x8003c500 0x100>;
809 status = "disabled"; 846 status = "disabled";
810 }; 847 };
811 848
812 simenet@8003c700 { 849 simenet: simenet@8003c700 {
813 reg = <0x8003c700 0x100>; 850 reg = <0x8003c700 0x100>;
814 status = "disabled"; 851 status = "disabled";
815 }; 852 };
816 853
817 armjtag@8003c800 { 854 armjtag: armjtag@8003c800 {
818 reg = <0x8003c800 0x100>; 855 reg = <0x8003c800 0x100>;
819 status = "disabled"; 856 status = "disabled";
820 }; 857 };
821 }; 858 };
822 859
823 apbx@80040000 { 860 apbx@80040000 {
824 compatible = "simple-bus"; 861 compatible = "simple-bus";
@@ -836,16 +873,15 @@
836 saif0: saif@80042000 { 873 saif0: saif@80042000 {
837 compatible = "fsl,imx28-saif"; 874 compatible = "fsl,imx28-saif";
838 reg = <0x80042000 0x2000>; 875 reg = <0x80042000 0x2000>;
839 interrupts = <59 80>; 876 interrupts = <59>;
840 #clock-cells = <0>; 877 #clock-cells = <0>;
841 clocks = <&clks 53>; 878 clocks = <&clks 53>;
842 dmas = <&dma_apbx 4>; 879 dmas = <&dma_apbx 4>;
843 dma-names = "rx-tx"; 880 dma-names = "rx-tx";
844 fsl,saif-dma-channel = <4>;
845 status = "disabled"; 881 status = "disabled";
846 }; 882 };
847 883
848 power@80044000 { 884 power: power@80044000 {
849 reg = <0x80044000 0x2000>; 885 reg = <0x80044000 0x2000>;
850 status = "disabled"; 886 status = "disabled";
851 }; 887 };
@@ -853,15 +889,14 @@
853 saif1: saif@80046000 { 889 saif1: saif@80046000 {
854 compatible = "fsl,imx28-saif"; 890 compatible = "fsl,imx28-saif";
855 reg = <0x80046000 0x2000>; 891 reg = <0x80046000 0x2000>;
856 interrupts = <58 81>; 892 interrupts = <58>;
857 clocks = <&clks 54>; 893 clocks = <&clks 54>;
858 dmas = <&dma_apbx 5>; 894 dmas = <&dma_apbx 5>;
859 dma-names = "rx-tx"; 895 dma-names = "rx-tx";
860 fsl,saif-dma-channel = <5>;
861 status = "disabled"; 896 status = "disabled";
862 }; 897 };
863 898
864 lradc@80050000 { 899 lradc: lradc@80050000 {
865 compatible = "fsl,imx28-lradc"; 900 compatible = "fsl,imx28-lradc";
866 reg = <0x80050000 0x2000>; 901 reg = <0x80050000 0x2000>;
867 interrupts = <10 14 15 16 17 18 19 902 interrupts = <10 14 15 16 17 18 19
@@ -869,15 +904,15 @@
869 status = "disabled"; 904 status = "disabled";
870 }; 905 };
871 906
872 spdif@80054000 { 907 spdif: spdif@80054000 {
873 reg = <0x80054000 0x2000>; 908 reg = <0x80054000 0x2000>;
874 interrupts = <45 66>; 909 interrupts = <45>;
875 dmas = <&dma_apbx 2>; 910 dmas = <&dma_apbx 2>;
876 dma-names = "tx"; 911 dma-names = "tx";
877 status = "disabled"; 912 status = "disabled";
878 }; 913 };
879 914
880 rtc@80056000 { 915 mxs_rtc: rtc@80056000 {
881 compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc"; 916 compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
882 reg = <0x80056000 0x2000>; 917 reg = <0x80056000 0x2000>;
883 interrupts = <29>; 918 interrupts = <29>;
@@ -888,11 +923,10 @@
888 #size-cells = <0>; 923 #size-cells = <0>;
889 compatible = "fsl,imx28-i2c"; 924 compatible = "fsl,imx28-i2c";
890 reg = <0x80058000 0x2000>; 925 reg = <0x80058000 0x2000>;
891 interrupts = <111 68>; 926 interrupts = <111>;
892 clock-frequency = <100000>; 927 clock-frequency = <100000>;
893 dmas = <&dma_apbx 6>; 928 dmas = <&dma_apbx 6>;
894 dma-names = "rx-tx"; 929 dma-names = "rx-tx";
895 fsl,i2c-dma-channel = <6>;
896 status = "disabled"; 930 status = "disabled";
897 }; 931 };
898 932
@@ -901,11 +935,10 @@
901 #size-cells = <0>; 935 #size-cells = <0>;
902 compatible = "fsl,imx28-i2c"; 936 compatible = "fsl,imx28-i2c";
903 reg = <0x8005a000 0x2000>; 937 reg = <0x8005a000 0x2000>;
904 interrupts = <110 69>; 938 interrupts = <110>;
905 clock-frequency = <100000>; 939 clock-frequency = <100000>;
906 dmas = <&dma_apbx 7>; 940 dmas = <&dma_apbx 7>;
907 dma-names = "rx-tx"; 941 dma-names = "rx-tx";
908 fsl,i2c-dma-channel = <7>;
909 status = "disabled"; 942 status = "disabled";
910 }; 943 };
911 944
@@ -918,7 +951,7 @@
918 status = "disabled"; 951 status = "disabled";
919 }; 952 };
920 953
921 timrot@80068000 { 954 timer: timrot@80068000 {
922 compatible = "fsl,imx28-timrot", "fsl,timrot"; 955 compatible = "fsl,imx28-timrot", "fsl,timrot";
923 reg = <0x80068000 0x2000>; 956 reg = <0x80068000 0x2000>;
924 interrupts = <48 49 50 51>; 957 interrupts = <48 49 50 51>;
@@ -928,10 +961,9 @@
928 auart0: serial@8006a000 { 961 auart0: serial@8006a000 {
929 compatible = "fsl,imx28-auart", "fsl,imx23-auart"; 962 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
930 reg = <0x8006a000 0x2000>; 963 reg = <0x8006a000 0x2000>;
931 interrupts = <112 70 71>; 964 interrupts = <112>;
932 dmas = <&dma_apbx 8>, <&dma_apbx 9>; 965 dmas = <&dma_apbx 8>, <&dma_apbx 9>;
933 dma-names = "rx", "tx"; 966 dma-names = "rx", "tx";
934 fsl,auart-dma-channel = <8 9>;
935 clocks = <&clks 45>; 967 clocks = <&clks 45>;
936 status = "disabled"; 968 status = "disabled";
937 }; 969 };
@@ -939,7 +971,7 @@
939 auart1: serial@8006c000 { 971 auart1: serial@8006c000 {
940 compatible = "fsl,imx28-auart", "fsl,imx23-auart"; 972 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
941 reg = <0x8006c000 0x2000>; 973 reg = <0x8006c000 0x2000>;
942 interrupts = <113 72 73>; 974 interrupts = <113>;
943 dmas = <&dma_apbx 10>, <&dma_apbx 11>; 975 dmas = <&dma_apbx 10>, <&dma_apbx 11>;
944 dma-names = "rx", "tx"; 976 dma-names = "rx", "tx";
945 clocks = <&clks 45>; 977 clocks = <&clks 45>;
@@ -949,7 +981,7 @@
949 auart2: serial@8006e000 { 981 auart2: serial@8006e000 {
950 compatible = "fsl,imx28-auart", "fsl,imx23-auart"; 982 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
951 reg = <0x8006e000 0x2000>; 983 reg = <0x8006e000 0x2000>;
952 interrupts = <114 74 75>; 984 interrupts = <114>;
953 dmas = <&dma_apbx 12>, <&dma_apbx 13>; 985 dmas = <&dma_apbx 12>, <&dma_apbx 13>;
954 dma-names = "rx", "tx"; 986 dma-names = "rx", "tx";
955 clocks = <&clks 45>; 987 clocks = <&clks 45>;
@@ -959,7 +991,7 @@
959 auart3: serial@80070000 { 991 auart3: serial@80070000 {
960 compatible = "fsl,imx28-auart", "fsl,imx23-auart"; 992 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
961 reg = <0x80070000 0x2000>; 993 reg = <0x80070000 0x2000>;
962 interrupts = <115 76 77>; 994 interrupts = <115>;
963 dmas = <&dma_apbx 14>, <&dma_apbx 15>; 995 dmas = <&dma_apbx 14>, <&dma_apbx 15>;
964 dma-names = "rx", "tx"; 996 dma-names = "rx", "tx";
965 clocks = <&clks 45>; 997 clocks = <&clks 45>;
@@ -969,7 +1001,7 @@
969 auart4: serial@80072000 { 1001 auart4: serial@80072000 {
970 compatible = "fsl,imx28-auart", "fsl,imx23-auart"; 1002 compatible = "fsl,imx28-auart", "fsl,imx23-auart";
971 reg = <0x80072000 0x2000>; 1003 reg = <0x80072000 0x2000>;
972 interrupts = <116 78 79>; 1004 interrupts = <116>;
973 dmas = <&dma_apbx 0>, <&dma_apbx 1>; 1005 dmas = <&dma_apbx 0>, <&dma_apbx 1>;
974 dma-names = "rx", "tx"; 1006 dma-names = "rx", "tx";
975 clocks = <&clks 45>; 1007 clocks = <&clks 45>;
@@ -1026,7 +1058,7 @@
1026 status = "disabled"; 1058 status = "disabled";
1027 }; 1059 };
1028 1060
1029 dflpt@800c0000 { 1061 dflpt: dflpt@800c0000 {
1030 reg = <0x800c0000 0x10000>; 1062 reg = <0x800c0000 0x10000>;
1031 status = "disabled"; 1063 status = "disabled";
1032 }; 1064 };
@@ -1049,10 +1081,9 @@
1049 status = "disabled"; 1081 status = "disabled";
1050 }; 1082 };
1051 1083
1052 switch@800f8000 { 1084 etn_switch: switch@800f8000 {
1053 reg = <0x800f8000 0x8000>; 1085 reg = <0x800f8000 0x8000>;
1054 status = "disabled"; 1086 status = "disabled";
1055 }; 1087 };
1056
1057 }; 1088 };
1058}; 1089};