xref: /openbmc/linux/arch/arm/boot/dts/nxp/imx/imx7d-cl-som-imx7.dts (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
1*724ba675SRob Herring/*
2*724ba675SRob Herring * Support for CompuLab CL-SOM-iMX7 System-on-Module
3*724ba675SRob Herring *
4*724ba675SRob Herring * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
5*724ba675SRob Herring * Author: Ilya Ledvich <ilya@compulab.co.il>
6*724ba675SRob Herring *
7*724ba675SRob Herring * This file is dual-licensed: you can use it either under the terms
8*724ba675SRob Herring * of the GPL or the X11 license, at your option. Note that this dual
9*724ba675SRob Herring * licensing only applies to this file, and not this project as a
10*724ba675SRob Herring * whole.
11*724ba675SRob Herring */
12*724ba675SRob Herring
13*724ba675SRob Herring/dts-v1/;
14*724ba675SRob Herring
15*724ba675SRob Herring#include "imx7d.dtsi"
16*724ba675SRob Herring
17*724ba675SRob Herring/ {
18*724ba675SRob Herring	model = "CompuLab CL-SOM-iMX7";
19*724ba675SRob Herring	compatible = "compulab,cl-som-imx7", "fsl,imx7d";
20*724ba675SRob Herring
21*724ba675SRob Herring	memory@80000000 {
22*724ba675SRob Herring		device_type = "memory";
23*724ba675SRob Herring		reg = <0x80000000 0x10000000>; /* 256 MB - minimal configuration */
24*724ba675SRob Herring	};
25*724ba675SRob Herring
26*724ba675SRob Herring	reg_usb_otg1_vbus: regulator-vbus {
27*724ba675SRob Herring		compatible = "regulator-fixed";
28*724ba675SRob Herring		regulator-name = "usb_otg1_vbus";
29*724ba675SRob Herring		regulator-min-microvolt = <5000000>;
30*724ba675SRob Herring		regulator-max-microvolt = <5000000>;
31*724ba675SRob Herring		gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
32*724ba675SRob Herring		enable-active-high;
33*724ba675SRob Herring	};
34*724ba675SRob Herring};
35*724ba675SRob Herring
36*724ba675SRob Herring&cpu0 {
37*724ba675SRob Herring	cpu-supply = <&sw1a_reg>;
38*724ba675SRob Herring};
39*724ba675SRob Herring
40*724ba675SRob Herring&cpu1 {
41*724ba675SRob Herring	cpu-supply = <&sw1a_reg>;
42*724ba675SRob Herring};
43*724ba675SRob Herring
44*724ba675SRob Herring&fec1 {
45*724ba675SRob Herring	pinctrl-names = "default";
46*724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet1>;
47*724ba675SRob Herring	assigned-clocks = <&clks IMX7D_ENET1_TIME_ROOT_SRC>,
48*724ba675SRob Herring			  <&clks IMX7D_ENET1_TIME_ROOT_CLK>;
49*724ba675SRob Herring	assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
50*724ba675SRob Herring	assigned-clock-rates = <0>, <100000000>;
51*724ba675SRob Herring	phy-mode = "rgmii-id";
52*724ba675SRob Herring	phy-handle = <&ethphy0>;
53*724ba675SRob Herring	fsl,magic-packet;
54*724ba675SRob Herring	status = "okay";
55*724ba675SRob Herring
56*724ba675SRob Herring	mdio {
57*724ba675SRob Herring		#address-cells = <1>;
58*724ba675SRob Herring		#size-cells = <0>;
59*724ba675SRob Herring
60*724ba675SRob Herring		ethphy0: ethernet-phy@0 {
61*724ba675SRob Herring			compatible = "ethernet-phy-ieee802.3-c22";
62*724ba675SRob Herring			reg = <0>;
63*724ba675SRob Herring		};
64*724ba675SRob Herring
65*724ba675SRob Herring		ethphy1: ethernet-phy@1 {
66*724ba675SRob Herring			compatible = "ethernet-phy-ieee802.3-c22";
67*724ba675SRob Herring			reg = <1>;
68*724ba675SRob Herring		};
69*724ba675SRob Herring	};
70*724ba675SRob Herring};
71*724ba675SRob Herring
72*724ba675SRob Herring&fec2 {
73*724ba675SRob Herring	pinctrl-names = "default";
74*724ba675SRob Herring	pinctrl-0 = <&pinctrl_enet2>;
75*724ba675SRob Herring	assigned-clocks = <&clks IMX7D_ENET2_TIME_ROOT_SRC>,
76*724ba675SRob Herring			  <&clks IMX7D_ENET2_TIME_ROOT_CLK>;
77*724ba675SRob Herring	assigned-clock-parents = <&clks IMX7D_PLL_ENET_MAIN_100M_CLK>;
78*724ba675SRob Herring	assigned-clock-rates = <0>, <100000000>;
79*724ba675SRob Herring	phy-mode = "rgmii-id";
80*724ba675SRob Herring	phy-handle = <&ethphy1>;
81*724ba675SRob Herring	fsl,magic-packet;
82*724ba675SRob Herring	status = "okay";
83*724ba675SRob Herring};
84*724ba675SRob Herring
85*724ba675SRob Herring&i2c2 {
86*724ba675SRob Herring	pinctrl-names = "default";
87*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2c2>;
88*724ba675SRob Herring	status = "okay";
89*724ba675SRob Herring
90*724ba675SRob Herring	pmic: pmic@8 {
91*724ba675SRob Herring		compatible = "fsl,pfuze3000";
92*724ba675SRob Herring		reg = <0x8>;
93*724ba675SRob Herring
94*724ba675SRob Herring		regulators {
95*724ba675SRob Herring			sw1a_reg: sw1a {
96*724ba675SRob Herring				regulator-min-microvolt = <700000>;
97*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
98*724ba675SRob Herring				regulator-boot-on;
99*724ba675SRob Herring				regulator-always-on;
100*724ba675SRob Herring				regulator-ramp-delay = <6250>;
101*724ba675SRob Herring			};
102*724ba675SRob Herring
103*724ba675SRob Herring			/* use sw1c_reg to align with pfuze100/pfuze200 */
104*724ba675SRob Herring			sw1c_reg: sw1b {
105*724ba675SRob Herring				regulator-min-microvolt = <700000>;
106*724ba675SRob Herring				regulator-max-microvolt = <1475000>;
107*724ba675SRob Herring				regulator-boot-on;
108*724ba675SRob Herring				regulator-always-on;
109*724ba675SRob Herring				regulator-ramp-delay = <6250>;
110*724ba675SRob Herring			};
111*724ba675SRob Herring
112*724ba675SRob Herring			sw2_reg: sw2 {
113*724ba675SRob Herring				regulator-min-microvolt = <1500000>;
114*724ba675SRob Herring				regulator-max-microvolt = <1850000>;
115*724ba675SRob Herring				regulator-boot-on;
116*724ba675SRob Herring				regulator-always-on;
117*724ba675SRob Herring			};
118*724ba675SRob Herring
119*724ba675SRob Herring			sw3a_reg: sw3 {
120*724ba675SRob Herring				regulator-min-microvolt = <900000>;
121*724ba675SRob Herring				regulator-max-microvolt = <1650000>;
122*724ba675SRob Herring				regulator-boot-on;
123*724ba675SRob Herring				regulator-always-on;
124*724ba675SRob Herring			};
125*724ba675SRob Herring
126*724ba675SRob Herring			swbst_reg: swbst {
127*724ba675SRob Herring				regulator-min-microvolt = <5000000>;
128*724ba675SRob Herring				regulator-max-microvolt = <5150000>;
129*724ba675SRob Herring			};
130*724ba675SRob Herring
131*724ba675SRob Herring			snvs_reg: vsnvs {
132*724ba675SRob Herring				regulator-min-microvolt = <1000000>;
133*724ba675SRob Herring				regulator-max-microvolt = <3000000>;
134*724ba675SRob Herring				regulator-boot-on;
135*724ba675SRob Herring				regulator-always-on;
136*724ba675SRob Herring			};
137*724ba675SRob Herring
138*724ba675SRob Herring			vref_reg: vrefddr {
139*724ba675SRob Herring				regulator-boot-on;
140*724ba675SRob Herring				regulator-always-on;
141*724ba675SRob Herring			};
142*724ba675SRob Herring
143*724ba675SRob Herring			vgen1_reg: vldo1 {
144*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
145*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
146*724ba675SRob Herring				regulator-always-on;
147*724ba675SRob Herring			};
148*724ba675SRob Herring
149*724ba675SRob Herring			vgen2_reg: vldo2 {
150*724ba675SRob Herring				regulator-min-microvolt = <800000>;
151*724ba675SRob Herring				regulator-max-microvolt = <1550000>;
152*724ba675SRob Herring			};
153*724ba675SRob Herring
154*724ba675SRob Herring			vgen3_reg: vccsd {
155*724ba675SRob Herring				regulator-min-microvolt = <2850000>;
156*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
157*724ba675SRob Herring				regulator-always-on;
158*724ba675SRob Herring			};
159*724ba675SRob Herring
160*724ba675SRob Herring			vgen4_reg: v33 {
161*724ba675SRob Herring				regulator-min-microvolt = <2850000>;
162*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
163*724ba675SRob Herring				regulator-always-on;
164*724ba675SRob Herring			};
165*724ba675SRob Herring
166*724ba675SRob Herring			vgen5_reg: vldo3 {
167*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
168*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
169*724ba675SRob Herring				regulator-always-on;
170*724ba675SRob Herring			};
171*724ba675SRob Herring
172*724ba675SRob Herring			vgen6_reg: vldo4 {
173*724ba675SRob Herring				regulator-min-microvolt = <1800000>;
174*724ba675SRob Herring				regulator-max-microvolt = <3300000>;
175*724ba675SRob Herring				regulator-always-on;
176*724ba675SRob Herring			};
177*724ba675SRob Herring		};
178*724ba675SRob Herring	};
179*724ba675SRob Herring
180*724ba675SRob Herring	pca9555: pca9555@20 {
181*724ba675SRob Herring		compatible = "nxp,pca9555";
182*724ba675SRob Herring		gpio-controller;
183*724ba675SRob Herring		#gpio-cells = <2>;
184*724ba675SRob Herring		reg = <0x20>;
185*724ba675SRob Herring	};
186*724ba675SRob Herring
187*724ba675SRob Herring	eeprom@50 {
188*724ba675SRob Herring		compatible = "atmel,24c08";
189*724ba675SRob Herring		reg = <0x50>;
190*724ba675SRob Herring		pagesize = <16>;
191*724ba675SRob Herring	};
192*724ba675SRob Herring};
193*724ba675SRob Herring
194*724ba675SRob Herring&uart1 {
195*724ba675SRob Herring	pinctrl-names = "default";
196*724ba675SRob Herring	pinctrl-0 = <&pinctrl_uart1>;
197*724ba675SRob Herring	assigned-clocks = <&clks IMX7D_UART1_ROOT_SRC>;
198*724ba675SRob Herring	assigned-clock-parents = <&clks IMX7D_PLL_SYS_MAIN_240M_CLK>;
199*724ba675SRob Herring	status = "okay";
200*724ba675SRob Herring};
201*724ba675SRob Herring
202*724ba675SRob Herring&usbotg1 {
203*724ba675SRob Herring	pinctrl-names = "default";
204*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usbotg1>;
205*724ba675SRob Herring	vbus-supply = <&reg_usb_otg1_vbus>;
206*724ba675SRob Herring	status = "okay";
207*724ba675SRob Herring};
208*724ba675SRob Herring
209*724ba675SRob Herring&usdhc3 {
210*724ba675SRob Herring	pinctrl-names = "default";
211*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usdhc3>;
212*724ba675SRob Herring	assigned-clocks = <&clks IMX7D_USDHC3_ROOT_CLK>;
213*724ba675SRob Herring	assigned-clock-rates = <400000000>;
214*724ba675SRob Herring	bus-width = <8>;
215*724ba675SRob Herring	fsl,tuning-step = <2>;
216*724ba675SRob Herring	non-removable;
217*724ba675SRob Herring	status = "okay";
218*724ba675SRob Herring};
219*724ba675SRob Herring
220*724ba675SRob Herring&iomuxc {
221*724ba675SRob Herring	pinctrl_enet1: enet1grp {
222*724ba675SRob Herring		fsl,pins = <
223*724ba675SRob Herring			MX7D_PAD_SD2_CD_B__ENET1_MDIO			0x30
224*724ba675SRob Herring			MX7D_PAD_SD2_WP__ENET1_MDC			0x30
225*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_TXC__ENET1_RGMII_TXC	0x11
226*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_TD0__ENET1_RGMII_TD0	0x11
227*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_TD1__ENET1_RGMII_TD1	0x11
228*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_TD2__ENET1_RGMII_TD2	0x11
229*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_TD3__ENET1_RGMII_TD3	0x11
230*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_TX_CTL__ENET1_RGMII_TX_CTL	0x11
231*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_RXC__ENET1_RGMII_RXC	0x11
232*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_RD0__ENET1_RGMII_RD0	0x11
233*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_RD1__ENET1_RGMII_RD1	0x11
234*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_RD2__ENET1_RGMII_RD2	0x11
235*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_RD3__ENET1_RGMII_RD3	0x11
236*724ba675SRob Herring			MX7D_PAD_ENET1_RGMII_RX_CTL__ENET1_RGMII_RX_CTL	0x11
237*724ba675SRob Herring		>;
238*724ba675SRob Herring	};
239*724ba675SRob Herring
240*724ba675SRob Herring	pinctrl_enet2: enet2grp {
241*724ba675SRob Herring		fsl,pins = <
242*724ba675SRob Herring			MX7D_PAD_EPDC_GDSP__ENET2_RGMII_TXC		0x11
243*724ba675SRob Herring			MX7D_PAD_EPDC_SDCE2__ENET2_RGMII_TD0		0x11
244*724ba675SRob Herring			MX7D_PAD_EPDC_SDCE3__ENET2_RGMII_TD1		0x11
245*724ba675SRob Herring			MX7D_PAD_EPDC_GDCLK__ENET2_RGMII_TD2		0x11
246*724ba675SRob Herring			MX7D_PAD_EPDC_GDOE__ENET2_RGMII_TD3		0x11
247*724ba675SRob Herring			MX7D_PAD_EPDC_GDRL__ENET2_RGMII_TX_CTL		0x11
248*724ba675SRob Herring			MX7D_PAD_EPDC_SDCE1__ENET2_RGMII_RXC		0x11
249*724ba675SRob Herring			MX7D_PAD_EPDC_SDCLK__ENET2_RGMII_RD0		0x11
250*724ba675SRob Herring			MX7D_PAD_EPDC_SDLE__ENET2_RGMII_RD1		0x11
251*724ba675SRob Herring			MX7D_PAD_EPDC_SDOE__ENET2_RGMII_RD2		0x11
252*724ba675SRob Herring			MX7D_PAD_EPDC_SDSHR__ENET2_RGMII_RD3		0x11
253*724ba675SRob Herring			MX7D_PAD_EPDC_SDCE0__ENET2_RGMII_RX_CTL		0x11
254*724ba675SRob Herring		>;
255*724ba675SRob Herring	};
256*724ba675SRob Herring
257*724ba675SRob Herring	pinctrl_i2c2: i2c2grp {
258*724ba675SRob Herring		fsl,pins = <
259*724ba675SRob Herring			MX7D_PAD_I2C2_SDA__I2C2_SDA		0x4000007f
260*724ba675SRob Herring			MX7D_PAD_I2C2_SCL__I2C2_SCL		0x4000007f
261*724ba675SRob Herring		>;
262*724ba675SRob Herring	};
263*724ba675SRob Herring
264*724ba675SRob Herring	pinctrl_uart1: uart1grp {
265*724ba675SRob Herring		fsl,pins = <
266*724ba675SRob Herring			MX7D_PAD_UART1_TX_DATA__UART1_DCE_TX	0x79
267*724ba675SRob Herring			MX7D_PAD_UART1_RX_DATA__UART1_DCE_RX	0x79
268*724ba675SRob Herring		>;
269*724ba675SRob Herring	};
270*724ba675SRob Herring
271*724ba675SRob Herring	pinctrl_usdhc3: usdhc3grp {
272*724ba675SRob Herring		fsl,pins = <
273*724ba675SRob Herring			MX7D_PAD_SD3_CMD__SD3_CMD		0x59
274*724ba675SRob Herring			MX7D_PAD_SD3_CLK__SD3_CLK		0x19
275*724ba675SRob Herring			MX7D_PAD_SD3_DATA0__SD3_DATA0		0x59
276*724ba675SRob Herring			MX7D_PAD_SD3_DATA1__SD3_DATA1		0x59
277*724ba675SRob Herring			MX7D_PAD_SD3_DATA2__SD3_DATA2		0x59
278*724ba675SRob Herring			MX7D_PAD_SD3_DATA3__SD3_DATA3		0x59
279*724ba675SRob Herring			MX7D_PAD_SD3_DATA4__SD3_DATA4		0x59
280*724ba675SRob Herring			MX7D_PAD_SD3_DATA5__SD3_DATA5		0x59
281*724ba675SRob Herring			MX7D_PAD_SD3_DATA6__SD3_DATA6		0x59
282*724ba675SRob Herring			MX7D_PAD_SD3_DATA7__SD3_DATA7		0x59
283*724ba675SRob Herring			MX7D_PAD_SD3_STROBE__SD3_STROBE		0x19
284*724ba675SRob Herring		>;
285*724ba675SRob Herring	};
286*724ba675SRob Herring};
287*724ba675SRob Herring
288*724ba675SRob Herring&iomuxc_lpsr {
289*724ba675SRob Herring	pinctrl_usbotg1: usbotg1grp {
290*724ba675SRob Herring		fsl,pins = <
291*724ba675SRob Herring			MX7D_PAD_LPSR_GPIO1_IO05__GPIO1_IO5	0x14 /* OTG PWREN */
292*724ba675SRob Herring		>;
293*724ba675SRob Herring	};
294*724ba675SRob Herring};
295