blob: b4e955e3be8d26deae9a68364b2952b7fccd8f71 [file] [log] [blame]
Sascha Hauer10a9ba02012-02-28 21:58:37 +01001/*
2 * Copyright 2012 Sascha Hauer, Pengutronix
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12/dts-v1/;
Shawn Guo36dffd82013-04-07 10:49:34 +080013#include "imx27.dtsi"
Sascha Hauer10a9ba02012-02-28 21:58:37 +010014
15/ {
16 model = "Phytec pcm038";
17 compatible = "phytec,imx27-pcm038", "fsl,imx27";
18
19 memory {
Alexander Shiyan999f6812013-06-23 10:54:49 +040020 reg = <0xa0000000 0x08000000>;
Sascha Hauer10a9ba02012-02-28 21:58:37 +010021 };
Alexander Shiyanf64ba742013-11-30 10:18:03 +040022
23 regulators {
24 compatible = "simple-bus";
25 #address-cells = <1>;
26 #size-cells = <0>;
27
28 reg_3v3: regulator@0 {
29 compatible = "regulator-fixed";
30 reg = <0>;
31 regulator-name = "3V3";
32 regulator-min-microvolt = <3300000>;
33 regulator-max-microvolt = <3300000>;
34 };
Alexander Shiyan9089ce52014-02-22 13:32:34 +040035
36 reg_5v0: regulator@1 {
37 compatible = "regulator-fixed";
38 reg = <1>;
39 regulator-name = "5V0";
40 regulator-min-microvolt = <5000000>;
41 regulator-max-microvolt = <5000000>;
42 };
Alexander Shiyanf64ba742013-11-30 10:18:03 +040043 };
Fabio Estevamaf38a002014-04-16 14:53:19 -030044
45 usbphy {
46 compatible = "simple-bus";
47 #address-cells = <1>;
48 #size-cells = <0>;
49
50 usbphy0: usbphy@0 {
51 compatible = "usb-nop-xceiv";
52 reg = <0>;
53 vcc-supply = <&sw3_reg>;
Alexander Shiyanea336fa82014-07-05 09:36:07 +040054 clocks = <&clks IMX27_CLK_DUMMY>;
Fabio Estevamaf38a002014-04-16 14:53:19 -030055 clock-names = "main_clk";
56 };
57 };
Sascha Hauer10a9ba02012-02-28 21:58:37 +010058};
Alexander Shiyan1b45ace2013-04-07 19:29:12 +040059
Alexander Shiyana919c692013-08-10 12:51:51 +040060&audmux {
61 status = "okay";
62
63 /* SSI0 <=> PINS_4 (MC13783 Audio) */
64 ssi0 {
65 fsl,audmux-port = <0>;
66 fsl,port-config = <0xcb205000>;
67 };
68
69 pins4 {
70 fsl,audmux-port = <2>;
71 fsl,port-config = <0x00001000>;
72 };
73};
74
Alexander Shiyan5d3503c2013-05-03 12:08:21 +040075&cspi1 {
Alexander Shiyanf4bdf212013-12-07 12:26:35 +040076 pinctrl-names = "default";
77 pinctrl-0 = <&pinctrl_cspi1>;
Alexander Shiyan5d3503c2013-05-03 12:08:21 +040078 fsl,spi-num-chipselects = <1>;
Alexander Shiyan6ece55b2013-11-30 10:18:04 +040079 cs-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
Alexander Shiyan5d3503c2013-05-03 12:08:21 +040080 status = "okay";
81
82 pmic: mc13783@0 {
Alexander Shiyan5d3503c2013-05-03 12:08:21 +040083 compatible = "fsl,mc13783";
Fabio Estevam22869082014-04-16 08:25:56 -030084 pinctrl-names = "default";
85 pinctrl-0 = <&pinctrl_pmic>;
Alexander Shiyan5d3503c2013-05-03 12:08:21 +040086 reg = <0>;
Alexander Shiyan986cc492013-12-21 11:11:39 +040087 spi-cs-high;
88 spi-max-frequency = <20000000>;
Alexander Shiyan5d3503c2013-05-03 12:08:21 +040089 interrupt-parent = <&gpio2>;
Alexander Shiyan6ece55b2013-11-30 10:18:04 +040090 interrupts = <23 IRQ_TYPE_LEVEL_HIGH>;
Alexander Shiyan5d3503c2013-05-03 12:08:21 +040091 fsl,mc13xxx-uses-adc;
92 fsl,mc13xxx-uses-rtc;
93
Alexander Shiyan5ee49a12014-02-15 15:35:18 +040094 pmicleds: leds {
95 #address-cells = <1>;
96 #size-cells = <0>;
97 led-control = <0x001 0x000 0x000 0x000 0x000 0x000>;
98 };
99
Alexander Shiyan5d3503c2013-05-03 12:08:21 +0400100 regulators {
Alexander Shiyane9c17862013-07-20 11:17:59 +0400101 /* SW1A and SW1B joined operation */
102 sw1_reg: sw1a {
Alexander Shiyan5d3503c2013-05-03 12:08:21 +0400103 regulator-min-microvolt = <1200000>;
Alexander Shiyane9c17862013-07-20 11:17:59 +0400104 regulator-max-microvolt = <1520000>;
Alexander Shiyan5d3503c2013-05-03 12:08:21 +0400105 regulator-always-on;
106 regulator-boot-on;
107 };
108
Alexander Shiyane9c17862013-07-20 11:17:59 +0400109 /* SW2A and SW2B joined operation */
110 sw2_reg: sw2a {
Alexander Shiyan5d3503c2013-05-03 12:08:21 +0400111 regulator-min-microvolt = <1800000>;
112 regulator-max-microvolt = <1800000>;
113 regulator-always-on;
114 regulator-boot-on;
115 };
116
117 sw3_reg: sw3 {
118 regulator-min-microvolt = <5000000>;
119 regulator-max-microvolt = <5000000>;
120 regulator-always-on;
121 regulator-boot-on;
122 };
123
124 vaudio_reg: vaudio {
125 regulator-always-on;
126 regulator-boot-on;
127 };
128
129 violo_reg: violo {
130 regulator-min-microvolt = <1800000>;
131 regulator-max-microvolt = <1800000>;
132 regulator-always-on;
133 regulator-boot-on;
134 };
135
136 viohi_reg: viohi {
137 regulator-always-on;
138 regulator-boot-on;
139 };
140
141 vgen_reg: vgen {
142 regulator-min-microvolt = <1500000>;
143 regulator-max-microvolt = <1500000>;
144 regulator-always-on;
145 regulator-boot-on;
146 };
147
148 vcam_reg: vcam {
149 regulator-min-microvolt = <2800000>;
150 regulator-max-microvolt = <2800000>;
151 };
152
153 vrf1_reg: vrf1 {
154 regulator-min-microvolt = <2775000>;
155 regulator-max-microvolt = <2775000>;
156 regulator-always-on;
157 regulator-boot-on;
158 };
159
160 vrf2_reg: vrf2 {
161 regulator-min-microvolt = <2775000>;
162 regulator-max-microvolt = <2775000>;
163 regulator-always-on;
164 regulator-boot-on;
165 };
166
167 vmmc1_reg: vmmc1 {
168 regulator-min-microvolt = <1600000>;
169 regulator-max-microvolt = <3000000>;
170 };
171
172 gpo1_reg: gpo1 { };
173
174 pwgt1spi_reg: pwgt1spi {
175 regulator-always-on;
176 };
177 };
178 };
179};
180
Alexander Shiyanf0d8e3f2013-07-02 20:02:29 +0400181&fec {
Alexander Shiyanf64ba742013-11-30 10:18:03 +0400182 phy-mode = "mii";
Alexander Shiyan198e31d2014-04-26 08:52:07 +0400183 phy-reset-gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
Alexander Shiyanf64ba742013-11-30 10:18:03 +0400184 phy-supply = <&reg_3v3>;
Markus Pargmann26508cb2014-02-08 14:15:37 +0800185 pinctrl-names = "default";
186 pinctrl-0 = <&pinctrl_fec1>;
Alexander Shiyanf0d8e3f2013-07-02 20:02:29 +0400187 status = "okay";
188};
189
190&i2c2 {
191 clock-frequency = <400000>;
Markus Pargmann26508cb2014-02-08 14:15:37 +0800192 pinctrl-names = "default";
193 pinctrl-0 = <&pinctrl_i2c2>;
Alexander Shiyanf0d8e3f2013-07-02 20:02:29 +0400194 status = "okay";
195
196 at24@52 {
197 compatible = "at,24c32";
198 pagesize = <32>;
199 reg = <0x52>;
200 };
201
202 pcf8563@51 {
203 compatible = "nxp,pcf8563";
204 reg = <0x51>;
205 };
206
207 lm75@4a {
208 compatible = "national,lm75";
209 reg = <0x4a>;
210 };
211};
212
Markus Pargmann26508cb2014-02-08 14:15:37 +0800213&iomuxc {
214 imx27_phycore_som {
Alexander Shiyanf4bdf212013-12-07 12:26:35 +0400215 pinctrl_cspi1: cspi1grp {
216 fsl,pins = <
217 MX27_PAD_CSPI1_MISO__CSPI1_MISO 0x0
218 MX27_PAD_CSPI1_MOSI__CSPI1_MOSI 0x0
219 MX27_PAD_CSPI1_SCLK__CSPI1_SCLK 0x0
220 MX27_PAD_CSPI1_SS0__GPIO4_28 0x0 /* SPI1 CS0 */
Alexander Shiyanf4bdf212013-12-07 12:26:35 +0400221 >;
222 };
223
Markus Pargmann26508cb2014-02-08 14:15:37 +0800224 pinctrl_fec1: fec1grp {
225 fsl,pins = <
226 MX27_PAD_SD3_CMD__FEC_TXD0 0x0
227 MX27_PAD_SD3_CLK__FEC_TXD1 0x0
228 MX27_PAD_ATA_DATA0__FEC_TXD2 0x0
229 MX27_PAD_ATA_DATA1__FEC_TXD3 0x0
230 MX27_PAD_ATA_DATA2__FEC_RX_ER 0x0
231 MX27_PAD_ATA_DATA3__FEC_RXD1 0x0
232 MX27_PAD_ATA_DATA4__FEC_RXD2 0x0
233 MX27_PAD_ATA_DATA5__FEC_RXD3 0x0
234 MX27_PAD_ATA_DATA6__FEC_MDIO 0x0
235 MX27_PAD_ATA_DATA7__FEC_MDC 0x0
236 MX27_PAD_ATA_DATA8__FEC_CRS 0x0
237 MX27_PAD_ATA_DATA9__FEC_TX_CLK 0x0
238 MX27_PAD_ATA_DATA10__FEC_RXD0 0x0
239 MX27_PAD_ATA_DATA11__FEC_RX_DV 0x0
240 MX27_PAD_ATA_DATA12__FEC_RX_CLK 0x0
241 MX27_PAD_ATA_DATA13__FEC_COL 0x0
242 MX27_PAD_ATA_DATA14__FEC_TX_ER 0x0
243 MX27_PAD_ATA_DATA15__FEC_TX_EN 0x0
244 MX27_PAD_SSI3_TXDAT__GPIO3_30 0x0 /* FEC RST */
245 >;
246 };
247
248 pinctrl_i2c2: i2c2grp {
249 fsl,pins = <
250 MX27_PAD_I2C2_SDA__I2C2_SDA 0x0
251 MX27_PAD_I2C2_SCL__I2C2_SCL 0x0
252 >;
253 };
Alexander Shiyandde56972013-12-21 11:11:37 +0400254
255 pinctrl_nfc: nfcgrp {
256 fsl,pins = <
257 MX27_PAD_NFRB__NFRB 0x0
258 MX27_PAD_NFCLE__NFCLE 0x0
259 MX27_PAD_NFWP_B__NFWP_B 0x0
260 MX27_PAD_NFCE_B__NFCE_B 0x0
261 MX27_PAD_NFALE__NFALE 0x0
262 MX27_PAD_NFRE_B__NFRE_B 0x0
263 MX27_PAD_NFWE_B__NFWE_B 0x0
264 >;
265 };
Alexander Shiyan74ded652014-02-22 13:32:35 +0400266
Fabio Estevam22869082014-04-16 08:25:56 -0300267 pinctrl_pmic: pmicgrp {
268 fsl,pins = <
269 MX27_PAD_USB_PWR__GPIO2_23 0x0 /* PMIC IRQ */
270 >;
271 };
272
Alexander Shiyan2c405682014-03-02 13:18:39 +0400273 pinctrl_ssi1: ssi1grp {
274 fsl,pins = <
275 MX27_PAD_SSI1_FS__SSI1_FS 0x0
276 MX27_PAD_SSI1_RXDAT__SSI1_RXDAT 0x0
277 MX27_PAD_SSI1_TXDAT__SSI1_TXDAT 0x0
278 MX27_PAD_SSI1_CLK__SSI1_CLK 0x0
279 >;
280 };
281
Alexander Shiyan74ded652014-02-22 13:32:35 +0400282 pinctrl_usbotg: usbotggrp {
283 fsl,pins = <
284 MX27_PAD_USBOTG_CLK__USBOTG_CLK 0x0
285 MX27_PAD_USBOTG_DIR__USBOTG_DIR 0x0
286 MX27_PAD_USBOTG_NXT__USBOTG_NXT 0x0
287 MX27_PAD_USBOTG_STP__USBOTG_STP 0x0
288 MX27_PAD_USBOTG_DATA0__USBOTG_DATA0 0x0
289 MX27_PAD_USBOTG_DATA1__USBOTG_DATA1 0x0
290 MX27_PAD_USBOTG_DATA2__USBOTG_DATA2 0x0
291 MX27_PAD_USBOTG_DATA3__USBOTG_DATA3 0x0
292 MX27_PAD_USBOTG_DATA4__USBOTG_DATA4 0x0
293 MX27_PAD_USBOTG_DATA5__USBOTG_DATA5 0x0
294 MX27_PAD_USBOTG_DATA6__USBOTG_DATA6 0x0
295 MX27_PAD_USBOTG_DATA7__USBOTG_DATA7 0x0
296 >;
297 };
Markus Pargmann26508cb2014-02-08 14:15:37 +0800298 };
299};
300
Alexander Shiyan1b45ace2013-04-07 19:29:12 +0400301&nfc {
Alexander Shiyandde56972013-12-21 11:11:37 +0400302 pinctrl-names = "default";
303 pinctrl-0 = <&pinctrl_nfc>;
Alexander Shiyan1b45ace2013-04-07 19:29:12 +0400304 nand-bus-width = <8>;
305 nand-ecc-mode = "hw";
Alexander Shiyand9a57aa2013-11-30 10:18:01 +0400306 nand-on-flash-bbt;
Alexander Shiyan1b45ace2013-04-07 19:29:12 +0400307 status = "okay";
308};
Alexander Shiyan984d6fc2013-07-02 20:02:26 +0400309
Alexander Shiyan2c405682014-03-02 13:18:39 +0400310&ssi1 {
311 pinctrl-names = "default";
312 pinctrl-0 = <&pinctrl_ssi1>;
Alexander Shiyan2c405682014-03-02 13:18:39 +0400313 status = "okay";
314};
315
Alexander Shiyan74ded652014-02-22 13:32:35 +0400316&usbotg {
317 pinctrl-names = "default";
318 pinctrl-0 = <&pinctrl_usbotg>;
319 dr_mode = "otg";
320 phy_type = "ulpi";
Fabio Estevamaf38a002014-04-16 14:53:19 -0300321 fsl,usbphy = <&usbphy0>;
Alexander Shiyan74ded652014-02-22 13:32:35 +0400322 vbus-supply = <&sw3_reg>;
Alexander Shiyan4ee927e2014-04-26 08:52:08 +0400323 disable-over-current;
Alexander Shiyan74ded652014-02-22 13:32:35 +0400324 status = "okay";
325};
326
Alexander Shiyan984d6fc2013-07-02 20:02:26 +0400327&weim {
328 status = "okay";
329
Alexander Shiyan3c3ea292014-04-09 19:08:16 +0400330 nor: nor@0,0 {
Alexander Shiyan984d6fc2013-07-02 20:02:26 +0400331 compatible = "cfi-flash";
332 reg = <0 0x00000000 0x02000000>;
333 bank-width = <2>;
334 linux,mtd-name = "physmap-flash.0";
335 fsl,weim-cs-timing = <0x22c2cf00 0x75000d01 0x00000900>;
336 #address-cells = <1>;
337 #size-cells = <1>;
338 };
Alexander Shiyancff2a7132013-07-02 20:02:27 +0400339
Alexander Shiyan3c3ea292014-04-09 19:08:16 +0400340 sram: sram@1,0 {
Alexander Shiyancff2a7132013-07-02 20:02:27 +0400341 compatible = "mtd-ram";
342 reg = <1 0x00000000 0x00800000>;
343 bank-width = <2>;
344 linux,mtd-name = "mtd-ram.0";
345 fsl,weim-cs-timing = <0x0000d843 0x22252521 0x22220a00>;
346 #address-cells = <1>;
347 #size-cells = <1>;
348 };
Alexander Shiyan984d6fc2013-07-02 20:02:26 +0400349};