]>
Commit | Line | Data |
---|---|---|
bb07a829 TR |
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>; | |
48385896 | 66 | wakeup-source; |
bb07a829 TR |
67 | }; |
68 | ||
69 | button@1 { | |
70 | label = "menu"; | |
71 | linux,code = <KEY_MENU>; | |
72 | gpios = <&gpio3 8 GPIO_ACTIVE_HIGH>; | |
48385896 | 73 | wakeup-source; |
bb07a829 TR |
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 = <ðernet0_pins ðernet1_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 | }; |