aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/devicetree/bindings/arm/omap/omap.txt3
-rw-r--r--arch/arm/boot/dts/Makefile3
-rw-r--r--arch/arm/boot/dts/am335x-bone-common.dtsi2
-rw-r--r--arch/arm/boot/dts/am335x-boneblack-common.dtsi163
-rw-r--r--arch/arm/boot/dts/am335x-boneblack-wireless.dts109
-rw-r--r--arch/arm/boot/dts/am335x-boneblack.dts155
-rw-r--r--arch/arm/boot/dts/am335x-bonegreen-common.dtsi44
-rw-r--r--arch/arm/boot/dts/am335x-bonegreen-wireless.dts126
-rw-r--r--arch/arm/boot/dts/am335x-bonegreen.dts38
-rw-r--r--arch/arm/boot/dts/am335x-chilisom.dtsi8
-rw-r--r--arch/arm/boot/dts/am335x-evm.dts4
-rw-r--r--arch/arm/boot/dts/am335x-evmsk.dts4
-rw-r--r--arch/arm/boot/dts/am335x-icev2.dts4
-rw-r--r--arch/arm/boot/dts/am335x-nano.dts31
-rw-r--r--arch/arm/boot/dts/am335x-pcm-953.dtsi288
-rw-r--r--arch/arm/boot/dts/am335x-phycore-rdk.dts27
-rw-r--r--arch/arm/boot/dts/am335x-phycore-som.dtsi72
-rw-r--r--arch/arm/boot/dts/am335x-sl50.dts70
-rw-r--r--arch/arm/boot/dts/am335x-wega.dtsi9
-rw-r--r--arch/arm/boot/dts/am437x-gp-evm.dts4
-rw-r--r--arch/arm/boot/dts/am437x-idk-evm.dts4
-rw-r--r--arch/arm/boot/dts/am437x-sk-evm.dts4
-rw-r--r--arch/arm/boot/dts/am43x-epos-evm.dts4
-rw-r--r--arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi18
-rw-r--r--arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts5
-rw-r--r--arch/arm/boot/dts/am57xx-beagle-x15.dts5
-rw-r--r--arch/arm/boot/dts/am57xx-idk-common.dtsi4
-rw-r--r--arch/arm/boot/dts/dra7-evm.dts286
-rw-r--r--arch/arm/boot/dts/dra71-evm.dts5
-rw-r--r--arch/arm/boot/dts/dra72-evm-common.dtsi20
-rw-r--r--arch/arm/boot/dts/dra72-evm-revc.dts4
-rw-r--r--arch/arm/boot/dts/omap3-beagle-xm.dts16
-rw-r--r--arch/arm/boot/dts/omap3-igep.dtsi21
-rw-r--r--arch/arm/boot/dts/omap3-n900.dts3
-rw-r--r--arch/arm/boot/dts/omap4-panda-common.dtsi16
-rw-r--r--arch/arm/boot/dts/omap5-igep0050.dts21
-rw-r--r--arch/arm/boot/dts/omap5-uevm.dts21
37 files changed, 1077 insertions, 544 deletions
diff --git a/Documentation/devicetree/bindings/arm/omap/omap.txt b/Documentation/devicetree/bindings/arm/omap/omap.txt
index 05f95c3ed7d4..8219b2c6bb29 100644
--- a/Documentation/devicetree/bindings/arm/omap/omap.txt
+++ b/Documentation/devicetree/bindings/arm/omap/omap.txt
@@ -151,6 +151,9 @@ Boards:
151- AM335X SBC-T335 : single board computer, built around the Sitara AM3352/4 151- AM335X SBC-T335 : single board computer, built around the Sitara AM3352/4
152 compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx" 152 compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx"
153 153
154- AM335X phyCORE-AM335x: Development kit
155 compatible = "phytec,am335x-pcm-953", "phytec,am335x-phycore-som", "ti,am33xx"
156
154- OMAP5 EVM : Evaluation Module 157- OMAP5 EVM : Evaluation Module
155 compatible = "ti,omap5-evm", "ti,omap5" 158 compatible = "ti,omap5-evm", "ti,omap5"
156 159
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index 01d178a2009f..9e4cae54df13 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -564,7 +564,9 @@ dtb-$(CONFIG_SOC_AM33XX) += \
564 am335x-base0033.dtb \ 564 am335x-base0033.dtb \
565 am335x-bone.dtb \ 565 am335x-bone.dtb \
566 am335x-boneblack.dtb \ 566 am335x-boneblack.dtb \
567 am335x-boneblack-wireless.dtb \
567 am335x-bonegreen.dtb \ 568 am335x-bonegreen.dtb \
569 am335x-bonegreen-wireless.dtb \
568 am335x-chiliboard.dtb \ 570 am335x-chiliboard.dtb \
569 am335x-cm-t335.dtb \ 571 am335x-cm-t335.dtb \
570 am335x-evm.dtb \ 572 am335x-evm.dtb \
@@ -573,6 +575,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \
573 am335x-lxm.dtb \ 575 am335x-lxm.dtb \
574 am335x-nano.dtb \ 576 am335x-nano.dtb \
575 am335x-pepper.dtb \ 577 am335x-pepper.dtb \
578 am335x-phycore-rdk.dtb \
576 am335x-shc.dtb \ 579 am335x-shc.dtb \
577 am335x-sbc-t335.dtb \ 580 am335x-sbc-t335.dtb \
578 am335x-sl50.dtb \ 581 am335x-sl50.dtb \
diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi
index 3e32dd18fd25..bf6b26abe35b 100644
--- a/arch/arm/boot/dts/am335x-bone-common.dtsi
+++ b/arch/arm/boot/dts/am335x-bone-common.dtsi
@@ -207,6 +207,8 @@
207&usb0 { 207&usb0 {
208 status = "okay"; 208 status = "okay";
209 dr_mode = "peripheral"; 209 dr_mode = "peripheral";
210 interrupts-extended = <&intc 18 &tps 0>;
211 interrupt-names = "mc", "vbus";
210}; 212};
211 213
212&usb1 { 214&usb1 {
diff --git a/arch/arm/boot/dts/am335x-boneblack-common.dtsi b/arch/arm/boot/dts/am335x-boneblack-common.dtsi
new file mode 100644
index 000000000000..325daae40278
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-boneblack-common.dtsi
@@ -0,0 +1,163 @@
1/*
2 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#include <dt-bindings/display/tda998x.h>
10
11&ldo3_reg {
12 regulator-min-microvolt = <1800000>;
13 regulator-max-microvolt = <1800000>;
14 regulator-always-on;
15};
16
17&mmc1 {
18 vmmc-supply = <&vmmcsd_fixed>;
19};
20
21&mmc2 {
22 vmmc-supply = <&vmmcsd_fixed>;
23 pinctrl-names = "default";
24 pinctrl-0 = <&emmc_pins>;
25 bus-width = <8>;
26 status = "okay";
27};
28
29&am33xx_pinmux {
30 nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
31 pinctrl-single,pins = <
32 AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0 */
33 AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
34 AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
35 AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
36 AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
37 AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
38 AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
39 AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
40 AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
41 AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
42 AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
43 AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
44 AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
45 AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
46 AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
47 AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
48 AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
49 AM33XX_IOPAD(0x8e0, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_vsync.lcd_vsync */
50 AM33XX_IOPAD(0x8e4, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_hsync.lcd_hsync */
51 AM33XX_IOPAD(0x8e8, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_pclk.lcd_pclk */
52 AM33XX_IOPAD(0x8ec, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
53 >;
54 };
55
56 nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
57 pinctrl-single,pins = <
58 AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0 */
59 >;
60 };
61
62 mcasp0_pins: mcasp0_pins {
63 pinctrl-single,pins = <
64 AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLUP | MUX_MODE0) /* mcasp0_ahcklx.mcasp0_ahclkx */
65 AM33XX_IOPAD(0x99c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mcasp0_ahclkr.mcasp0_axr2*/
66 AM33XX_IOPAD(0x994, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mcasp0_fsx.mcasp0_fsx */
67 AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_aclkx.mcasp0_aclkx */
68 AM33XX_IOPAD(0x86c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.GPIO1_27 */
69 >;
70 };
71};
72
73&lcdc {
74 status = "okay";
75
76 /* If you want to get 24 bit RGB and 16 BGR mode instead of
77 * current 16 bit RGB and 24 BGR modes, set the propety
78 * below to "crossed" and uncomment the video-ports -property
79 * in tda19988 node.
80 */
81 blue-and-red-wiring = "straight";
82
83 port {
84 lcdc_0: endpoint@0 {
85 remote-endpoint = <&hdmi_0>;
86 };
87 };
88};
89
90&i2c0 {
91 tda19988: tda19988 {
92 compatible = "nxp,tda998x";
93 reg = <0x70>;
94
95 pinctrl-names = "default", "off";
96 pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
97 pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
98
99 /* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */
100 /* video-ports = <0x234501>; */
101
102 #sound-dai-cells = <0>;
103 audio-ports = < TDA998x_I2S 0x03>;
104
105 ports {
106 port@0 {
107 hdmi_0: endpoint@0 {
108 remote-endpoint = <&lcdc_0>;
109 };
110 };
111 };
112 };
113};
114
115&rtc {
116 system-power-controller;
117};
118
119&mcasp0 {
120 #sound-dai-cells = <0>;
121 pinctrl-names = "default";
122 pinctrl-0 = <&mcasp0_pins>;
123 status = "okay";
124 op-mode = <0>; /* MCASP_IIS_MODE */
125 tdm-slots = <2>;
126 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
127 0 0 1 0
128 >;
129 tx-num-evt = <32>;
130 rx-num-evt = <32>;
131};
132
133/ {
134 clk_mcasp0_fixed: clk_mcasp0_fixed {
135 #clock-cells = <0>;
136 compatible = "fixed-clock";
137 clock-frequency = <24576000>;
138 };
139
140 clk_mcasp0: clk_mcasp0 {
141 #clock-cells = <0>;
142 compatible = "gpio-gate-clock";
143 clocks = <&clk_mcasp0_fixed>;
144 enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */
145 };
146
147 sound {
148 compatible = "simple-audio-card";
149 simple-audio-card,name = "TI BeagleBone Black";
150 simple-audio-card,format = "i2s";
151 simple-audio-card,bitclock-master = <&dailink0_master>;
152 simple-audio-card,frame-master = <&dailink0_master>;
153
154 dailink0_master: simple-audio-card,cpu {
155 sound-dai = <&mcasp0>;
156 clocks = <&clk_mcasp0>;
157 };
158
159 simple-audio-card,codec {
160 sound-dai = <&tda19988>;
161 };
162 };
163};
diff --git a/arch/arm/boot/dts/am335x-boneblack-wireless.dts b/arch/arm/boot/dts/am335x-boneblack-wireless.dts
new file mode 100644
index 000000000000..105bd10655f7
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-boneblack-wireless.dts
@@ -0,0 +1,109 @@
1/*
2 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8/dts-v1/;
9
10#include "am33xx.dtsi"
11#include "am335x-bone-common.dtsi"
12#include "am335x-boneblack-common.dtsi"
13#include <dt-bindings/interrupt-controller/irq.h>
14
15/ {
16 model = "TI AM335x BeagleBone Black Wireless";
17 compatible = "ti,am335x-bone-black-wireless", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
18
19 wlan_en_reg: fixedregulator@2 {
20 compatible = "regulator-fixed";
21 regulator-name = "wlan-en-regulator";
22 regulator-min-microvolt = <1800000>;
23 regulator-max-microvolt = <1800000>;
24 startup-delay-us= <70000>;
25
26 /* WL_EN */
27 gpio = <&gpio3 9 0>;
28 enable-active-high;
29 };
30};
31
32&am33xx_pinmux {
33 bt_pins: pinmux_bt_pins {
34 pinctrl-single,pins = <
35 AM33XX_IOPAD(0x928, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gmii1_txd0.gpio0_28 - BT_EN */
36 >;
37 };
38
39 mmc3_pins: pinmux_mmc3_pins {
40 pinctrl-single,pins = <
41 AM33XX_IOPAD(0x93c, PIN_INPUT_PULLUP | MUX_MODE6 ) /* (L15) gmii1_rxd1.mmc2_clk */
42 AM33XX_IOPAD(0x914, PIN_INPUT_PULLUP | MUX_MODE6 ) /* (J16) gmii1_txen.mmc2_cmd */
43 AM33XX_IOPAD(0x918, PIN_INPUT_PULLUP | MUX_MODE5 ) /* (J17) gmii1_rxdv.mmc2_dat0 */
44 AM33XX_IOPAD(0x91c, PIN_INPUT_PULLUP | MUX_MODE5 ) /* (J18) gmii1_txd3.mmc2_dat1 */
45 AM33XX_IOPAD(0x920, PIN_INPUT_PULLUP | MUX_MODE5 ) /* (K15) gmii1_txd2.mmc2_dat2 */
46 AM33XX_IOPAD(0x908, PIN_INPUT_PULLUP | MUX_MODE5 ) /* (H16) gmii1_col.mmc2_dat3 */
47 >;
48 };
49
50 uart3_pins: pinmux_uart3_pins {
51 pinctrl-single,pins = <
52 AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE1) /* gmii1_rxd3.uart3_rxd */
53 AM33XX_IOPAD(0x938, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gmii1_rxd2.uart3_txd */
54 AM33XX_IOPAD(0x948, PIN_INPUT | MUX_MODE3) /* mdio_data.uart3_ctsn */
55 AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* mdio_clk.uart3_rtsn */
56 >;
57 };
58
59 wl18xx_pins: pinmux_wl18xx_pins {
60 pinctrl-single,pins = <
61 AM33XX_IOPAD(0x92c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gmii1_txclk.gpio3_9 WL_EN */
62 AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE7) /* rmii1_refclk.gpio0_29 WL_IRQ */
63 AM33XX_IOPAD(0x930, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gmii1_rxclk.gpio3_10 LS_BUF_EN */
64 >;
65 };
66};
67
68&mac {
69 status = "disabled";
70};
71
72&mmc3 {
73 dmas = <&edma_xbar 12 0 1
74 &edma_xbar 13 0 2>;
75 dma-names = "tx", "rx";
76 status = "okay";
77 vmmc-supply = <&wlan_en_reg>;
78 bus-width = <4>;
79 non-removable;
80 cap-power-off-card;
81 ti,needs-special-hs-handling;
82 keep-power-in-suspend;
83 pinctrl-names = "default";
84 pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
85
86 #address-cells = <1>;
87 #size-cells = <0>;
88 wlcore: wlcore@2 {
89 compatible = "ti,wl1835";
90 reg = <2>;
91 interrupt-parent = <&gpio0>;
92 interrupts = <29 IRQ_TYPE_EDGE_RISING>;
93 };
94};
95
96&uart3 {
97 pinctrl-names = "default";
98 pinctrl-0 = <&uart3_pins &bt_pins>;
99 status = "okay";
100};
101
102&gpio3 {
103 ls_buf_en {
104 gpio-hog;
105 gpios = <10 GPIO_ACTIVE_HIGH>;
106 output-high;
107 line-name = "LS_BUF_EN";
108 };
109};
diff --git a/arch/arm/boot/dts/am335x-boneblack.dts b/arch/arm/boot/dts/am335x-boneblack.dts
index db00d8ef7b19..77273df1a028 100644
--- a/arch/arm/boot/dts/am335x-boneblack.dts
+++ b/arch/arm/boot/dts/am335x-boneblack.dts
@@ -9,162 +9,9 @@
9 9
10#include "am33xx.dtsi" 10#include "am33xx.dtsi"
11#include "am335x-bone-common.dtsi" 11#include "am335x-bone-common.dtsi"
12#include <dt-bindings/display/tda998x.h> 12#include "am335x-boneblack-common.dtsi"
13 13
14/ { 14/ {
15 model = "TI AM335x BeagleBone Black"; 15 model = "TI AM335x BeagleBone Black";
16 compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; 16 compatible = "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
17}; 17};
18
19&ldo3_reg {
20 regulator-min-microvolt = <1800000>;
21 regulator-max-microvolt = <1800000>;
22 regulator-always-on;
23};
24
25&mmc1 {
26 vmmc-supply = <&vmmcsd_fixed>;
27};
28
29&mmc2 {
30 vmmc-supply = <&vmmcsd_fixed>;
31 pinctrl-names = "default";
32 pinctrl-0 = <&emmc_pins>;
33 bus-width = <8>;
34 status = "okay";
35};
36
37&am33xx_pinmux {
38 nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins {
39 pinctrl-single,pins = <
40 AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0 */
41 AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
42 AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
43 AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
44 AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
45 AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
46 AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
47 AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
48 AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
49 AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
50 AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
51 AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
52 AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
53 AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
54 AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
55 AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
56 AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
57 AM33XX_IOPAD(0x8e0, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_vsync.lcd_vsync */
58 AM33XX_IOPAD(0x8e4, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_hsync.lcd_hsync */
59 AM33XX_IOPAD(0x8e8, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_pclk.lcd_pclk */
60 AM33XX_IOPAD(0x8ec, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
61 >;
62 };
63 nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins {
64 pinctrl-single,pins = <
65 AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0 */
66 >;
67 };
68
69 mcasp0_pins: mcasp0_pins {
70 pinctrl-single,pins = <
71 AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLUP | MUX_MODE0) /* mcasp0_ahcklx.mcasp0_ahclkx */
72 AM33XX_IOPAD(0x99c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mcasp0_ahclkr.mcasp0_axr2*/
73 AM33XX_IOPAD(0x994, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mcasp0_fsx.mcasp0_fsx */
74 AM33XX_IOPAD(0x990, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp0_aclkx.mcasp0_aclkx */
75 AM33XX_IOPAD(0x86c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a11.GPIO1_27 */
76 >;
77 };
78};
79
80&lcdc {
81 status = "okay";
82
83 /* If you want to get 24 bit RGB and 16 BGR mode instead of
84 * current 16 bit RGB and 24 BGR modes, set the propety
85 * below to "crossed" and uncomment the video-ports -property
86 * in tda19988 node.
87 */
88 blue-and-red-wiring = "straight";
89
90 port {
91 lcdc_0: endpoint@0 {
92 remote-endpoint = <&hdmi_0>;
93 };
94 };
95};
96
97&i2c0 {
98 tda19988: tda19988 {
99 compatible = "nxp,tda998x";
100 reg = <0x70>;
101
102 pinctrl-names = "default", "off";
103 pinctrl-0 = <&nxp_hdmi_bonelt_pins>;
104 pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>;
105
106 /* Convert 24bit BGR to RGB, e.g. cross red and blue wiring */
107 /* video-ports = <0x234501>; */
108
109 #sound-dai-cells = <0>;
110 audio-ports = < TDA998x_I2S 0x03>;
111
112 ports {
113 port@0 {
114 hdmi_0: endpoint@0 {
115 remote-endpoint = <&lcdc_0>;
116 };
117 };
118 };
119 };
120};
121
122&rtc {
123 system-power-controller;
124};
125
126&mcasp0 {
127 #sound-dai-cells = <0>;
128 pinctrl-names = "default";
129 pinctrl-0 = <&mcasp0_pins>;
130 status = "okay";
131 op-mode = <0>; /* MCASP_IIS_MODE */
132 tdm-slots = <2>;
133 serial-dir = < /* 0: INACTIVE, 1: TX, 2: RX */
134 0 0 1 0
135 >;
136 tx-num-evt = <32>;
137 rx-num-evt = <32>;
138};
139
140/ {
141 clk_mcasp0_fixed: clk_mcasp0_fixed {
142 #clock-cells = <0>;
143 compatible = "fixed-clock";
144 clock-frequency = <24576000>;
145 };
146
147 clk_mcasp0: clk_mcasp0 {
148 #clock-cells = <0>;
149 compatible = "gpio-gate-clock";
150 clocks = <&clk_mcasp0_fixed>;
151 enable-gpios = <&gpio1 27 0>; /* BeagleBone Black Clk enable on GPIO1_27 */
152 };
153
154 sound {
155 compatible = "simple-audio-card";
156 simple-audio-card,name = "TI BeagleBone Black";
157 simple-audio-card,format = "i2s";
158 simple-audio-card,bitclock-master = <&dailink0_master>;
159 simple-audio-card,frame-master = <&dailink0_master>;
160
161 dailink0_master: simple-audio-card,cpu {
162 sound-dai = <&mcasp0>;
163 clocks = <&clk_mcasp0>;
164 };
165
166 simple-audio-card,codec {
167 sound-dai = <&tda19988>;
168 };
169 };
170};
diff --git a/arch/arm/boot/dts/am335x-bonegreen-common.dtsi b/arch/arm/boot/dts/am335x-bonegreen-common.dtsi
new file mode 100644
index 000000000000..853e6d3a028d
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-bonegreen-common.dtsi
@@ -0,0 +1,44 @@
1/*
2 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9&ldo3_reg {
10 regulator-min-microvolt = <1800000>;
11 regulator-max-microvolt = <1800000>;
12 regulator-always-on;
13};
14
15&mmc1 {
16 vmmc-supply = <&vmmcsd_fixed>;
17};
18
19&mmc2 {
20 vmmc-supply = <&vmmcsd_fixed>;
21 pinctrl-names = "default";
22 pinctrl-0 = <&emmc_pins>;
23 bus-width = <8>;
24 status = "okay";
25};
26
27&am33xx_pinmux {
28 uart2_pins: uart2_pins {
29 pinctrl-single,pins = <
30 AM33XX_IOPAD(0x950, PIN_INPUT | MUX_MODE1) /* spi0_sclk.uart2_rxd */
31 AM33XX_IOPAD(0x954, PIN_OUTPUT | MUX_MODE1) /* spi0_d0.uart2_txd */
32 >;
33 };
34};
35
36&uart2 {
37 pinctrl-names = "default";
38 pinctrl-0 = <&uart2_pins>;
39 status = "okay";
40};
41
42&rtc {
43 system-power-controller;
44};
diff --git a/arch/arm/boot/dts/am335x-bonegreen-wireless.dts b/arch/arm/boot/dts/am335x-bonegreen-wireless.dts
new file mode 100644
index 000000000000..9d1a0fd555f3
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-bonegreen-wireless.dts
@@ -0,0 +1,126 @@
1/*
2 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8/dts-v1/;
9
10#include "am33xx.dtsi"
11#include "am335x-bone-common.dtsi"
12#include "am335x-bonegreen-common.dtsi"
13#include <dt-bindings/interrupt-controller/irq.h>
14
15/ {
16 model = "TI AM335x BeagleBone Green Wireless";
17 compatible = "ti,am335x-bone-green-wireless", "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
18
19 wlan_en_reg: fixedregulator@2 {
20 compatible = "regulator-fixed";
21 regulator-name = "wlan-en-regulator";
22 regulator-min-microvolt = <1800000>;
23 regulator-max-microvolt = <1800000>;
24 startup-delay-us= <70000>;
25
26 /* WL_EN */
27 gpio = <&gpio0 26 0>;
28 enable-active-high;
29 };
30};
31
32&am33xx_pinmux {
33 bt_pins: pinmux_bt_pins {
34 pinctrl-single,pins = <
35 AM33XX_IOPAD(0x878, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_ad12.gpio1_28 BT_EN */
36 >;
37 };
38
39 mmc3_pins: pinmux_mmc3_pins {
40 pinctrl-single,pins = <
41 AM33XX_IOPAD(0x830, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad12.mmc2_dat0 */
42 AM33XX_IOPAD(0x834, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad13.mmc2_dat1 */
43 AM33XX_IOPAD(0x838, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad14.mmc2_dat2 */
44 AM33XX_IOPAD(0x83c, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_ad15.mmc2_dat3 */
45 AM33XX_IOPAD(0x888, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_csn3.mmc2_cmd */
46 AM33XX_IOPAD(0x88c, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_clk.mmc2_clk */
47 >;
48 };
49
50 uart3_pins: pinmux_uart3_pins {
51 pinctrl-single,pins = <
52 AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE1) /* gmii1_rxd3.uart3_rxd */
53 AM33XX_IOPAD(0x938, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* gmii1_rxd2.uart3_txd */
54 AM33XX_IOPAD(0x948, PIN_INPUT | MUX_MODE3) /* mdio_data.uart3_ctsn */
55 AM33XX_IOPAD(0x94c, PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* mdio_clk.uart3_rtsn */
56 >;
57 };
58
59 wl18xx_pins: pinmux_wl18xx_pins {
60 pinctrl-single,pins = <
61 AM33XX_IOPAD(0x828, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.gpio0_26 WL_EN */
62 AM33XX_IOPAD(0x82C, PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.gpio0_27 WL_IRQ */
63 AM33XX_IOPAD(0x87C, PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_csn0.gpio1_29 LS_BUF_EN */
64 >;
65 };
66};
67
68&mac {
69 status = "disabled";
70};
71
72&mmc3 {
73 dmas = <&edma_xbar 12 0 1
74 &edma_xbar 13 0 2>;
75 dma-names = "tx", "rx";
76 status = "okay";
77 vmmc-supply = <&wlan_en_reg>;
78 bus-width = <4>;
79 non-removable;
80 cap-power-off-card;
81 ti,needs-special-hs-handling;
82 keep-power-in-suspend;
83 pinctrl-names = "default";
84 pinctrl-0 = <&mmc3_pins &wl18xx_pins>;
85
86 #address-cells = <1>;
87 #size-cells = <0>;
88 wlcore: wlcore@2 {
89 compatible = "ti,wl1835";
90 reg = <2>;
91 interrupt-parent = <&gpio0>;
92 interrupts = <27 IRQ_TYPE_EDGE_RISING>;
93 };
94};
95
96&uart3 {
97 pinctrl-names = "default";
98 pinctrl-0 = <&uart3_pins &bt_pins>;
99 status = "okay";
100};
101
102&gpio1 {
103 ls_buf_en {
104 gpio-hog;
105 gpios = <29 GPIO_ACTIVE_HIGH>;
106 output-high;
107 line-name = "LS_BUF_EN";
108 };
109};
110
111/* BT_AUD_OUT from wl1835 has to be pulled low when WL_EN is activated.*/
112/* in case it isn't, wilink8 ends up in one of the test modes that */
113/* intruces various issues (elp wkaeup timeouts etc.) */
114/* On the BBGW this pin is routed through the level shifter (U21) that */
115/* introduces a pullup on the line and wilink8 ends up in a bad state. */
116/* use a gpio hog to force this pin low. An alternative may be adding */
117/* an external pulldown on U21 pin 4. */
118
119&gpio3 {
120 bt_aud_in {
121 gpio-hog;
122 gpios = <16 GPIO_ACTIVE_HIGH>;
123 output-low;
124 line-name = "MCASP0_AHCLKR";
125 };
126};
diff --git a/arch/arm/boot/dts/am335x-bonegreen.dts b/arch/arm/boot/dts/am335x-bonegreen.dts
index dce3c8657e04..a8b4d969ce2a 100644
--- a/arch/arm/boot/dts/am335x-bonegreen.dts
+++ b/arch/arm/boot/dts/am335x-bonegreen.dts
@@ -9,45 +9,9 @@
9 9
10#include "am33xx.dtsi" 10#include "am33xx.dtsi"
11#include "am335x-bone-common.dtsi" 11#include "am335x-bone-common.dtsi"
12#include "am335x-bonegreen-common.dtsi"
12 13
13/ { 14/ {
14 model = "TI AM335x BeagleBone Green"; 15 model = "TI AM335x BeagleBone Green";
15 compatible = "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx"; 16 compatible = "ti,am335x-bone-green", "ti,am335x-bone-black", "ti,am335x-bone", "ti,am33xx";
16}; 17};
17
18&ldo3_reg {
19 regulator-min-microvolt = <1800000>;
20 regulator-max-microvolt = <1800000>;
21 regulator-always-on;
22};
23
24&mmc1 {
25 vmmc-supply = <&vmmcsd_fixed>;
26};
27
28&mmc2 {
29 vmmc-supply = <&vmmcsd_fixed>;
30 pinctrl-names = "default";
31 pinctrl-0 = <&emmc_pins>;
32 bus-width = <8>;
33 status = "okay";
34};
35
36&am33xx_pinmux {
37 uart2_pins: uart2_pins {
38 pinctrl-single,pins = <
39 AM33XX_IOPAD(0x950, PIN_INPUT | MUX_MODE1) /* spi0_sclk.uart2_rxd */
40 AM33XX_IOPAD(0x954, PIN_OUTPUT | MUX_MODE1) /* spi0_d0.uart2_txd */
41 >;
42 };
43};
44
45&uart2 {
46 pinctrl-names = "default";
47 pinctrl-0 = <&uart2_pins>;
48 status = "okay";
49};
50
51&rtc {
52 system-power-controller;
53};
diff --git a/arch/arm/boot/dts/am335x-chilisom.dtsi b/arch/arm/boot/dts/am335x-chilisom.dtsi
index f9ee5859c154..1b43ebd08b38 100644
--- a/arch/arm/boot/dts/am335x-chilisom.dtsi
+++ b/arch/arm/boot/dts/am335x-chilisom.dtsi
@@ -124,6 +124,14 @@
124 124
125&rtc { 125&rtc {
126 system-power-controller; 126 system-power-controller;
127
128 pinctrl-0 = <&ext_wakeup>;
129 pinctrl-names = "default";
130
131 ext_wakeup: ext-wakeup {
132 pins = "ext_wakeup0";
133 input-enable;
134 };
127}; 135};
128 136
129/* NAND Flash */ 137/* NAND Flash */
diff --git a/arch/arm/boot/dts/am335x-evm.dts b/arch/arm/boot/dts/am335x-evm.dts
index c2186ec2834b..1c37a7c1ea17 100644
--- a/arch/arm/boot/dts/am335x-evm.dts
+++ b/arch/arm/boot/dts/am335x-evm.dts
@@ -25,6 +25,10 @@
25 reg = <0x80000000 0x10000000>; /* 256 MB */ 25 reg = <0x80000000 0x10000000>; /* 256 MB */
26 }; 26 };
27 27
28 chosen {
29 stdout-path = &uart0;
30 };
31
28 vbat: fixedregulator0 { 32 vbat: fixedregulator0 {
29 compatible = "regulator-fixed"; 33 compatible = "regulator-fixed";
30 regulator-name = "vbat"; 34 regulator-name = "vbat";
diff --git a/arch/arm/boot/dts/am335x-evmsk.dts b/arch/arm/boot/dts/am335x-evmsk.dts
index e2548d1ce753..9e43c443738a 100644
--- a/arch/arm/boot/dts/am335x-evmsk.dts
+++ b/arch/arm/boot/dts/am335x-evmsk.dts
@@ -32,6 +32,10 @@
32 reg = <0x80000000 0x10000000>; /* 256 MB */ 32 reg = <0x80000000 0x10000000>; /* 256 MB */
33 }; 33 };
34 34
35 chosen {
36 stdout-path = &uart0;
37 };
38
35 vbat: fixedregulator0 { 39 vbat: fixedregulator0 {
36 compatible = "regulator-fixed"; 40 compatible = "regulator-fixed";
37 regulator-name = "vbat"; 41 regulator-name = "vbat";
diff --git a/arch/arm/boot/dts/am335x-icev2.dts b/arch/arm/boot/dts/am335x-icev2.dts
index 8ed46f9d79b7..a2ad076822db 100644
--- a/arch/arm/boot/dts/am335x-icev2.dts
+++ b/arch/arm/boot/dts/am335x-icev2.dts
@@ -24,6 +24,10 @@
24 reg = <0x80000000 0x10000000>; /* 256 MB */ 24 reg = <0x80000000 0x10000000>; /* 256 MB */
25 }; 25 };
26 26
27 chosen {
28 stdout-path = &uart3;
29 };
30
27 vbat: fixedregulator0 { 31 vbat: fixedregulator0 {
28 compatible = "regulator-fixed"; 32 compatible = "regulator-fixed";
29 regulator-name = "vbat"; 33 regulator-name = "vbat";
diff --git a/arch/arm/boot/dts/am335x-nano.dts b/arch/arm/boot/dts/am335x-nano.dts
index 483d585c8908..807494bc722b 100644
--- a/arch/arm/boot/dts/am335x-nano.dts
+++ b/arch/arm/boot/dts/am335x-nano.dts
@@ -249,7 +249,8 @@
249 249
250 #address-cells = <2>; 250 #address-cells = <2>;
251 #size-cells = <1>; 251 #size-cells = <1>;
252 ranges = <0 0 0x08000000 0x08000000>; /* CS0: NOR 128M */ 252 ranges = <0 0 0x08000000 0x08000000>, /* CS0: NOR 128M */
253 <1 0 0x1c000000 0x01000000>; /* CS1: FRAM 16M */
253 254
254 nor@0,0 { 255 nor@0,0 {
255 reg = <0 0x00000000 0x08000000>; 256 reg = <0 0x00000000 0x08000000>;
@@ -342,6 +343,34 @@
342 reg = <0x04000000 0x04000000>; /* 64MB */ 343 reg = <0x04000000 0x04000000>; /* 64MB */
343 }; 344 };
344 }; 345 };
346
347 fram@1,0 {
348 reg = <1 0x00000000 0x01000000>;
349 bank-width = <2>;
350
351 gpmc,mux-add-data = <2>;
352
353 gpmc,sync-clk-ps = <0>;
354 gpmc,cs-on-ns = <0>;
355 gpmc,cs-rd-off-ns = <160>;
356 gpmc,cs-wr-off-ns = <160>;
357 gpmc,adv-on-ns = <10>;
358 gpmc,adv-rd-off-ns = <20>;
359 gpmc,adv-wr-off-ns = <20>;
360 gpmc,oe-on-ns = <30>;
361 gpmc,oe-off-ns = <150>;
362 gpmc,we-on-ns = <30>;
363 gpmc,we-off-ns = <150>;
364 gpmc,rd-cycle-ns = <160>;
365 gpmc,wr-cycle-ns = <160>;
366 gpmc,access-ns = <130>;
367 gpmc,page-burst-access-ns = <10>;
368 gpmc,cycle2cycle-samecsen;
369 gpmc,cycle2cycle-diffcsen;
370 gpmc,cycle2cycle-delay-ns = <10>;
371 gpmc,wr-data-mux-bus-ns = <30>;
372 gpmc,wr-access-ns = <0>;
373 };
345}; 374};
346 375
347&mac { 376&mac {
diff --git a/arch/arm/boot/dts/am335x-pcm-953.dtsi b/arch/arm/boot/dts/am335x-pcm-953.dtsi
new file mode 100644
index 000000000000..1ec8e0d80191
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-pcm-953.dtsi
@@ -0,0 +1,288 @@
1/*
2 * Copyright (C) 2014-2017 Phytec Messtechnik GmbH
3 * Author: Wadim Egorov <w.egorov@phytec.de>
4 * Teresa Remmet <t.remmet@phytec.de>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#include <dt-bindings/input/input.h>
12
13/ {
14 model = "Phytec AM335x PCM-953";
15 compatible = "phytec,am335x-pcm-953", "phytec,am335x-phycore-som", "ti,am33xx";
16
17 /* Power */
18 regulators {
19 vcc3v3: fixedregulator@1 {
20 compatible = "regulator-fixed";
21 regulator-name = "vcc3v3";
22 regulator-min-microvolt = <3300000>;
23 regulator-max-microvolt = <3300000>;
24 regulator-boot-on;
25 };
26
27 vcc1v8: fixedregulator@2 {
28 compatible = "regulator-fixed";
29 regulator-name = "vcc1v8";
30 regulator-min-microvolt = <1800000>;
31 regulator-max-microvolt = <1800000>;
32 regulator-boot-on;
33 };
34 };
35
36 /* User IO */
37 user_leds: user_leds {
38 compatible = "gpio-leds";
39 pinctrl-names = "default";
40 pinctrl-0 = <&user_leds_pins>;
41
42 green {
43 label = "green:user";
44 gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
45 linux,default-trigger = "gpio";
46 default-state = "on";
47 };
48
49 yellow {
50 label = "yellow:user";
51 gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
52 linux,default-trigger = "gpio";
53 default-state = "on";
54 };
55 };
56
57 user_buttons: user_buttons {
58 compatible = "gpio-keys";
59 pinctrl-names = "default";
60 pinctrl-0 = <&user_buttons_pins>;
61
62 button@0 {
63 label = "home";
64 linux,code = <KEY_HOME>;
65 gpios = <&gpio3 7 GPIO_ACTIVE_HIGH>;
66 wakeup-source;
67 };
68
69 button@1 {
70 label = "menu";
71 linux,code = <KEY_MENU>;
72 gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>;
73 wakeup-source;
74 };
75
76 };
77};
78
79&am33xx_pinmux {
80 user_buttons_pins: pinmux_user_buttons {
81 pinctrl-single,pins = <
82 AM33XX_IOPAD(0x9e4, PIN_INPUT_PULLDOWN | MUX_MODE7) /* emu0.gpio3_7 */
83 AM33XX_IOPAD(0x9e8, PIN_INPUT_PULLDOWN | MUX_MODE7) /* emu1.gpio3_8 */
84 >;
85 };
86
87 user_leds_pins: pinmux_user_leds {
88 pinctrl-single,pins = <
89 AM33XX_IOPAD(0x880, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_csn1.gpio1_30 */
90 AM33XX_IOPAD(0x884, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_csn2.gpio1_31 */
91 >;
92 };
93};
94
95/* CAN */
96&am33xx_pinmux {
97 dcan1_pins: pinmux_dcan1 {
98 pinctrl-single,pins = <
99 AM33XX_IOPAD(0x980, PIN_OUTPUT_PULLUP | MUX_MODE2) /* uart1_rxd.dcan1_tx_mux2 */
100 AM33XX_IOPAD(0x984, PIN_INPUT_PULLUP | MUX_MODE2) /* uart1_txd.dcan1_rx_mux2 */
101 >;
102 };
103};
104
105&dcan1 {
106 pinctrl-names = "default";
107 pinctrl-0 = <&dcan1_pins>;
108 status = "okay";
109};
110
111/* Ethernet */
112&am33xx_pinmux {
113 ethernet1_pins: pinmux_ethernet1 {
114 pinctrl-single,pins = <
115 AM33XX_IOPAD(0x840, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
116 AM33XX_IOPAD(0x844, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a1.rgmii2_rctl */
117 AM33XX_IOPAD(0x848, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
118 AM33XX_IOPAD(0x84c, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
119 AM33XX_IOPAD(0x850, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
120 AM33XX_IOPAD(0x854, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
121 AM33XX_IOPAD(0x858, PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
122 AM33XX_IOPAD(0x85c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
123 AM33XX_IOPAD(0x860, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
124 AM33XX_IOPAD(0x864, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
125 AM33XX_IOPAD(0x868, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
126 AM33XX_IOPAD(0x86c, PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
127 >;
128 };
129};
130
131&cpsw_emac1 {
132 phy-handle = <&phy1>;
133 phy-mode = "rgmii-id";
134 dual_emac_res_vlan = <2>;
135 status = "okay";
136};
137
138&davinci_mdio {
139 phy1: ethernet-phy@2 {
140 reg = <2>;
141
142 /* Register 260 (104h) – RGMII Clock and Control Pad Skew */
143 rxc-skew-ps = <1400>;
144 rxdv-skew-ps = <0>;
145 txc-skew-ps = <1400>;
146 txen-skew-ps = <0>;
147 /* Register 261 (105h) – RGMII RX Data Pad Skew */
148 rxd3-skew-ps = <0>;
149 rxd2-skew-ps = <0>;
150 rxd1-skew-ps = <0>;
151 rxd0-skew-ps = <0>;
152 /* Register 262 (106h) – RGMII TX Data Pad Skew */
153 txd3-skew-ps = <0>;
154 txd2-skew-ps = <0>;
155 txd1-skew-ps = <0>;
156 txd0-skew-ps = <0>;
157 };
158};
159
160&mac {
161 slaves = <2>;
162 pinctrl-names = "default";
163 pinctrl-0 = <&ethernet0_pins &ethernet1_pins>;
164 dual_emac;
165};
166
167/* Misc */
168&am33xx_pinmux {
169 pinctrl-names = "default";
170 pinctrl-0 = <&cb_gpio_pins>;
171
172 cb_gpio_pins: pinmux_cb_gpio {
173 pinctrl-single,pins = <
174 AM33XX_IOPAD(0x968, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* uart0_ctsn.gpio1_8 */
175 AM33XX_IOPAD(0x96c, PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* uart0_rtsn.gpio1_9 */
176 >;
177 };
178};
179
180/* MMC */
181&am33xx_pinmux {
182 mmc1_pins: pinmux_mmc1_pins {
183 pinctrl-single,pins = <
184 AM33XX_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
185 AM33XX_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
186 AM33XX_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
187 AM33XX_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
188 AM33XX_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
189 AM33XX_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
190 AM33XX_IOPAD(0x960, PIN_INPUT_PULLUP | MUX_MODE7) /* spi0_cs1.mmc0_sdcd */
191 >;
192 };
193};
194
195&mmc1 {
196 vmmc-supply = <&vcc3v3>;
197 bus-width = <4>;
198 pinctrl-names = "default";
199 pinctrl-0 = <&mmc1_pins>;
200 cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
201 status = "okay";
202};
203
204/* UARTs */
205&am33xx_pinmux {
206 uart0_pins: pinmux_uart0 {
207 pinctrl-single,pins = <
208 AM33XX_IOPAD(0x970, PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
209 AM33XX_IOPAD(0x974, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
210 >;
211 };
212
213 uart1_pins: pinmux_uart1 {
214 pinctrl-single,pins = <
215 AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
216 AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
217 AM33XX_IOPAD(0x978, PIN_INPUT | MUX_MODE0) /* uart1_ctsn.uart1_ctsn */
218 AM33XX_IOPAD(0x97c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_rtsn.uart1_rtsn */
219 >;
220 };
221
222 uart2_pins: pinmux_uart2 {
223 pinctrl-single,pins = <
224 AM33XX_IOPAD(0x92c, PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_tx_clk.uart2_rxd */
225 AM33XX_IOPAD(0x930, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_rx_clk.uart2_txd */
226 >;
227 };
228
229 uart3_pins: pinmux_uart3 {
230 pinctrl-single,pins = <
231 AM33XX_IOPAD(0x934, PIN_INPUT_PULLUP | MUX_MODE1) /* mii1_rxd3.uart3_rxd */
232 AM33XX_IOPAD(0x938, PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd2.uart3_txd */
233 >;
234 };
235};
236
237&uart0 {
238 pinctrl-names = "default";
239 pinctrl-0 = <&uart0_pins>;
240 status = "okay";
241};
242
243&uart1 {
244 pinctrl-names = "default";
245 pinctrl-0 = <&uart1_pins>;
246};
247
248&uart2 {
249 pinctrl-names = "default";
250 pinctrl-0 = <&uart2_pins>;
251 status = "okay";
252};
253
254&uart3 {
255 pinctrl-names = "default";
256 pinctrl-0 = <&uart3_pins>;
257 status = "okay";
258};
259
260/* USB */
261&cppi41dma {
262 status = "okay";
263};
264
265&usb_ctrl_mod {
266 status = "okay";
267};
268
269&usb {
270 status = "okay";
271};
272
273&usb0 {
274 status = "okay";
275};
276
277&usb0_phy {
278 status = "okay";
279};
280
281&usb1 {
282 status = "okay";
283 dr_mode = "host";
284};
285
286&usb1_phy {
287 status = "okay";
288};
diff --git a/arch/arm/boot/dts/am335x-phycore-rdk.dts b/arch/arm/boot/dts/am335x-phycore-rdk.dts
new file mode 100644
index 000000000000..305f0b35d6ea
--- /dev/null
+++ b/arch/arm/boot/dts/am335x-phycore-rdk.dts
@@ -0,0 +1,27 @@
1/*
2 * Copyright (C) 2014 PHYTEC Messtechnik GmbH
3 * Author: Wadim Egorov <w.egorov@phytec.de>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8 */
9
10/dts-v1/;
11
12#include "am335x-phycore-som.dtsi"
13#include "am335x-pcm-953.dtsi"
14
15/* SoM */
16&i2c_eeprom {
17 status = "okay";
18};
19
20&i2c_rtc {
21 status = "okay";
22};
23
24&serial_flash {
25 status = "okay";
26
27};
diff --git a/arch/arm/boot/dts/am335x-phycore-som.dtsi b/arch/arm/boot/dts/am335x-phycore-som.dtsi
index 75e24add3f13..14533ff6d0ad 100644
--- a/arch/arm/boot/dts/am335x-phycore-som.dtsi
+++ b/arch/arm/boot/dts/am335x-phycore-som.dtsi
@@ -78,7 +78,7 @@
78}; 78};
79 79
80&cpsw_emac0 { 80&cpsw_emac0 {
81 phy_id = <&davinci_mdio>, <0>; 81 phy-handle = <&phy0>;
82 phy-mode = "rmii"; 82 phy-mode = "rmii";
83 dual_emac_res_vlan = <1>; 83 dual_emac_res_vlan = <1>;
84}; 84};
@@ -87,6 +87,10 @@
87 pinctrl-names = "default"; 87 pinctrl-names = "default";
88 pinctrl-0 = <&mdio_pins>; 88 pinctrl-0 = <&mdio_pins>;
89 status = "okay"; 89 status = "okay";
90
91 phy0: ethernet-phy@0 {
92 reg = <0>;
93 };
90}; 94};
91 95
92&mac { 96&mac {
@@ -120,6 +124,12 @@
120 reg = <0x2d>; 124 reg = <0x2d>;
121 }; 125 };
122 126
127 i2c_tmp102: temp@4b {
128 compatible = "ti,tmp102";
129 reg = <0x4b>;
130 status = "disabled";
131 };
132
123 i2c_eeprom: eeprom@52 { 133 i2c_eeprom: eeprom@52 {
124 compatible = "atmel,24c32"; 134 compatible = "atmel,24c32";
125 pagesize = <32>; 135 pagesize = <32>;
@@ -201,43 +211,6 @@
201 211
202 #address-cells = <1>; 212 #address-cells = <1>;
203 #size-cells = <1>; 213 #size-cells = <1>;
204
205 partition@0 {
206 label = "xload";
207 reg = <0x0 0x20000>;
208 };
209 partition@1 {
210 label = "xload_backup1";
211 reg = <0x20000 0x20000>;
212 };
213 partition@2 {
214 label = "xload_backup2";
215 reg = <0x40000 0x20000>;
216 };
217 partition@3 {
218 label = "xload_backup3";
219 reg = <0x60000 0x20000>;
220 };
221 partition@4 {
222 label = "barebox";
223 reg = <0x80000 0x80000>;
224 };
225 partition@5 {
226 label = "bareboxenv";
227 reg = <0x100000 0x40000>;
228 };
229 partition@6 {
230 label = "oftree";
231 reg = <0x140000 0x40000>;
232 };
233 partition@7 {
234 label = "kernel";
235 reg = <0x180000 0x800000>;
236 };
237 partition@8 {
238 label = "root";
239 reg = <0x980000 0x0>;
240 };
241 }; 214 };
242}; 215};
243 216
@@ -341,33 +314,12 @@
341 status = "okay"; 314 status = "okay";
342 315
343 serial_flash: m25p80@0 { 316 serial_flash: m25p80@0 {
344 compatible = "m25p80"; 317 compatible = "jedec,spi-nor";
345 spi-max-frequency = <48000000>; 318 spi-max-frequency = <48000000>;
346 reg = <0x0>; 319 reg = <0x0>;
347 m25p,fast-read; 320 m25p,fast-read;
348 status = "disabled"; 321 status = "disabled";
349 #address-cells = <1>; 322 #address-cells = <1>;
350 #size-cells = <1>; 323 #size-cells = <1>;
351
352 partition@0 {
353 label = "xload";
354 reg = <0x0 0x20000>;
355 };
356 partition@1 {
357 label = "barebox";
358 reg = <0x20000 0x80000>;
359 };
360 partition@2 {
361 label = "bareboxenv";
362 reg = <0xa0000 0x20000>;
363 };
364 partition@3 {
365 label = "oftree";
366 reg = <0xc0000 0x20000>;
367 };
368 partition@4 {
369 label = "kernel";
370 reg = <0xe0000 0x0>;
371 };
372 }; 324 };
373}; 325};
diff --git a/arch/arm/boot/dts/am335x-sl50.dts b/arch/arm/boot/dts/am335x-sl50.dts
index b0dfa6f14cd5..c5d2589c55fc 100644
--- a/arch/arm/boot/dts/am335x-sl50.dts
+++ b/arch/arm/boot/dts/am335x-sl50.dts
@@ -136,6 +136,13 @@
136 >; 136 >;
137 }; 137 };
138 138
139 uart1_pins: pinmux_uart1_pins {
140 pinctrl-single,pins = <
141 AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE0) /* uart1_rxd.uart1_rxd */
142 AM33XX_IOPAD(0x984, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart1_txd.uart1_txd */
143 >;
144 };
145
139 uart4_pins: pinmux_uart4_pins { 146 uart4_pins: pinmux_uart4_pins {
140 pinctrl-single,pins = < 147 pinctrl-single,pins = <
141 AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE6) /* gpmc_wait0.uart4_rxd */ 148 AM33XX_IOPAD(0x870, PIN_INPUT_PULLUP | MUX_MODE6) /* gpmc_wait0.uart4_rxd */
@@ -150,13 +157,6 @@
150 >; 157 >;
151 }; 158 };
152 159
153 i2c1_pins: pinmux_i2c1_pins {
154 pinctrl-single,pins = <
155 AM33XX_IOPAD(0x980, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_rxd.i2c1_sda */
156 AM33XX_IOPAD(0x984, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_txdi2c1_scl */
157 >;
158 };
159
160 i2c2_pins: pinmux_i2c2_pins { 160 i2c2_pins: pinmux_i2c2_pins {
161 pinctrl-single,pins = < 161 pinctrl-single,pins = <
162 AM33XX_IOPAD(0x978, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_ctsn.i2c2_sda */ 162 AM33XX_IOPAD(0x978, PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_ctsn.i2c2_sda */
@@ -262,6 +262,16 @@
262 >; 262 >;
263 }; 263 };
264 264
265 spi0_pins: pinmux_spi0_pins {
266 pinctrl-single,pins = <
267 AM33XX_IOPAD(0x954, PIN_INPUT_PULLUP | MUX_MODE0) /* SPI0_MOSI - spi0_d0.spi0_d0 */
268 AM33XX_IOPAD(0x958, PIN_INPUT_PULLUP | MUX_MODE0) /* SPI0_MISO - spi0_d1.spi0_d1 */
269 AM33XX_IOPAD(0x950, PIN_INPUT_PULLUP | MUX_MODE0) /* SPI0_CLK - spi0_clk.spi0_clk */
270 AM33XX_IOPAD(0x95c, PIN_INPUT_PULLUP | MUX_MODE0) /* SPI0_CS0 (NBATTSS) - spi0_cs0.spi0_cs0 */
271 AM33XX_IOPAD(0x960, PIN_INPUT_PULLUP | MUX_MODE0) /* SPI0_CS1 (FPGA_FLASH_NCS) - spi0_cs1.spi0_cs1 */
272 >;
273 };
274
265 lwb_pins: pinmux_lwb_pins { 275 lwb_pins: pinmux_lwb_pins {
266 pinctrl-single,pins = < 276 pinctrl-single,pins = <
267 AM33XX_IOPAD(0x9a4, PIN_OUTPUT | MUX_MODE7) /* SoundPA_en - mcasp0_fsr.gpio3_19 */ 277 AM33XX_IOPAD(0x9a4, PIN_OUTPUT | MUX_MODE7) /* SoundPA_en - mcasp0_fsr.gpio3_19 */
@@ -292,16 +302,22 @@
292 reg = <0x24>; 302 reg = <0x24>;
293 }; 303 };
294 304
305 bq32000: rtc@68 {
306 compatible = "ti,bq32000";
307 trickle-resistor-ohms = <1120>;
308 reg = <0x68>;
309 };
310
295 eeprom: eeprom@50 { 311 eeprom: eeprom@50 {
296 compatible = "at,24c256"; 312 compatible = "at,24c256";
297 reg = <0x50>; 313 reg = <0x50>;
298 }; 314 };
299};
300 315
301&i2c1 { 316 gpio_exp: mcp23017@20 {
302 status = "okay"; 317 compatible = "microchip,mcp23017";
303 pinctrl-names = "default"; 318 reg = <0x20>;
304 pinctrl-0 = <&i2c1_pins>; 319 };
320
305}; 321};
306 322
307&i2c2 { 323&i2c2 {
@@ -321,6 +337,16 @@
321 DRVDD-supply = <&ldo4_reg>; 337 DRVDD-supply = <&ldo4_reg>;
322 DVDD-supply = <&ldo3_reg>; 338 DVDD-supply = <&ldo3_reg>;
323 }; 339 };
340
341 /* Ambient Light Sensor */
342 als: isl29023@44 {
343 compatible = "isil,isl29023";
344 reg = <0x44>;
345 };
346};
347
348&rtc {
349 status = "disabled";
324}; 350};
325 351
326&usb { 352&usb {
@@ -394,12 +420,32 @@
394 pinctrl-0 = <&uart0_pins>; 420 pinctrl-0 = <&uart0_pins>;
395}; 421};
396 422
423&uart1 {
424 status = "okay";
425 pinctrl-names = "default";
426 pinctrl-0 = <&uart1_pins>;
427};
428
397&uart4 { 429&uart4 {
398 status = "okay"; 430 status = "okay";
399 pinctrl-names = "default"; 431 pinctrl-names = "default";
400 pinctrl-0 = <&uart4_pins>; 432 pinctrl-0 = <&uart4_pins>;
401}; 433};
402 434
435&spi0 {
436 status = "okay";
437 pinctrl-names = "default";
438 pinctrl-0 = <&spi0_pins>;
439
440 flash: n25q032@1 {
441 #address-cells = <1>;
442 #size-cells = <1>;
443 compatible = "micron,n25q032";
444 reg = <1>;
445 spi-max-frequency = <5000000>;
446 };
447};
448
403#include "tps65217.dtsi" 449#include "tps65217.dtsi"
404 450
405&tps { 451&tps {
diff --git a/arch/arm/boot/dts/am335x-wega.dtsi b/arch/arm/boot/dts/am335x-wega.dtsi
index 02c67365c4e1..8ce541739b24 100644
--- a/arch/arm/boot/dts/am335x-wega.dtsi
+++ b/arch/arm/boot/dts/am335x-wega.dtsi
@@ -119,11 +119,17 @@
119}; 119};
120 120
121&cpsw_emac1 { 121&cpsw_emac1 {
122 phy_id = <&davinci_mdio>, <1>; 122 phy-handle = <&phy1>;
123 phy-mode = "mii"; 123 phy-mode = "mii";
124 dual_emac_res_vlan = <2>; 124 dual_emac_res_vlan = <2>;
125}; 125};
126 126
127&davinci_mdio {
128 phy1: ethernet-phy@1 {
129 reg = <1>;
130 };
131};
132
127&mac { 133&mac {
128 slaves = <2>; 134 slaves = <2>;
129 pinctrl-names = "default"; 135 pinctrl-names = "default";
@@ -206,7 +212,6 @@
206}; 212};
207 213
208&usb0 { 214&usb0 {
209 dr_mode = "peripheral";
210 status = "okay"; 215 status = "okay";
211}; 216};
212 217
diff --git a/arch/arm/boot/dts/am437x-gp-evm.dts b/arch/arm/boot/dts/am437x-gp-evm.dts
index 957840cc7b78..a4f31739057f 100644
--- a/arch/arm/boot/dts/am437x-gp-evm.dts
+++ b/arch/arm/boot/dts/am437x-gp-evm.dts
@@ -23,6 +23,10 @@
23 display0 = &lcd0; 23 display0 = &lcd0;
24 }; 24 };
25 25
26 chosen {
27 stdout-path = &uart0;
28 };
29
26 evm_v3_3d: fixedregulator-v3_3d { 30 evm_v3_3d: fixedregulator-v3_3d {
27 compatible = "regulator-fixed"; 31 compatible = "regulator-fixed";
28 regulator-name = "evm_v3_3d"; 32 regulator-name = "evm_v3_3d";
diff --git a/arch/arm/boot/dts/am437x-idk-evm.dts b/arch/arm/boot/dts/am437x-idk-evm.dts
index b76a7c0264a5..c1f7f9336e64 100644
--- a/arch/arm/boot/dts/am437x-idk-evm.dts
+++ b/arch/arm/boot/dts/am437x-idk-evm.dts
@@ -18,6 +18,10 @@
18 model = "TI AM437x Industrial Development Kit"; 18 model = "TI AM437x Industrial Development Kit";
19 compatible = "ti,am437x-idk-evm","ti,am4372","ti,am43"; 19 compatible = "ti,am437x-idk-evm","ti,am4372","ti,am43";
20 20
21 chosen {
22 stdout-path = &uart0;
23 };
24
21 v24_0d: fixed-regulator-v24_0d { 25 v24_0d: fixed-regulator-v24_0d {
22 compatible = "regulator-fixed"; 26 compatible = "regulator-fixed";
23 regulator-name = "V24_0D"; 27 regulator-name = "V24_0D";
diff --git a/arch/arm/boot/dts/am437x-sk-evm.dts b/arch/arm/boot/dts/am437x-sk-evm.dts
index 319d94205350..4dc54bee2f36 100644
--- a/arch/arm/boot/dts/am437x-sk-evm.dts
+++ b/arch/arm/boot/dts/am437x-sk-evm.dts
@@ -24,6 +24,10 @@
24 display0 = &lcd0; 24 display0 = &lcd0;
25 }; 25 };
26 26
27 chosen {
28 stdout-path = &uart0;
29 };
30
27 /* fixed 32k external oscillator clock */ 31 /* fixed 32k external oscillator clock */
28 clk_32k_rtc: clk_32k_rtc { 32 clk_32k_rtc: clk_32k_rtc {
29 #clock-cells = <0>; 33 #clock-cells = <0>;
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index 9d35c3f07cad..9acd4ccdec4e 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -24,6 +24,10 @@
24 display0 = &lcd0; 24 display0 = &lcd0;
25 }; 25 };
26 26
27 chosen {
28 stdout-path = &uart0;
29 };
30
27 vmmcsd_fixed: fixedregulator-sd { 31 vmmcsd_fixed: fixedregulator-sd {
28 compatible = "regulator-fixed"; 32 compatible = "regulator-fixed";
29 regulator-name = "vmmcsd_fixed"; 33 regulator-name = "vmmcsd_fixed";
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi b/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
index 78bee26361f1..585d792a8fdd 100644
--- a/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
+++ b/arch/arm/boot/dts/am57xx-beagle-x15-common.dtsi
@@ -22,6 +22,10 @@
22 display0 = &hdmi0; 22 display0 = &hdmi0;
23 }; 23 };
24 24
25 chosen {
26 stdout-path = &uart3;
27 };
28
25 memory@0 { 29 memory@0 {
26 device_type = "memory"; 30 device_type = "memory";
27 reg = <0x0 0x80000000 0x0 0x80000000>; 31 reg = <0x0 0x80000000 0x0 0x80000000>;
@@ -421,19 +425,29 @@
421 <&dra7_pmx_core 0x3f8>; 425 <&dra7_pmx_core 0x3f8>;
422}; 426};
423 427
428&davinci_mdio {
429 phy0: ethernet-phy@1 {
430 reg = <1>;
431 };
432
433 phy1: ethernet-phy@2 {
434 reg = <2>;
435 };
436};
437
424&mac { 438&mac {
425 status = "okay"; 439 status = "okay";
426 dual_emac; 440 dual_emac;
427}; 441};
428 442
429&cpsw_emac0 { 443&cpsw_emac0 {
430 phy_id = <&davinci_mdio>, <1>; 444 phy-handle = <&phy0>;
431 phy-mode = "rgmii"; 445 phy-mode = "rgmii";
432 dual_emac_res_vlan = <1>; 446 dual_emac_res_vlan = <1>;
433}; 447};
434 448
435&cpsw_emac1 { 449&cpsw_emac1 {
436 phy_id = <&davinci_mdio>, <2>; 450 phy-handle = <&phy1>;
437 phy-mode = "rgmii"; 451 phy-mode = "rgmii";
438 dual_emac_res_vlan = <2>; 452 dual_emac_res_vlan = <2>;
439}; 453};
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts b/arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts
index ca85570629fd..39a92aff0a0d 100644
--- a/arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts
+++ b/arch/arm/boot/dts/am57xx-beagle-x15-revb1.dts
@@ -22,3 +22,8 @@
22 vmmc-supply = <&vdd_3v3>; 22 vmmc-supply = <&vdd_3v3>;
23 vmmc-aux-supply = <&ldo1_reg>; 23 vmmc-aux-supply = <&ldo1_reg>;
24}; 24};
25
26/* errata i880 "Ethernet RGMII2 Limited to 10/100 Mbps" */
27&phy1 {
28 max-speed = <100>;
29};
diff --git a/arch/arm/boot/dts/am57xx-beagle-x15.dts b/arch/arm/boot/dts/am57xx-beagle-x15.dts
index 8c66f2efd283..19a60a11c198 100644
--- a/arch/arm/boot/dts/am57xx-beagle-x15.dts
+++ b/arch/arm/boot/dts/am57xx-beagle-x15.dts
@@ -22,3 +22,8 @@
22&mmc1 { 22&mmc1 {
23 vmmc-supply = <&ldo1_reg>; 23 vmmc-supply = <&ldo1_reg>;
24}; 24};
25
26/* errata i880 "Ethernet RGMII2 Limited to 10/100 Mbps" */
27&phy1 {
28 max-speed = <100>;
29};
diff --git a/arch/arm/boot/dts/am57xx-idk-common.dtsi b/arch/arm/boot/dts/am57xx-idk-common.dtsi
index d0a55b845690..e5ac1d81d15c 100644
--- a/arch/arm/boot/dts/am57xx-idk-common.dtsi
+++ b/arch/arm/boot/dts/am57xx-idk-common.dtsi
@@ -14,6 +14,10 @@
14 rtc1 = &rtc; 14 rtc1 = &rtc;
15 }; 15 };
16 16
17 chosen {
18 stdout-path = &uart3;
19 };
20
17 vmain: fixedregulator-vmain { 21 vmain: fixedregulator-vmain {
18 compatible = "regulator-fixed"; 22 compatible = "regulator-fixed";
19 regulator-name = "VMAIN"; 23 regulator-name = "VMAIN";
diff --git a/arch/arm/boot/dts/dra7-evm.dts b/arch/arm/boot/dts/dra7-evm.dts
index 132f2be10889..4bc4b575c99b 100644
--- a/arch/arm/boot/dts/dra7-evm.dts
+++ b/arch/arm/boot/dts/dra7-evm.dts
@@ -21,6 +21,10 @@
21 reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */ 21 reg = <0x0 0x80000000 0x0 0x60000000>; /* 1536 MB */
22 }; 22 };
23 23
24 chosen {
25 stdout-path = &uart1;
26 };
27
24 evm_3v3_sd: fixedregulator-sd { 28 evm_3v3_sd: fixedregulator-sd {
25 compatible = "regulator-fixed"; 29 compatible = "regulator-fixed";
26 regulator-name = "evm_3v3_sd"; 30 regulator-name = "evm_3v3_sd";
@@ -151,204 +155,6 @@
151}; 155};
152 156
153&dra7_pmx_core { 157&dra7_pmx_core {
154 pinctrl-names = "default";
155 pinctrl-0 = <&vtt_pin>;
156
157 vtt_pin: pinmux_vtt_pin {
158 pinctrl-single,pins = <
159 DRA7XX_CORE_IOPAD(0x37b4, PIN_OUTPUT | MUX_MODE14) /* spi1_cs1.gpio7_11 */
160 >;
161 };
162
163 i2c1_pins: pinmux_i2c1_pins {
164 pinctrl-single,pins = <
165 DRA7XX_CORE_IOPAD(0x3800, PIN_INPUT | MUX_MODE0) /* i2c1_sda */
166 DRA7XX_CORE_IOPAD(0x3804, PIN_INPUT | MUX_MODE0) /* i2c1_scl */
167 >;
168 };
169
170 i2c2_pins: pinmux_i2c2_pins {
171 pinctrl-single,pins = <
172 DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE0) /* i2c2_sda */
173 DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE0) /* i2c2_scl */
174 >;
175 };
176
177 i2c3_pins: pinmux_i2c3_pins {
178 pinctrl-single,pins = <
179 DRA7XX_CORE_IOPAD(0x3688, PIN_INPUT | MUX_MODE9) /* gpio6_14.i2c3_sda */
180 DRA7XX_CORE_IOPAD(0x368c, PIN_INPUT | MUX_MODE9) /* gpio6_15.i2c3_scl */
181 >;
182 };
183
184 mcspi1_pins: pinmux_mcspi1_pins {
185 pinctrl-single,pins = <
186 DRA7XX_CORE_IOPAD(0x37a4, PIN_INPUT | MUX_MODE0) /* spi1_sclk */
187 DRA7XX_CORE_IOPAD(0x37a8, PIN_INPUT | MUX_MODE0) /* spi1_d1 */
188 DRA7XX_CORE_IOPAD(0x37ac, PIN_INPUT | MUX_MODE0) /* spi1_d0 */
189 DRA7XX_CORE_IOPAD(0x37b0, PIN_INPUT_SLEW | MUX_MODE0) /* spi1_cs0 */
190 DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs2.hdmi1_hpd */
191 DRA7XX_CORE_IOPAD(0x37bc, PIN_INPUT_SLEW | MUX_MODE6) /* spi1_cs3.hdmi1_cec */
192 >;
193 };
194
195 mcspi2_pins: pinmux_mcspi2_pins {
196 pinctrl-single,pins = <
197 DRA7XX_CORE_IOPAD(0x37c0, PIN_INPUT | MUX_MODE0) /* spi2_sclk */
198 DRA7XX_CORE_IOPAD(0x37c4, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
199 DRA7XX_CORE_IOPAD(0x37c8, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_d1 */
200 DRA7XX_CORE_IOPAD(0x37cc, PIN_INPUT_SLEW | MUX_MODE0) /* spi2_cs0 */
201 >;
202 };
203
204 uart1_pins: pinmux_uart1_pins {
205 pinctrl-single,pins = <
206 DRA7XX_CORE_IOPAD(0x37e0, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_rxd */
207 DRA7XX_CORE_IOPAD(0x37e4, PIN_INPUT_SLEW | MUX_MODE0) /* uart1_txd */
208 DRA7XX_CORE_IOPAD(0x37e8, PIN_INPUT | MUX_MODE3) /* uart1_ctsn */
209 DRA7XX_CORE_IOPAD(0x37ec, PIN_INPUT | MUX_MODE3) /* uart1_rtsn */
210 >;
211 };
212
213 uart2_pins: pinmux_uart2_pins {
214 pinctrl-single,pins = <
215 DRA7XX_CORE_IOPAD(0x37f0, PIN_INPUT | MUX_MODE0) /* uart2_rxd */
216 DRA7XX_CORE_IOPAD(0x37f4, PIN_INPUT | MUX_MODE0) /* uart2_txd */
217 DRA7XX_CORE_IOPAD(0x37f8, PIN_INPUT | MUX_MODE0) /* uart2_ctsn */
218 DRA7XX_CORE_IOPAD(0x37fc, PIN_INPUT | MUX_MODE0) /* uart2_rtsn */
219 >;
220 };
221
222 uart3_pins: pinmux_uart3_pins {
223 pinctrl-single,pins = <
224 DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_rxd */
225 DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
226 >;
227 };
228
229 usb1_pins: pinmux_usb1_pins {
230 pinctrl-single,pins = <
231 DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
232 >;
233 };
234
235 usb2_pins: pinmux_usb2_pins {
236 pinctrl-single,pins = <
237 DRA7XX_CORE_IOPAD(0x3684, PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
238 >;
239 };
240
241 nand_flash_x16: nand_flash_x16 {
242 /* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
243 * So NAND flash requires following switch settings:
244 * SW5.1 (NAND_BOOTn) = ON (LOW)
245 * SW5.9 (GPMC_WPN) = OFF (HIGH)
246 */
247 pinctrl-single,pins = <
248 DRA7XX_CORE_IOPAD(0x3400, PIN_INPUT | MUX_MODE0) /* gpmc_ad0 */
249 DRA7XX_CORE_IOPAD(0x3404, PIN_INPUT | MUX_MODE0) /* gpmc_ad1 */
250 DRA7XX_CORE_IOPAD(0x3408, PIN_INPUT | MUX_MODE0) /* gpmc_ad2 */
251 DRA7XX_CORE_IOPAD(0x340c, PIN_INPUT | MUX_MODE0) /* gpmc_ad3 */
252 DRA7XX_CORE_IOPAD(0x3410, PIN_INPUT | MUX_MODE0) /* gpmc_ad4 */
253 DRA7XX_CORE_IOPAD(0x3414, PIN_INPUT | MUX_MODE0) /* gpmc_ad5 */
254 DRA7XX_CORE_IOPAD(0x3418, PIN_INPUT | MUX_MODE0) /* gpmc_ad6 */
255 DRA7XX_CORE_IOPAD(0x341c, PIN_INPUT | MUX_MODE0) /* gpmc_ad7 */
256 DRA7XX_CORE_IOPAD(0x3420, PIN_INPUT | MUX_MODE0) /* gpmc_ad8 */
257 DRA7XX_CORE_IOPAD(0x3424, PIN_INPUT | MUX_MODE0) /* gpmc_ad9 */
258 DRA7XX_CORE_IOPAD(0x3428, PIN_INPUT | MUX_MODE0) /* gpmc_ad10 */
259 DRA7XX_CORE_IOPAD(0x342c, PIN_INPUT | MUX_MODE0) /* gpmc_ad11 */
260 DRA7XX_CORE_IOPAD(0x3430, PIN_INPUT | MUX_MODE0) /* gpmc_ad12 */
261 DRA7XX_CORE_IOPAD(0x3434, PIN_INPUT | MUX_MODE0) /* gpmc_ad13 */
262 DRA7XX_CORE_IOPAD(0x3438, PIN_INPUT | MUX_MODE0) /* gpmc_ad14 */
263 DRA7XX_CORE_IOPAD(0x343c, PIN_INPUT | MUX_MODE0) /* gpmc_ad15 */
264 DRA7XX_CORE_IOPAD(0x34d8, PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0 */
265 DRA7XX_CORE_IOPAD(0x34cc, PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */
266 DRA7XX_CORE_IOPAD(0x34b4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0 */
267 DRA7XX_CORE_IOPAD(0x34c4, PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */
268 DRA7XX_CORE_IOPAD(0x34c8, PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */
269 DRA7XX_CORE_IOPAD(0x34d0, PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */
270 >;
271 };
272
273 cpsw_default: cpsw_default {
274 pinctrl-single,pins = <
275 /* Slave 1 */
276 DRA7XX_CORE_IOPAD(0x3650, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txc.rgmii0_txc */
277 DRA7XX_CORE_IOPAD(0x3654, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txctl.rgmii0_txctl */
278 DRA7XX_CORE_IOPAD(0x3658, PIN_OUTPUT | MUX_MODE0) /* rgmii0_td3.rgmii0_txd3 */
279 DRA7XX_CORE_IOPAD(0x365c, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd2.rgmii0_txd2 */
280 DRA7XX_CORE_IOPAD(0x3660, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd1.rgmii0_txd1 */
281 DRA7XX_CORE_IOPAD(0x3664, PIN_OUTPUT | MUX_MODE0) /* rgmii0_txd0.rgmii0_txd0 */
282 DRA7XX_CORE_IOPAD(0x3668, PIN_INPUT | MUX_MODE0) /* rgmii0_rxc.rgmii0_rxc */
283 DRA7XX_CORE_IOPAD(0x366c, PIN_INPUT | MUX_MODE0) /* rgmii0_rxctl.rgmii0_rxctl */
284 DRA7XX_CORE_IOPAD(0x3670, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd3.rgmii0_rxd3 */
285 DRA7XX_CORE_IOPAD(0x3674, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd2.rgmii0_rxd2 */
286 DRA7XX_CORE_IOPAD(0x3678, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd1.rgmii0_rxd1 */
287 DRA7XX_CORE_IOPAD(0x367c, PIN_INPUT | MUX_MODE0) /* rgmii0_rxd0.rgmii0_rxd0 */
288
289 /* Slave 2 */
290 DRA7XX_CORE_IOPAD(0x3598, PIN_OUTPUT | MUX_MODE3) /* vin2a_d12.rgmii1_txc */
291 DRA7XX_CORE_IOPAD(0x359c, PIN_OUTPUT | MUX_MODE3) /* vin2a_d13.rgmii1_tctl */
292 DRA7XX_CORE_IOPAD(0x35a0, PIN_OUTPUT | MUX_MODE3) /* vin2a_d14.rgmii1_td3 */
293 DRA7XX_CORE_IOPAD(0x35a4, PIN_OUTPUT | MUX_MODE3) /* vin2a_d15.rgmii1_td2 */
294 DRA7XX_CORE_IOPAD(0x35a8, PIN_OUTPUT | MUX_MODE3) /* vin2a_d16.rgmii1_td1 */
295 DRA7XX_CORE_IOPAD(0x35ac, PIN_OUTPUT | MUX_MODE3) /* vin2a_d17.rgmii1_td0 */
296 DRA7XX_CORE_IOPAD(0x35b0, PIN_INPUT | MUX_MODE3) /* vin2a_d18.rgmii1_rclk */
297 DRA7XX_CORE_IOPAD(0x35b4, PIN_INPUT | MUX_MODE3) /* vin2a_d19.rgmii1_rctl */
298 DRA7XX_CORE_IOPAD(0x35b8, PIN_INPUT | MUX_MODE3) /* vin2a_d20.rgmii1_rd3 */
299 DRA7XX_CORE_IOPAD(0x35bc, PIN_INPUT | MUX_MODE3) /* vin2a_d21.rgmii1_rd2 */
300 DRA7XX_CORE_IOPAD(0x35c0, PIN_INPUT | MUX_MODE3) /* vin2a_d22.rgmii1_rd1 */
301 DRA7XX_CORE_IOPAD(0x35c4, PIN_INPUT | MUX_MODE3) /* vin2a_d23.rgmii1_rd0 */
302 >;
303
304 };
305
306 cpsw_sleep: cpsw_sleep {
307 pinctrl-single,pins = <
308 /* Slave 1 */
309 DRA7XX_CORE_IOPAD(0x3650, MUX_MODE15)
310 DRA7XX_CORE_IOPAD(0x3654, MUX_MODE15)
311 DRA7XX_CORE_IOPAD(0x3658, MUX_MODE15)
312 DRA7XX_CORE_IOPAD(0x365c, MUX_MODE15)
313 DRA7XX_CORE_IOPAD(0x3660, MUX_MODE15)
314 DRA7XX_CORE_IOPAD(0x3664, MUX_MODE15)
315 DRA7XX_CORE_IOPAD(0x3668, MUX_MODE15)
316 DRA7XX_CORE_IOPAD(0x366c, MUX_MODE15)
317 DRA7XX_CORE_IOPAD(0x3670, MUX_MODE15)
318 DRA7XX_CORE_IOPAD(0x3674, MUX_MODE15)
319 DRA7XX_CORE_IOPAD(0x3678, MUX_MODE15)
320 DRA7XX_CORE_IOPAD(0x367c, MUX_MODE15)
321
322 /* Slave 2 */
323 DRA7XX_CORE_IOPAD(0x3598, MUX_MODE15)
324 DRA7XX_CORE_IOPAD(0x359c, MUX_MODE15)
325 DRA7XX_CORE_IOPAD(0x35a0, MUX_MODE15)
326 DRA7XX_CORE_IOPAD(0x35a4, MUX_MODE15)
327 DRA7XX_CORE_IOPAD(0x35a8, MUX_MODE15)
328 DRA7XX_CORE_IOPAD(0x35ac, MUX_MODE15)
329 DRA7XX_CORE_IOPAD(0x35b0, MUX_MODE15)
330 DRA7XX_CORE_IOPAD(0x35b4, MUX_MODE15)
331 DRA7XX_CORE_IOPAD(0x35b8, MUX_MODE15)
332 DRA7XX_CORE_IOPAD(0x35bc, MUX_MODE15)
333 DRA7XX_CORE_IOPAD(0x35c0, MUX_MODE15)
334 DRA7XX_CORE_IOPAD(0x35c4, MUX_MODE15)
335 >;
336 };
337
338 davinci_mdio_default: davinci_mdio_default {
339 pinctrl-single,pins = <
340 DRA7XX_CORE_IOPAD(0x363c, PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_d.mdio_d */
341 DRA7XX_CORE_IOPAD(0x3640, PIN_INPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
342 >;
343 };
344
345 davinci_mdio_sleep: davinci_mdio_sleep {
346 pinctrl-single,pins = <
347 DRA7XX_CORE_IOPAD(0x363c, MUX_MODE15)
348 DRA7XX_CORE_IOPAD(0x3640, MUX_MODE15)
349 >;
350 };
351
352 dcan1_pins_default: dcan1_pins_default { 158 dcan1_pins_default: dcan1_pins_default {
353 pinctrl-single,pins = < 159 pinctrl-single,pins = <
354 DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */ 160 DRA7XX_CORE_IOPAD(0x37d0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
@@ -363,36 +169,36 @@
363 >; 169 >;
364 }; 170 };
365 171
366 atl_pins: pinmux_atl_pins { 172 mmc1_pins_default: mmc1_pins_default {
367 pinctrl-single,pins = <
368 DRA7XX_CORE_IOPAD(0x3698, PIN_OUTPUT | MUX_MODE5) /* xref_clk1.atl_clk1 */
369 DRA7XX_CORE_IOPAD(0x369c, PIN_OUTPUT | MUX_MODE5) /* xref_clk2.atl_clk2 */
370 >;
371 };
372
373 mcasp3_pins: pinmux_mcasp3_pins {
374 pinctrl-single,pins = < 173 pinctrl-single,pins = <
375 DRA7XX_CORE_IOPAD(0x3724, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx */ 174 DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14) /* mmc1sdcd.gpio219 */
376 DRA7XX_CORE_IOPAD(0x3728, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_fsx */ 175 DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
377 DRA7XX_CORE_IOPAD(0x372c, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr0 */ 176 DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
378 DRA7XX_CORE_IOPAD(0x3730, PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp3_axr1 */ 177 DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
178 DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
179 DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
180 DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
379 >; 181 >;
380 }; 182 };
381 183
382 mcasp3_sleep_pins: pinmux_mcasp3_sleep_pins { 184 mmc2_pins_default: mmc2_pins_default {
383 pinctrl-single,pins = < 185 pinctrl-single,pins = <
384 DRA7XX_CORE_IOPAD(0x3724, MUX_MODE15) 186 DRA7XX_CORE_IOPAD(0x349c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
385 DRA7XX_CORE_IOPAD(0x3728, MUX_MODE15) 187 DRA7XX_CORE_IOPAD(0x34b0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
386 DRA7XX_CORE_IOPAD(0x372c, MUX_MODE15) 188 DRA7XX_CORE_IOPAD(0x34a0, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
387 DRA7XX_CORE_IOPAD(0x3730, MUX_MODE15) 189 DRA7XX_CORE_IOPAD(0x34a4, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
190 DRA7XX_CORE_IOPAD(0x34a8, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
191 DRA7XX_CORE_IOPAD(0x34ac, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
192 DRA7XX_CORE_IOPAD(0x348c, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
193 DRA7XX_CORE_IOPAD(0x3490, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
194 DRA7XX_CORE_IOPAD(0x3494, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
195 DRA7XX_CORE_IOPAD(0x3498, PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
388 >; 196 >;
389 }; 197 };
390}; 198};
391 199
392&i2c1 { 200&i2c1 {
393 status = "okay"; 201 status = "okay";
394 pinctrl-names = "default";
395 pinctrl-0 = <&i2c1_pins>;
396 clock-frequency = <400000>; 202 clock-frequency = <400000>;
397 203
398 tps659038: tps659038@58 { 204 tps659038: tps659038@58 {
@@ -581,8 +387,6 @@
581 387
582&i2c2 { 388&i2c2 {
583 status = "okay"; 389 status = "okay";
584 pinctrl-names = "default";
585 pinctrl-0 = <&i2c2_pins>;
586 clock-frequency = <400000>; 390 clock-frequency = <400000>;
587 391
588 pcf_hdmi: gpio@26 { 392 pcf_hdmi: gpio@26 {
@@ -602,45 +406,35 @@
602 406
603&i2c3 { 407&i2c3 {
604 status = "okay"; 408 status = "okay";
605 pinctrl-names = "default";
606 pinctrl-0 = <&i2c3_pins>;
607 clock-frequency = <400000>; 409 clock-frequency = <400000>;
608}; 410};
609 411
610&mcspi1 { 412&mcspi1 {
611 status = "okay"; 413 status = "okay";
612 pinctrl-names = "default";
613 pinctrl-0 = <&mcspi1_pins>;
614}; 414};
615 415
616&mcspi2 { 416&mcspi2 {
617 status = "okay"; 417 status = "okay";
618 pinctrl-names = "default";
619 pinctrl-0 = <&mcspi2_pins>;
620}; 418};
621 419
622&uart1 { 420&uart1 {
623 status = "okay"; 421 status = "okay";
624 pinctrl-names = "default";
625 pinctrl-0 = <&uart1_pins>;
626 interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>, 422 interrupts-extended = <&crossbar_mpu GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
627 <&dra7_pmx_core 0x3e0>; 423 <&dra7_pmx_core 0x3e0>;
628}; 424};
629 425
630&uart2 { 426&uart2 {
631 status = "okay"; 427 status = "okay";
632 pinctrl-names = "default";
633 pinctrl-0 = <&uart2_pins>;
634}; 428};
635 429
636&uart3 { 430&uart3 {
637 status = "okay"; 431 status = "okay";
638 pinctrl-names = "default";
639 pinctrl-0 = <&uart3_pins>;
640}; 432};
641 433
642&mmc1 { 434&mmc1 {
643 status = "okay"; 435 status = "okay";
436 pinctrl-names = "default";
437 pinctrl-0 = <&mmc1_pins_default>;
644 vmmc-supply = <&evm_3v3_sd>; 438 vmmc-supply = <&evm_3v3_sd>;
645 vmmc_aux-supply = <&ldo1_reg>; 439 vmmc_aux-supply = <&ldo1_reg>;
646 bus-width = <4>; 440 bus-width = <4>;
@@ -653,6 +447,8 @@
653 447
654&mmc2 { 448&mmc2 {
655 status = "okay"; 449 status = "okay";
450 pinctrl-names = "default";
451 pinctrl-0 = <&mmc2_pins_default>;
656 vmmc-supply = <&evm_3v3_sw>; 452 vmmc-supply = <&evm_3v3_sw>;
657 bus-width = <8>; 453 bus-width = <8>;
658}; 454};
@@ -732,14 +528,10 @@
732 528
733&usb1 { 529&usb1 {
734 dr_mode = "peripheral"; 530 dr_mode = "peripheral";
735 pinctrl-names = "default";
736 pinctrl-0 = <&usb1_pins>;
737}; 531};
738 532
739&usb2 { 533&usb2 {
740 dr_mode = "host"; 534 dr_mode = "host";
741 pinctrl-names = "default";
742 pinctrl-0 = <&usb2_pins>;
743}; 535};
744 536
745&elm { 537&elm {
@@ -747,9 +539,12 @@
747}; 539};
748 540
749&gpmc { 541&gpmc {
750 status = "okay"; 542 /*
751 pinctrl-names = "default"; 543 * For the existing IOdelay configuration via U-Boot we don't
752 pinctrl-0 = <&nand_flash_x16>; 544 * support NAND on dra7-evm. Keep it disabled. Enabling it
545 * requires a different configuration by U-Boot.
546 */
547 status = "disabled";
753 ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */ 548 ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
754 nand@0,0 { 549 nand@0,0 {
755 compatible = "ti,omap2-nand"; 550 compatible = "ti,omap2-nand";
@@ -845,9 +640,6 @@
845 640
846&mac { 641&mac {
847 status = "okay"; 642 status = "okay";
848 pinctrl-names = "default", "sleep";
849 pinctrl-0 = <&cpsw_default>;
850 pinctrl-1 = <&cpsw_sleep>;
851 dual_emac; 643 dual_emac;
852}; 644};
853 645
@@ -863,12 +655,6 @@
863 dual_emac_res_vlan = <2>; 655 dual_emac_res_vlan = <2>;
864}; 656};
865 657
866&davinci_mdio {
867 pinctrl-names = "default", "sleep";
868 pinctrl-0 = <&davinci_mdio_default>;
869 pinctrl-1 = <&davinci_mdio_sleep>;
870};
871
872&dcan1 { 658&dcan1 {
873 status = "ok"; 659 status = "ok";
874 pinctrl-names = "default", "sleep", "active"; 660 pinctrl-names = "default", "sleep", "active";
@@ -878,9 +664,6 @@
878}; 664};
879 665
880&atl { 666&atl {
881 pinctrl-names = "default";
882 pinctrl-0 = <&atl_pins>;
883
884 assigned-clocks = <&abe_dpll_sys_clk_mux>, 667 assigned-clocks = <&abe_dpll_sys_clk_mux>,
885 <&atl_gfclk_mux>, 668 <&atl_gfclk_mux>,
886 <&dpll_abe_ck>, 669 <&dpll_abe_ck>,
@@ -899,9 +682,6 @@
899 682
900&mcasp3 { 683&mcasp3 {
901 #sound-dai-cells = <0>; 684 #sound-dai-cells = <0>;
902 pinctrl-names = "default", "sleep";
903 pinctrl-0 = <&mcasp3_pins>;
904 pinctrl-1 = <&mcasp3_sleep_pins>;
905 685
906 assigned-clocks = <&mcasp3_ahclkx_mux>; 686 assigned-clocks = <&mcasp3_ahclkx_mux>;
907 assigned-clock-parents = <&atl_clkin2_ck>; 687 assigned-clock-parents = <&atl_clkin2_ck>;
diff --git a/arch/arm/boot/dts/dra71-evm.dts b/arch/arm/boot/dts/dra71-evm.dts
index 2b9a5a8d69ad..4d57a55473af 100644
--- a/arch/arm/boot/dts/dra71-evm.dts
+++ b/arch/arm/boot/dts/dra71-evm.dts
@@ -138,6 +138,11 @@
138 }; 138 };
139}; 139};
140 140
141&pcf_lcd {
142 interrupt-parent = <&gpio7>;
143 interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
144};
145
141&pcf_gpio_21 { 146&pcf_gpio_21 {
142 interrupt-parent = <&gpio7>; 147 interrupt-parent = <&gpio7>;
143 interrupts = <31 IRQ_TYPE_EDGE_FALLING>; 148 interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
diff --git a/arch/arm/boot/dts/dra72-evm-common.dtsi b/arch/arm/boot/dts/dra72-evm-common.dtsi
index e50fbeea96e0..ad24544adf0f 100644
--- a/arch/arm/boot/dts/dra72-evm-common.dtsi
+++ b/arch/arm/boot/dts/dra72-evm-common.dtsi
@@ -18,6 +18,10 @@
18 display0 = &hdmi0; 18 display0 = &hdmi0;
19 }; 19 };
20 20
21 chosen {
22 stdout-path = &uart1;
23 };
24
21 evm_12v0: fixedregulator-evm12v0 { 25 evm_12v0: fixedregulator-evm12v0 {
22 /* main supply */ 26 /* main supply */
23 compatible = "regulator-fixed"; 27 compatible = "regulator-fixed";
@@ -216,6 +220,15 @@
216 status = "okay"; 220 status = "okay";
217 clock-frequency = <400000>; 221 clock-frequency = <400000>;
218 222
223 pcf_lcd: gpio@20 {
224 compatible = "nxp,pcf8575";
225 reg = <0x20>;
226 gpio-controller;
227 #gpio-cells = <2>;
228 interrupt-controller;
229 #interrupt-cells = <2>;
230 };
231
219 pcf_gpio_21: gpio@21 { 232 pcf_gpio_21: gpio@21 {
220 compatible = "ti,pcf8575", "nxp,pcf8575"; 233 compatible = "ti,pcf8575", "nxp,pcf8575";
221 reg = <0x21>; 234 reg = <0x21>;
@@ -280,7 +293,12 @@
280}; 293};
281 294
282&gpmc { 295&gpmc {
283 status = "okay"; 296 /*
297 * For the existing IOdelay configuration via U-Boot we don't
298 * support NAND on dra72-evm. Keep it disabled. Enabling it
299 * requires a different configuration by U-Boot.
300 */
301 status = "disabled";
284 ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */ 302 ranges = <0 0 0x08000000 0x01000000>; /* minimum GPMC partition = 16MB */
285 nand@0,0 { 303 nand@0,0 {
286 /* To use NAND, DIP switch SW5 must be set like so: 304 /* To use NAND, DIP switch SW5 must be set like so:
diff --git a/arch/arm/boot/dts/dra72-evm-revc.dts b/arch/arm/boot/dts/dra72-evm-revc.dts
index 3f808a47df03..3ecac56bf504 100644
--- a/arch/arm/boot/dts/dra72-evm-revc.dts
+++ b/arch/arm/boot/dts/dra72-evm-revc.dts
@@ -68,6 +68,8 @@
68 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>; 68 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
69 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>; 69 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
70 ti,min-output-impedance; 70 ti,min-output-impedance;
71 interrupt-parent = <&gpio6>;
72 interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
71 }; 73 };
72 74
73 dp83867_1: ethernet-phy@3 { 75 dp83867_1: ethernet-phy@3 {
@@ -76,5 +78,7 @@
76 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>; 78 ti,tx-internal-delay = <DP83867_RGMIIDCTL_250_PS>;
77 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>; 79 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_8_B_NIB>;
78 ti,min-output-impedance; 80 ti,min-output-impedance;
81 interrupt-parent = <&gpio6>;
82 interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
79 }; 83 };
80}; 84};
diff --git a/arch/arm/boot/dts/omap3-beagle-xm.dts b/arch/arm/boot/dts/omap3-beagle-xm.dts
index 85e297ed0ea1..673cee2234b2 100644
--- a/arch/arm/boot/dts/omap3-beagle-xm.dts
+++ b/arch/arm/boot/dts/omap3-beagle-xm.dts
@@ -27,6 +27,7 @@
27 aliases { 27 aliases {
28 display0 = &dvi0; 28 display0 = &dvi0;
29 display1 = &tv0; 29 display1 = &tv0;
30 ethernet = &ethernet;
30 }; 31 };
31 32
32 leds { 33 leds {
@@ -348,6 +349,21 @@
348 349
349&usbhsehci { 350&usbhsehci {
350 phys = <0 &hsusb2_phy>; 351 phys = <0 &hsusb2_phy>;
352
353 #address-cells = <1>;
354 #size-cells = <0>;
355
356 hub@2 {
357 compatible = "usb424,9514";
358 reg = <2>;
359 #address-cells = <1>;
360 #size-cells = <0>;
361
362 ethernet: usbether@1 {
363 compatible = "usb424,ec00";
364 reg = <1>;
365 };
366 };
351}; 367};
352 368
353&vaux2 { 369&vaux2 {
diff --git a/arch/arm/boot/dts/omap3-igep.dtsi b/arch/arm/boot/dts/omap3-igep.dtsi
index 54c4c07bbe4a..e268efde6c6d 100644
--- a/arch/arm/boot/dts/omap3-igep.dtsi
+++ b/arch/arm/boot/dts/omap3-igep.dtsi
@@ -126,27 +126,6 @@
126 126
127 #address-cells = <1>; 127 #address-cells = <1>;
128 #size-cells = <1>; 128 #size-cells = <1>;
129
130 partition@0 {
131 label = "SPL";
132 reg = <0 0x100000>;
133 };
134 partition@80000 {
135 label = "U-Boot";
136 reg = <0x100000 0x180000>;
137 };
138 partition@1c0000 {
139 label = "Environment";
140 reg = <0x280000 0x100000>;
141 };
142 partition@280000 {
143 label = "Kernel";
144 reg = <0x380000 0x300000>;
145 };
146 partition@780000 {
147 label = "Filesystem";
148 reg = <0x680000 0x1f980000>;
149 };
150 }; 129 };
151}; 130};
152 131
diff --git a/arch/arm/boot/dts/omap3-n900.dts b/arch/arm/boot/dts/omap3-n900.dts
index 4d448f145ed1..b64cfda8dbb7 100644
--- a/arch/arm/boot/dts/omap3-n900.dts
+++ b/arch/arm/boot/dts/omap3-n900.dts
@@ -47,7 +47,7 @@
47 compatible = "gpio-leds"; 47 compatible = "gpio-leds";
48 heartbeat { 48 heartbeat {
49 label = "debug::sleep"; 49 label = "debug::sleep";
50 gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; /* gpio162 */ 50 gpios = <&gpio6 2 GPIO_ACTIVE_HIGH>; /* 162 */
51 linux,default-trigger = "default-on"; 51 linux,default-trigger = "default-on";
52 pinctrl-names = "default"; 52 pinctrl-names = "default";
53 pinctrl-0 = <&debug_leds>; 53 pinctrl-0 = <&debug_leds>;
@@ -625,6 +625,7 @@
625 reg = <0x55>; 625 reg = <0x55>;
626 }; 626 };
627 627
628 /* Stereo headphone amplifier */
628 tpa6130a2: tpa6130a2@60 { 629 tpa6130a2: tpa6130a2@60 {
629 compatible = "ti,tpa6130a2"; 630 compatible = "ti,tpa6130a2";
630 reg = <0x60>; 631 reg = <0x60>;
diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi
index 1673689e6705..edbc4090297d 100644
--- a/arch/arm/boot/dts/omap4-panda-common.dtsi
+++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
@@ -16,6 +16,7 @@
16 aliases { 16 aliases {
17 display0 = &dvi0; 17 display0 = &dvi0;
18 display1 = &hdmi0; 18 display1 = &hdmi0;
19 ethernet = &ethernet;
19 }; 20 };
20 21
21 leds: leds { 22 leds: leds {
@@ -520,6 +521,21 @@
520 521
521&usbhsehci { 522&usbhsehci {
522 phys = <&hsusb1_phy>; 523 phys = <&hsusb1_phy>;
524
525 #address-cells = <1>;
526 #size-cells = <0>;
527
528 hub@1 {
529 compatible = "usb424,9514";
530 reg = <1>;
531 #address-cells = <1>;
532 #size-cells = <0>;
533
534 ethernet: usbether@1 {
535 compatible = "usb424,ec00";
536 reg = <1>;
537 };
538 };
523}; 539};
524 540
525&dss { 541&dss {
diff --git a/arch/arm/boot/dts/omap5-igep0050.dts b/arch/arm/boot/dts/omap5-igep0050.dts
index 8fc19218057e..fef2a446b61c 100644
--- a/arch/arm/boot/dts/omap5-igep0050.dts
+++ b/arch/arm/boot/dts/omap5-igep0050.dts
@@ -19,6 +19,10 @@
19 reg = <0x0 0x80000000 0 0x7f000000>; /* 2032 MB */ 19 reg = <0x0 0x80000000 0 0x7f000000>; /* 2032 MB */
20 }; 20 };
21 21
22 aliases {
23 ethernet = &ethernet;
24 };
25
22 gpio_keys { 26 gpio_keys {
23 compatible = "gpio-keys"; 27 compatible = "gpio-keys";
24 pinctrl-0 = <&power_button_pin>; 28 pinctrl-0 = <&power_button_pin>;
@@ -116,3 +120,20 @@
116 OMAP5_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE6) /* perslimbus2_clock.gpio5_145 */ 120 OMAP5_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE6) /* perslimbus2_clock.gpio5_145 */
117 >; 121 >;
118}; 122};
123
124&usbhsehci {
125 #address-cells = <1>;
126 #size-cells = <0>;
127
128 hub@2 {
129 compatible = "usb424,3503";
130 reg = <2>;
131 #address-cells = <1>;
132 #size-cells = <0>;
133
134 ethernet: usbether@3 {
135 compatible = "usb424,7500";
136 reg = <3>;
137 };
138 };
139};
diff --git a/arch/arm/boot/dts/omap5-uevm.dts b/arch/arm/boot/dts/omap5-uevm.dts
index a8c72611fbe3..0d42c46f13e7 100644
--- a/arch/arm/boot/dts/omap5-uevm.dts
+++ b/arch/arm/boot/dts/omap5-uevm.dts
@@ -18,6 +18,10 @@
18 reg = <0 0x80000000 0 0x7f000000>; /* 2032 MB */ 18 reg = <0 0x80000000 0 0x7f000000>; /* 2032 MB */
19 }; 19 };
20 20
21 aliases {
22 ethernet = &ethernet;
23 };
24
21 leds { 25 leds {
22 compatible = "gpio-leds"; 26 compatible = "gpio-leds";
23 led1 { 27 led1 {
@@ -164,6 +168,23 @@
164 >; 168 >;
165}; 169};
166 170
171&usbhsehci {
172 #address-cells = <1>;
173 #size-cells = <0>;
174
175 hub@2 {
176 compatible = "usb424,3503";
177 reg = <2>;
178 #address-cells = <1>;
179 #size-cells = <0>;
180 };
181
182 ethernet: usbether@3 {
183 compatible = "usb424,9730";
184 reg = <3>;
185 };
186};
187
167&wlcore { 188&wlcore {
168 compatible = "ti,wl1837"; 189 compatible = "ti,wl1837";
169}; 190};