aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMugunthan V N <mugunthanvnm@ti.com>2013-10-10 15:14:54 -0400
committerBenoit Cousson <bcousson@baylibre.com>2013-10-20 13:16:55 -0400
commite54686e4c79a5b2e8d8c77317ac8ab08d3040935 (patch)
tree94318a2c1f8b296e4a51f1215772bcc87224cb50
parent9e3269b8c68cef55a35146d32b2adde1009ce075 (diff)
ARM: dts: AM4372: Update Support for EPOS EVM
-> Adding pinmux for cpsw, i2c0. -> Enabling the modules that are present in AM4372 EPOS EVM These modules are tested on AM4372 EPOS EVM. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Signed-off-by: Benoit Cousson <bcousson@baylibre.com>
-rw-r--r--arch/arm/boot/dts/am43x-epos-evm.dts168
-rw-r--r--include/dt-bindings/pinctrl/am43xx.h31
2 files changed, 199 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/am43x-epos-evm.dts b/arch/arm/boot/dts/am43x-epos-evm.dts
index 74174d48f476..fbf9c4c7a94f 100644
--- a/arch/arm/boot/dts/am43x-epos-evm.dts
+++ b/arch/arm/boot/dts/am43x-epos-evm.dts
@@ -11,8 +11,176 @@
11/dts-v1/; 11/dts-v1/;
12 12
13#include "am4372.dtsi" 13#include "am4372.dtsi"
14#include <dt-bindings/pinctrl/am43xx.h>
15#include <dt-bindings/gpio/gpio.h>
14 16
15/ { 17/ {
16 model = "TI AM43x EPOS EVM"; 18 model = "TI AM43x EPOS EVM";
17 compatible = "ti,am43x-epos-evm","ti,am4372","ti,am43"; 19 compatible = "ti,am43x-epos-evm","ti,am4372","ti,am43";
20
21 vmmcsd_fixed: fixedregulator-sd {
22 compatible = "regulator-fixed";
23 regulator-name = "vmmcsd_fixed";
24 regulator-min-microvolt = <3300000>;
25 regulator-max-microvolt = <3300000>;
26 enable-active-high;
27 };
28
29 am43xx_pinmux: pinmux@44e10800 {
30 cpsw_default: cpsw_default {
31 pinctrl-single,pins = <
32 /* Slave 1 */
33 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_crs.rmii1_crs */
34 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxerr.rmii1_rxerr */
35 0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txen.rmii1_txen */
36 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxdv.rmii1_rxdv */
37 0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd1.rmii1_txd1 */
38 0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mii1_txd0.rmii1_txd0 */
39 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd1.rmii1_rxd1 */
40 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mii1_rxd0.rmii1_rxd0 */
41 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* rmii1_refclk.rmii1_refclk */
42 >;
43 };
44
45 cpsw_sleep: cpsw_sleep {
46 pinctrl-single,pins = <
47 /* Slave 1 reset value */
48 0x10c (PIN_INPUT_PULLDOWN | MUX_MODE7)
49 0x110 (PIN_INPUT_PULLDOWN | MUX_MODE7)
50 0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
51 0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
52 0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
53 0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
54 0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
55 0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
56 0x144 (PIN_INPUT_PULLDOWN | MUX_MODE7)
57 >;
58 };
59
60 davinci_mdio_default: davinci_mdio_default {
61 pinctrl-single,pins = <
62 /* MDIO */
63 0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
64 0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
65 >;
66 };
67
68 davinci_mdio_sleep: davinci_mdio_sleep {
69 pinctrl-single,pins = <
70 /* MDIO reset value */
71 0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
72 0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
73 >;
74 };
75
76 i2c0_pins: pinmux_i2c0_pins {
77 pinctrl-single,pins = <
78 0x188 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_sda.i2c0_sda */
79 0x18c (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* i2c0_scl.i2c0_scl */
80 >;
81 };
82 };
83
84 matrix_keypad: matrix_keypad@0 {
85 compatible = "gpio-matrix-keypad";
86 debounce-delay-ms = <5>;
87 col-scan-delay-us = <2>;
88
89 row-gpios = <&gpio0 12 GPIO_ACTIVE_HIGH /* Bank0, pin12 */
90 &gpio0 13 GPIO_ACTIVE_HIGH /* Bank0, pin13 */
91 &gpio0 14 GPIO_ACTIVE_HIGH /* Bank0, pin14 */
92 &gpio0 15 GPIO_ACTIVE_HIGH>; /* Bank0, pin15 */
93
94 col-gpios = <&gpio3 9 GPIO_ACTIVE_HIGH /* Bank3, pin9 */
95 &gpio3 10 GPIO_ACTIVE_HIGH /* Bank3, pin10 */
96 &gpio2 18 GPIO_ACTIVE_HIGH /* Bank2, pin18 */
97 &gpio2 19 GPIO_ACTIVE_HIGH>; /* Bank2, pin19 */
98
99 linux,keymap = <0x00000201 /* P1 */
100 0x01000204 /* P4 */
101 0x02000207 /* P7 */
102 0x0300020a /* NUMERIC_STAR */
103 0x00010202 /* P2 */
104 0x01010205 /* P5 */
105 0x02010208 /* P8 */
106 0x03010200 /* P0 */
107 0x00020203 /* P3 */
108 0x01020206 /* P6 */
109 0x02020209 /* P9 */
110 0x0302020b /* NUMERIC_POUND */
111 0x00030067 /* UP */
112 0x0103006a /* RIGHT */
113 0x0203006c /* DOWN */
114 0x03030069>; /* LEFT */
115 };
116};
117
118&mmc1 {
119 status = "okay";
120 vmmc-supply = <&vmmcsd_fixed>;
121 bus-width = <4>;
122};
123
124&mac {
125 pinctrl-names = "default", "sleep";
126 pinctrl-0 = <&cpsw_default>;
127 pinctrl-1 = <&cpsw_sleep>;
128 status = "okay";
129};
130
131&davinci_mdio {
132 pinctrl-names = "default", "sleep";
133 pinctrl-0 = <&davinci_mdio_default>;
134 pinctrl-1 = <&davinci_mdio_sleep>;
135 status = "okay";
136};
137
138&cpsw_emac0 {
139 phy_id = <&davinci_mdio>, <16>;
140 phy-mode = "rmii";
141};
142
143&cpsw_emac1 {
144 phy_id = <&davinci_mdio>, <1>;
145 phy-mode = "rmii";
146};
147
148&i2c0 {
149 status = "okay";
150 pinctrl-names = "default";
151 pinctrl-0 = <&i2c0_pins>;
152
153 at24@50 {
154 compatible = "at24,24c256";
155 pagesize = <64>;
156 reg = <0x50>;
157 };
158
159 pixcir_ts@5c {
160 compatible = "pixcir,pixcir_ts";
161 reg = <0x5c>;
162 interrupt-parent = <&gpio1>;
163 interrupts = <17 0>;
164
165 attb-gpio = <&gpio1 17 GPIO_ACTIVE_HIGH>;
166
167 x-size = <1024>;
168 y-size = <768>;
169 };
170};
171
172&gpio0 {
173 status = "okay";
174};
175
176&gpio1 {
177 status = "okay";
178};
179
180&gpio2 {
181 status = "okay";
182};
183
184&gpio3 {
185 status = "okay";
18}; 186};
diff --git a/include/dt-bindings/pinctrl/am43xx.h b/include/dt-bindings/pinctrl/am43xx.h
new file mode 100644
index 000000000000..eb6c366adfba
--- /dev/null
+++ b/include/dt-bindings/pinctrl/am43xx.h
@@ -0,0 +1,31 @@
1/*
2 * This header provides constants specific to AM43XX pinctrl bindings.
3 */
4
5#ifndef _DT_BINDINGS_PINCTRL_AM43XX_H
6#define _DT_BINDINGS_PINCTRL_AM43XX_H
7
8#define MUX_MODE0 0
9#define MUX_MODE1 1
10#define MUX_MODE2 2
11#define MUX_MODE3 3
12#define MUX_MODE4 4
13#define MUX_MODE5 5
14#define MUX_MODE6 6
15#define MUX_MODE7 7
16
17#define PULL_DISABLE (1 << 16)
18#define PULL_UP (1 << 17)
19#define INPUT_EN (1 << 18)
20#define SLEWCTRL_FAST (1 << 19)
21#define DS0_PULL_UP_DOWN_EN (1 << 27)
22
23#define PIN_OUTPUT (PULL_DISABLE)
24#define PIN_OUTPUT_PULLUP (PULL_UP)
25#define PIN_OUTPUT_PULLDOWN 0
26#define PIN_INPUT (INPUT_EN | PULL_DISABLE)
27#define PIN_INPUT_PULLUP (INPUT_EN | PULL_UP)
28#define PIN_INPUT_PULLDOWN (INPUT_EN)
29
30#endif
31