Linux Audio

Check our new training course

Linux debugging, profiling, tracing and performance analysis training

Apr 14-17, 2025
Register
Loading...
Note: File does not exist in v6.2.
  1// SPDX-License-Identifier: GPL-2.0-or-later
  2/*
  3 */
  4
  5#include "imx27-phytec-phycore-som.dtsi"
  6
  7/ {
  8	model = "Phytec pcm970";
  9	compatible = "phytec,imx27-pcm970", "phytec,imx27-pcm038", "fsl,imx27";
 10
 11	chosen {
 12		stdout-path = &uart1;
 13	};
 14
 15	display0: LQ035Q7 {
 16		model = "Sharp-LQ035Q7";
 17		bits-per-pixel = <16>;
 18		fsl,pcr = <0xf00080c0>;
 19
 20		display-timings {
 21			native-mode = <&timing0>;
 22			timing0: timing0 {
 23				clock-frequency = <5500000>;
 24				hactive = <240>;
 25				vactive = <320>;
 26				hback-porch = <5>;
 27				hsync-len = <7>;
 28				hfront-porch = <16>;
 29				vback-porch = <7>;
 30				vsync-len = <1>;
 31				vfront-porch = <9>;
 32				pixelclk-active = <1>;
 33				hsync-active = <1>;
 34				vsync-active = <1>;
 35				de-active = <0>;
 36			};
 37		};
 38	};
 39
 40	regulator-2 {
 41		compatible = "regulator-fixed";
 42		pinctrl-names = "default";
 43		pinctrl-0 = <&pinctrl_csien>;
 44		regulator-name = "CSI_EN";
 45		regulator-min-microvolt = <3300000>;
 46		regulator-max-microvolt = <3300000>;
 47		gpio = <&gpio2 24 GPIO_ACTIVE_LOW>;
 48		regulator-always-on;
 49	};
 50
 51	usbphy2: usbphy {
 52		compatible = "usb-nop-xceiv";
 53		vcc-supply = <&reg_5v0>;
 54		clocks = <&clks IMX27_CLK_DUMMY>;
 55		clock-names = "main_clk";
 56		#phy-cells = <0>;
 57	};
 58};
 59
 60&cspi1 {
 61	pinctrl-0 = <&pinctrl_cspi1>, <&pinctrl_cspi1cs1>;
 62	cs-gpios = <&gpio4 28 GPIO_ACTIVE_LOW>,
 63		   <&gpio4 27 GPIO_ACTIVE_LOW>;
 64};
 65
 66&fb {
 67	pinctrl-names = "default";
 68	pinctrl-0 = <&pinctrl_imxfb1>;
 69	display = <&display0>;
 70	lcd-supply = <&reg_5v0>;
 71	fsl,dmacr = <0x00020010>;
 72	fsl,lscr1 = <0x00120300>;
 73	fsl,lpccr = <0x00a903ff>;
 74	status = "okay";
 75};
 76
 77&i2c1 {
 78	clock-frequency = <400000>;
 79	pinctrl-names = "default";
 80	pinctrl-0 = <&pinctrl_i2c1>;
 81	status = "okay";
 82
 83	camgpio: pca9536@41 {
 84		compatible = "nxp,pca9536";
 85		reg = <0x41>;
 86		gpio-controller;
 87		#gpio-cells = <2>;
 88	};
 89};
 90
 91&iomuxc {
 92	imx27_phycore_rdk {
 93		pinctrl_csien: csiengrp {
 94			fsl,pins = <
 95				MX27_PAD_USB_OC_B__GPIO2_24 0x0
 96			>;
 97		};
 98
 99		pinctrl_cspi1cs1: cspi1cs1grp {
100			fsl,pins = <
101				MX27_PAD_CSPI1_SS1__GPIO4_27 0x0
102			>;
103		};
104
105		pinctrl_imxfb1: imxfbgrp {
106			fsl,pins = <
107				MX27_PAD_LD0__LD0 0x0
108				MX27_PAD_LD1__LD1 0x0
109				MX27_PAD_LD2__LD2 0x0
110				MX27_PAD_LD3__LD3 0x0
111				MX27_PAD_LD4__LD4 0x0
112				MX27_PAD_LD5__LD5 0x0
113				MX27_PAD_LD6__LD6 0x0
114				MX27_PAD_LD7__LD7 0x0
115				MX27_PAD_LD8__LD8 0x0
116				MX27_PAD_LD9__LD9 0x0
117				MX27_PAD_LD10__LD10 0x0
118				MX27_PAD_LD11__LD11 0x0
119				MX27_PAD_LD12__LD12 0x0
120				MX27_PAD_LD13__LD13 0x0
121				MX27_PAD_LD14__LD14 0x0
122				MX27_PAD_LD15__LD15 0x0
123				MX27_PAD_LD16__LD16 0x0
124				MX27_PAD_LD17__LD17 0x0
125				MX27_PAD_CLS__CLS 0x0
126				MX27_PAD_CONTRAST__CONTRAST 0x0
127				MX27_PAD_LSCLK__LSCLK 0x0
128				MX27_PAD_OE_ACD__OE_ACD 0x0
129				MX27_PAD_PS__PS 0x0
130				MX27_PAD_REV__REV 0x0
131				MX27_PAD_SPL_SPR__SPL_SPR 0x0
132				MX27_PAD_HSYNC__HSYNC 0x0
133				MX27_PAD_VSYNC__VSYNC 0x0
134			>;
135		};
136
137		pinctrl_i2c1: i2c1grp {
138			/* Add pullup to DATA line */
139			fsl,pins = <
140				MX27_PAD_I2C_DATA__I2C_DATA	0x1
141				MX27_PAD_I2C_CLK__I2C_CLK	0x0
142			>;
143		};
144
145		pinctrl_owire1: owire1grp {
146			fsl,pins = <
147				MX27_PAD_RTCK__OWIRE 0x0
148			>;
149		};
150
151		pinctrl_sdhc2: sdhc2grp {
152			fsl,pins = <
153				MX27_PAD_SD2_CLK__SD2_CLK 0x0
154				MX27_PAD_SD2_CMD__SD2_CMD 0x0
155				MX27_PAD_SD2_D0__SD2_D0 0x0
156				MX27_PAD_SD2_D1__SD2_D1 0x0
157				MX27_PAD_SD2_D2__SD2_D2 0x0
158				MX27_PAD_SD2_D3__SD2_D3 0x0
159				MX27_PAD_SSI3_FS__GPIO3_28	0x0 /* WP */
160				MX27_PAD_SSI3_RXDAT__GPIO3_29	0x0 /* CD */
161			>;
162		};
163
164		pinctrl_uart1: uart1grp {
165			fsl,pins = <
166				MX27_PAD_UART1_TXD__UART1_TXD 0x0
167				MX27_PAD_UART1_RXD__UART1_RXD 0x0
168				MX27_PAD_UART1_CTS__UART1_CTS 0x0
169				MX27_PAD_UART1_RTS__UART1_RTS 0x0
170			>;
171		};
172
173		pinctrl_uart2: uart2grp {
174			fsl,pins = <
175				MX27_PAD_UART2_TXD__UART2_TXD 0x0
176				MX27_PAD_UART2_RXD__UART2_RXD 0x0
177				MX27_PAD_UART2_CTS__UART2_CTS 0x0
178				MX27_PAD_UART2_RTS__UART2_RTS 0x0
179			>;
180		};
181
182		pinctrl_usbh2: usbh2grp {
183			fsl,pins = <
184				MX27_PAD_USBH2_CLK__USBH2_CLK 0x0
185				MX27_PAD_USBH2_DIR__USBH2_DIR 0x0
186				MX27_PAD_USBH2_NXT__USBH2_NXT 0x0
187				MX27_PAD_USBH2_STP__USBH2_STP 0x0
188				MX27_PAD_CSPI2_SCLK__USBH2_DATA0 0x0
189				MX27_PAD_CSPI2_MOSI__USBH2_DATA1 0x0
190				MX27_PAD_CSPI2_MISO__USBH2_DATA2 0x0
191				MX27_PAD_CSPI2_SS1__USBH2_DATA3 0x0
192				MX27_PAD_CSPI2_SS2__USBH2_DATA4 0x0
193				MX27_PAD_CSPI1_SS2__USBH2_DATA5 0x0
194				MX27_PAD_CSPI2_SS0__USBH2_DATA6 0x0
195				MX27_PAD_USBH2_DATA7__USBH2_DATA7 0x0
196			>;
197		};
198
199		pinctrl_weim: weimgrp {
200			fsl,pins = <
201				MX27_PAD_CS4_B__CS4_B		0x0 /* CS4 */
202				MX27_PAD_SD1_D1__GPIO5_19	0x0 /* CAN IRQ */
203			>;
204		};
205	};
206};
207
208&owire {
209	pinctrl-names = "default";
210	pinctrl-0 = <&pinctrl_owire1>;
211	status = "okay";
212};
213
214&pmicleds {
215	ledr1: led@3 {
216		reg = <3>;
217		label = "system:red1:user";
218	};
219
220	ledg1: led@4 {
221		reg = <4>;
222		label = "system:green1:user";
223	};
224
225	ledb1: led@5 {
226		reg = <5>;
227		label = "system:blue1:user";
228	};
229
230	ledr2: led@6 {
231		reg = <6>;
232		label = "system:red2:user";
233	};
234
235	ledg2: led@7 {
236		reg = <7>;
237		label = "system:green2:user";
238	};
239
240	ledb2: led@8 {
241		reg = <8>;
242		label = "system:blue2:user";
243	};
244
245	ledr3: led@9 {
246		reg = <9>;
247		label = "system:red3:nand";
248		linux,default-trigger = "nand-disk";
249	};
250
251	ledg3: led@10 {
252		reg = <10>;
253		label = "system:green3:live";
254		linux,default-trigger = "heartbeat";
255	};
256
257	ledb3: led@11 {
258		reg = <11>;
259		label = "system:blue3:cpu";
260		linux,default-trigger = "cpu0";
261	};
262};
263
264&sdhci2 {
265	pinctrl-names = "default";
266	pinctrl-0 = <&pinctrl_sdhc2>;
267	bus-width = <4>;
268	cd-gpios = <&gpio3 29 GPIO_ACTIVE_HIGH>;
269	wp-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>;
270	vmmc-supply = <&vmmc1_reg>;
271	status = "okay";
272};
273
274&uart1 {
275	uart-has-rtscts;
276	pinctrl-names = "default";
277	pinctrl-0 = <&pinctrl_uart1>;
278	status = "okay";
279};
280
281&uart2 {
282	uart-has-rtscts;
283	pinctrl-names = "default";
284	pinctrl-0 = <&pinctrl_uart2>;
285	status = "okay";
286};
287
288&usbh2 {
289	pinctrl-names = "default";
290	pinctrl-0 = <&pinctrl_usbh2>;
291	dr_mode = "host";
292	phy_type = "ulpi";
293	vbus-supply = <&reg_5v0>;
294	fsl,usbphy = <&usbphy2>;
295	disable-over-current;
296	status = "okay";
297};
298
299&weim {
300	pinctrl-names = "default";
301	pinctrl-0 = <&pinctrl_weim>;
302
303	can@4,0 {
304		compatible = "nxp,sja1000";
305		reg = <4 0x00000000 0x00000100>;
306		interrupt-parent = <&gpio5>;
307		interrupts = <19 IRQ_TYPE_EDGE_FALLING>;
308		nxp,external-clock-frequency = <16000000>;
309		nxp,tx-output-config = <0x16>;
310		nxp,no-comparator-bypass;
311		fsl,weim-cs-timing = <0x0000dcf6 0x444a0301 0x44443302>;
312	};
313};