Merge remote-tracking branch 'spi/fix/core' into spi-linus
[linux-drm-fsl-dcu.git] / arch / arm / boot / dts / am43x-epos-evm.dts
1 /*
2  * Copyright (C) 2013 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 /* AM43x EPOS EVM */
10
11 /dts-v1/;
12
13 #include "am4372.dtsi"
14 #include <dt-bindings/pinctrl/am43xx.h>
15 #include <dt-bindings/gpio/gpio.h>
16
17 / {
18         model = "TI AM43x EPOS EVM";
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";
186 };