xref: /freebsd-src/sys/contrib/device-tree/src/arm/nxp/imx/imx6ul-phytec-segin.dtsi (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
1f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2f126890aSEmmanuel Vadot/*
3f126890aSEmmanuel Vadot * Copyright (C) 2016 PHYTEC Messtechnik GmbH
4f126890aSEmmanuel Vadot * Author: Christian Hemp <c.hemp@phytec.de>
5f126890aSEmmanuel Vadot */
6f126890aSEmmanuel Vadot
7f126890aSEmmanuel Vadot/ {
8f126890aSEmmanuel Vadot	model = "PHYTEC phyBOARD-Segin i.MX6 UltraLite";
9f126890aSEmmanuel Vadot	compatible = "phytec,imx6ul-pbacd-10", "phytec,imx6ul-pcl063", "fsl,imx6ul";
10f126890aSEmmanuel Vadot
11f126890aSEmmanuel Vadot	aliases {
12f126890aSEmmanuel Vadot		rtc0 = &i2c_rtc;
13f126890aSEmmanuel Vadot		rtc1 = &snvs_rtc;
14f126890aSEmmanuel Vadot	};
15f126890aSEmmanuel Vadot
16f126890aSEmmanuel Vadot	reg_sound_1v8: regulator-1v8 {
17f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
18f126890aSEmmanuel Vadot		regulator-name = "i2s-audio-1v8";
19f126890aSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
20f126890aSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
21f126890aSEmmanuel Vadot		status = "disabled";
22f126890aSEmmanuel Vadot	};
23f126890aSEmmanuel Vadot
24f126890aSEmmanuel Vadot	reg_sound_3v3: regulator-3v3 {
25f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
26f126890aSEmmanuel Vadot		regulator-name = "i2s-audio-3v3";
27f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
28f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
29f126890aSEmmanuel Vadot		status = "disabled";
30f126890aSEmmanuel Vadot	};
31f126890aSEmmanuel Vadot
32f126890aSEmmanuel Vadot	reg_can1_en: regulator-can1 {
33f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
34f126890aSEmmanuel Vadot		pinctrl-names = "default";
35f126890aSEmmanuel Vadot		pinctrl-0 = <&princtrl_flexcan1_en>;
36f126890aSEmmanuel Vadot		regulator-name = "Can";
37f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
38f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
39f126890aSEmmanuel Vadot		gpio = <&gpio5 2 GPIO_ACTIVE_HIGH>;
40f126890aSEmmanuel Vadot		enable-active-high;
41f126890aSEmmanuel Vadot		status = "disabled";
42f126890aSEmmanuel Vadot	};
43f126890aSEmmanuel Vadot
44f126890aSEmmanuel Vadot	reg_adc1_vref_3v3: regulator-vref-3v3 {
45f126890aSEmmanuel Vadot		compatible = "regulator-fixed";
46f126890aSEmmanuel Vadot		regulator-name = "vref-3v3";
47f126890aSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
48f126890aSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
49f126890aSEmmanuel Vadot	};
50f126890aSEmmanuel Vadot
51f126890aSEmmanuel Vadot	sound: sound {
52f126890aSEmmanuel Vadot		compatible = "simple-audio-card";
53f126890aSEmmanuel Vadot		simple-audio-card,name = "phyBOARD-Segin-TLV320AIC3007";
54f126890aSEmmanuel Vadot		simple-audio-card,format = "i2s";
55f126890aSEmmanuel Vadot		simple-audio-card,bitclock-master = <&dailink_master>;
56f126890aSEmmanuel Vadot		simple-audio-card,frame-master = <&dailink_master>;
57f126890aSEmmanuel Vadot		simple-audio-card,widgets =
58f126890aSEmmanuel Vadot			"Line", "Line In",
59f126890aSEmmanuel Vadot			"Line", "Line Out",
60f126890aSEmmanuel Vadot			"Speaker", "Speaker";
61f126890aSEmmanuel Vadot		simple-audio-card,routing =
62f126890aSEmmanuel Vadot			"Line Out", "LLOUT",
63f126890aSEmmanuel Vadot			"Line Out", "RLOUT",
64f126890aSEmmanuel Vadot			"Speaker", "SPOP",
65f126890aSEmmanuel Vadot			"Speaker", "SPOM",
66f126890aSEmmanuel Vadot			"LINE1L", "Line In",
67f126890aSEmmanuel Vadot			"LINE1R", "Line In";
68f126890aSEmmanuel Vadot		status = "disabled";
69f126890aSEmmanuel Vadot
70f126890aSEmmanuel Vadot		simple-audio-card,cpu {
71f126890aSEmmanuel Vadot			sound-dai = <&sai2>;
72f126890aSEmmanuel Vadot		};
73f126890aSEmmanuel Vadot
74f126890aSEmmanuel Vadot		dailink_master: simple-audio-card,codec {
75f126890aSEmmanuel Vadot			sound-dai = <&tlv320>;
76f126890aSEmmanuel Vadot			clocks = <&clks IMX6UL_CLK_SAI2>;
77f126890aSEmmanuel Vadot		};
78f126890aSEmmanuel Vadot	};
79f126890aSEmmanuel Vadot
80f126890aSEmmanuel Vadot};
81f126890aSEmmanuel Vadot
82f126890aSEmmanuel Vadot&adc1 {
83f126890aSEmmanuel Vadot	pinctrl-names = "default";
84f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_adc1>;
85f126890aSEmmanuel Vadot	vref-supply = <&reg_adc1_vref_3v3>;
86f126890aSEmmanuel Vadot	status = "disabled";
87f126890aSEmmanuel Vadot};
88f126890aSEmmanuel Vadot
89f126890aSEmmanuel Vadot&can1 {
90f126890aSEmmanuel Vadot	pinctrl-names = "default";
91f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_flexcan1>;
92f126890aSEmmanuel Vadot	xceiver-supply = <&reg_can1_en>;
93f126890aSEmmanuel Vadot	status = "disabled";
94f126890aSEmmanuel Vadot};
95f126890aSEmmanuel Vadot
96f126890aSEmmanuel Vadot&clks {
97f126890aSEmmanuel Vadot	assigned-clocks = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
98f126890aSEmmanuel Vadot	assigned-clock-rates = <786432000>;
99f126890aSEmmanuel Vadot};
100f126890aSEmmanuel Vadot
101f126890aSEmmanuel Vadot&ecspi3 {
102f126890aSEmmanuel Vadot	pinctrl-names = "default";
103f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_ecspi3>;
104f126890aSEmmanuel Vadot	cs-gpios = <&gpio1 20 GPIO_ACTIVE_LOW>;
105f126890aSEmmanuel Vadot	status = "disabled";
106f126890aSEmmanuel Vadot};
107f126890aSEmmanuel Vadot
108f126890aSEmmanuel Vadot&fec2 {
109f126890aSEmmanuel Vadot	pinctrl-names = "default";
110f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_enet2>;
111f126890aSEmmanuel Vadot	phy-mode = "rmii";
112f126890aSEmmanuel Vadot	phy-handle = <&ethphy2>;
113f126890aSEmmanuel Vadot	status = "disabled";
114f126890aSEmmanuel Vadot};
115f126890aSEmmanuel Vadot
116f126890aSEmmanuel Vadot&i2c1 {
117f126890aSEmmanuel Vadot	tlv320: codec@18 {
118f126890aSEmmanuel Vadot		compatible = "ti,tlv320aic3007";
119f126890aSEmmanuel Vadot		#sound-dai-cells = <0>;
120f126890aSEmmanuel Vadot		reg = <0x18>;
121f126890aSEmmanuel Vadot		AVDD-supply = <&reg_sound_3v3>;
122f126890aSEmmanuel Vadot		IOVDD-supply = <&reg_sound_3v3>;
123f126890aSEmmanuel Vadot		DRVDD-supply = <&reg_sound_3v3>;
124f126890aSEmmanuel Vadot		DVDD-supply = <&reg_sound_1v8>;
125f126890aSEmmanuel Vadot		status = "disabled";
126f126890aSEmmanuel Vadot	};
127f126890aSEmmanuel Vadot
128f126890aSEmmanuel Vadot	i2c_rtc: rtc@68 {
129f126890aSEmmanuel Vadot		pinctrl-names = "default";
130f126890aSEmmanuel Vadot		pinctrl-0 = <&pinctrl_rtc_int>;
131f126890aSEmmanuel Vadot		compatible = "microcrystal,rv4162";
132f126890aSEmmanuel Vadot		reg = <0x68>;
133f126890aSEmmanuel Vadot		interrupt-parent = <&gpio5>;
134f126890aSEmmanuel Vadot		interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
135f126890aSEmmanuel Vadot		status = "disabled";
136f126890aSEmmanuel Vadot	};
137f126890aSEmmanuel Vadot};
138f126890aSEmmanuel Vadot
139f126890aSEmmanuel Vadot&mdio {
140f126890aSEmmanuel Vadot	ethphy2: ethernet-phy@2 {
141f126890aSEmmanuel Vadot		reg = <2>;
142f126890aSEmmanuel Vadot		micrel,led-mode = <1>;
143f126890aSEmmanuel Vadot		clocks = <&clks IMX6UL_CLK_ENET2_REF>;
144f126890aSEmmanuel Vadot		clock-names = "rmii-ref";
145f126890aSEmmanuel Vadot		status = "disabled";
146f126890aSEmmanuel Vadot	};
147f126890aSEmmanuel Vadot};
148f126890aSEmmanuel Vadot
149f126890aSEmmanuel Vadot&sai2 {
150f126890aSEmmanuel Vadot	pinctrl-names = "default";
151f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_sai2>;
152f126890aSEmmanuel Vadot	assigned-clocks = <&clks IMX6UL_CLK_SAI2_SEL>,
153f126890aSEmmanuel Vadot			<&clks IMX6UL_CLK_SAI2>;
154f126890aSEmmanuel Vadot	assigned-clock-parents = <&clks IMX6UL_CLK_PLL4_AUDIO_DIV>;
155f126890aSEmmanuel Vadot	assigned-clock-rates = <0>, <19200000>;
156f126890aSEmmanuel Vadot	fsl,sai-mclk-direction-output;
157f126890aSEmmanuel Vadot	status = "disabled";
158f126890aSEmmanuel Vadot};
159f126890aSEmmanuel Vadot
160f126890aSEmmanuel Vadot&uart5 {
161f126890aSEmmanuel Vadot	pinctrl-names = "default";
162f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_uart5>;
163f126890aSEmmanuel Vadot	uart-has-rtscts;
164f126890aSEmmanuel Vadot	status = "disabled";
165f126890aSEmmanuel Vadot};
166f126890aSEmmanuel Vadot
167f126890aSEmmanuel Vadot&usbotg1 {
168f126890aSEmmanuel Vadot	pinctrl-names = "default";
169f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usb_otg1_id>;
170f126890aSEmmanuel Vadot	dr_mode = "otg";
171f126890aSEmmanuel Vadot	status = "disabled";
172f126890aSEmmanuel Vadot};
173f126890aSEmmanuel Vadot
174f126890aSEmmanuel Vadot&usbotg2 {
175f126890aSEmmanuel Vadot	dr_mode = "host";
176f126890aSEmmanuel Vadot	disable-over-current;
177f126890aSEmmanuel Vadot	status = "disabled";
178f126890aSEmmanuel Vadot};
179f126890aSEmmanuel Vadot
180f126890aSEmmanuel Vadot&usdhc1 {
181f126890aSEmmanuel Vadot	pinctrl-names = "default", "state_100mhz", "state_200mhz";
182f126890aSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usdhc1>;
183f126890aSEmmanuel Vadot	pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
184f126890aSEmmanuel Vadot	pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
185f126890aSEmmanuel Vadot	cd-gpios = <&gpio1 19 GPIO_ACTIVE_LOW>;
186f126890aSEmmanuel Vadot	no-1-8-v;
187f126890aSEmmanuel Vadot	keep-power-in-suspend;
188f126890aSEmmanuel Vadot	wakeup-source;
189f126890aSEmmanuel Vadot	disable-wp;
190f126890aSEmmanuel Vadot	status = "disabled";
191f126890aSEmmanuel Vadot};
192f126890aSEmmanuel Vadot
193f126890aSEmmanuel Vadot&iomuxc {
194f126890aSEmmanuel Vadot	pinctrl_adc1: adc1grp {
195f126890aSEmmanuel Vadot		fsl,pins = <
196f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO03__GPIO1_IO03	0xb0
197f126890aSEmmanuel Vadot		>;
198f126890aSEmmanuel Vadot	};
199f126890aSEmmanuel Vadot
200f126890aSEmmanuel Vadot	pinctrl_ecspi3: ecspi3grp {
201f126890aSEmmanuel Vadot		fsl,pins = <
202f126890aSEmmanuel Vadot			MX6UL_PAD_UART2_RTS_B__ECSPI3_MISO	0x10b0
203f126890aSEmmanuel Vadot			MX6UL_PAD_UART2_CTS_B__ECSPI3_MOSI	0x10b0
204f126890aSEmmanuel Vadot			MX6UL_PAD_UART2_RX_DATA__ECSPI3_SCLK	0x10b0
205f126890aSEmmanuel Vadot			MX6UL_PAD_UART2_TX_DATA__GPIO1_IO20	0x10b0
206f126890aSEmmanuel Vadot		>;
207f126890aSEmmanuel Vadot	};
208f126890aSEmmanuel Vadot
209f126890aSEmmanuel Vadot	pinctrl_enet2: enet2grp {
210f126890aSEmmanuel Vadot		fsl,pins = <
211f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_RX_EN__ENET2_RX_EN	0x1b0b0
212f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_RX_ER__ENET2_RX_ER	0x1b0b0
213f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_RX_DATA0__ENET2_RDATA00	0x1b0b0
214f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_RX_DATA1__ENET2_RDATA01	0x1b0b0
215f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_TX_EN__ENET2_TX_EN	0x1b010
216f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_TX_DATA0__ENET2_TDATA00	0x1b010
217f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_TX_DATA1__ENET2_TDATA01	0x1b010
218f126890aSEmmanuel Vadot			MX6UL_PAD_ENET2_TX_CLK__ENET2_REF_CLK2	0x4001b010
219f126890aSEmmanuel Vadot		>;
220f126890aSEmmanuel Vadot	};
221f126890aSEmmanuel Vadot
222*b2d2a78aSEmmanuel Vadot	pinctrl_flexcan1: flexcan1grp {
223f126890aSEmmanuel Vadot		fsl,pins = <
224f126890aSEmmanuel Vadot			MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX	0x0b0b0
225f126890aSEmmanuel Vadot			MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX	0x0b0b0
226f126890aSEmmanuel Vadot		>;
227f126890aSEmmanuel Vadot	};
228f126890aSEmmanuel Vadot
229f126890aSEmmanuel Vadot	princtrl_flexcan1_en: flexcan1engrp {
230f126890aSEmmanuel Vadot		fsl,pins = <
231f126890aSEmmanuel Vadot			MX6UL_PAD_SNVS_TAMPER2__GPIO5_IO02	0x17059
232f126890aSEmmanuel Vadot		>;
233f126890aSEmmanuel Vadot	};
234f126890aSEmmanuel Vadot
235f126890aSEmmanuel Vadot	pinctrl_rtc_int: rtcintgrp {
236f126890aSEmmanuel Vadot		fsl,pins = <
237f126890aSEmmanuel Vadot			MX6UL_PAD_SNVS_TAMPER1__GPIO5_IO01	0x17059
238f126890aSEmmanuel Vadot		>;
239f126890aSEmmanuel Vadot	};
240f126890aSEmmanuel Vadot
241f126890aSEmmanuel Vadot	pinctrl_sai2: sai2grp {
242f126890aSEmmanuel Vadot		fsl,pins = <
243f126890aSEmmanuel Vadot			MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK	0x17088
244f126890aSEmmanuel Vadot			MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC	0x17088
245f126890aSEmmanuel Vadot			MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA	0x11088
246f126890aSEmmanuel Vadot			MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA	0x11088
247f126890aSEmmanuel Vadot			MX6UL_PAD_JTAG_TMS__SAI2_MCLK		0x17088
248f126890aSEmmanuel Vadot		>;
249f126890aSEmmanuel Vadot	};
250f126890aSEmmanuel Vadot
251f126890aSEmmanuel Vadot	pinctrl_uart5: uart5grp {
252f126890aSEmmanuel Vadot		fsl,pins = <
253f126890aSEmmanuel Vadot			MX6UL_PAD_UART5_TX_DATA__UART5_DCE_TX	0x1b0b1
254f126890aSEmmanuel Vadot			MX6UL_PAD_UART5_RX_DATA__UART5_DCE_RX	0x1b0b1
255f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO08__UART5_DCE_RTS	0x1b0b1
256f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO09__UART5_DCE_CTS	0x1b0b1
257f126890aSEmmanuel Vadot		>;
258f126890aSEmmanuel Vadot	};
259f126890aSEmmanuel Vadot
260f126890aSEmmanuel Vadot	pinctrl_usb_otg1_id: usbotg1idgrp {
261f126890aSEmmanuel Vadot		fsl,pins = <
262f126890aSEmmanuel Vadot			MX6UL_PAD_GPIO1_IO00__ANATOP_OTG1_ID	0x17059
263f126890aSEmmanuel Vadot		>;
264f126890aSEmmanuel Vadot	};
265f126890aSEmmanuel Vadot
266f126890aSEmmanuel Vadot	pinctrl_usdhc1: usdhc1grp {
267f126890aSEmmanuel Vadot		fsl,pins = <
268f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x17059
269f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x10059
270f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x17059
271f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x17059
272f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x17059
273f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x17059
274f126890aSEmmanuel Vadot			MX6UL_PAD_UART1_RTS_B__GPIO1_IO19	0x17059
275f126890aSEmmanuel Vadot		>;
276f126890aSEmmanuel Vadot	};
277f126890aSEmmanuel Vadot
278*b2d2a78aSEmmanuel Vadot	pinctrl_usdhc1_100mhz: usdhc1-100mhz-grp {
279f126890aSEmmanuel Vadot		fsl,pins = <
280f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x170b9
281f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x100b9
282f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x170b9
283f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x170b9
284f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x170b9
285f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x170b9
286f126890aSEmmanuel Vadot		>;
287f126890aSEmmanuel Vadot	};
288f126890aSEmmanuel Vadot
289*b2d2a78aSEmmanuel Vadot	pinctrl_usdhc1_200mhz: usdhc1-200mhz-grp {
290f126890aSEmmanuel Vadot		fsl,pins = <
291f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CMD__USDHC1_CMD		0x170f9
292f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_CLK__USDHC1_CLK		0x100f9
293f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA0__USDHC1_DATA0	0x170f9
294f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA1__USDHC1_DATA1	0x170f9
295f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA2__USDHC1_DATA2	0x170f9
296f126890aSEmmanuel Vadot			MX6UL_PAD_SD1_DATA3__USDHC1_DATA3	0x170f9
297f126890aSEmmanuel Vadot		>;
298f126890aSEmmanuel Vadot	};
299f126890aSEmmanuel Vadot};
300