File Index
Files and directories
Sign in
FILE

mba8mx.dtsi

File preview with syntax highlighting.

linux-6.19.14/arch/arm64/boot/dts/freescale/mba8mx.dtsi DEVICETREE
  1// SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
  2/*
  3 * Copyright 2020-2021 TQ-Systems GmbH
  4 */
  5
  6#include <dt-bindings/net/ti-dp83867.h>
  7
  8/* TQ-Systems GmbH MBa8Mx baseboard */
  9
 10/ {
 11	backlight_lvds: backlight {
 12		compatible = "pwm-backlight";
 13		pwms = <&pwm3 0 5000000 0>;
 14		brightness-levels = <0 4 8 16 32 64 128 255>;
 15		default-brightness-level = <7>;
 16		power-supply = <&reg_12v>;
 17		enable-gpios = <&expander2 2 GPIO_ACTIVE_HIGH>;
 18		status = "disabled";
 19	};
 20
 21	beeper {
 22		compatible = "pwm-beeper";
 23		pwms = <&pwm4 0 250000 0>;
 24		beeper-hz = <4000>;
 25		amp-supply = <&reg_vcc_3v3>;
 26	};
 27
 28	chosen {
 29		stdout-path = &uart3;
 30	};
 31
 32	clk_xtal25: clk-xtal25 {
 33		compatible = "fixed-clock";
 34		#clock-cells = <0>;
 35		clock-frequency = <25000000>;
 36	};
 37
 38	gpio-keys {
 39		compatible = "gpio-keys";
 40		pinctrl-names = "default";
 41		pinctrl-0 = <&pinctrl_gpiobutton>;
 42		autorepeat;
 43
 44		switch-1 {
 45			label = "switch1";
 46			linux,code = <BTN_0>;
 47			gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
 48			wakeup-source;
 49		};
 50
 51		btn2: switch-2 {
 52			label = "switch2";
 53			linux,code = <BTN_1>;
 54			gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
 55			wakeup-source;
 56		};
 57
 58		switch-3 {
 59			label = "switch3";
 60			linux,code = <BTN_2>;
 61			gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
 62			wakeup-source;
 63		};
 64	};
 65
 66	gpio_leds: gpio-leds {
 67		compatible = "gpio-leds";
 68		pinctrl-names = "default";
 69		pinctrl-0 = <&pinctrl_gpioled>;
 70
 71		led1 {
 72			label = "led1";
 73			gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
 74			linux,default-trigger = "default-on";
 75		};
 76
 77		led2: led2 {
 78			label = "led2";
 79			gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
 80			linux,default-trigger = "heartbeat";
 81		};
 82	};
 83
 84	gpio_delays: gpio-delays {
 85		compatible = "gpio-delay";
 86		#gpio-cells = <3>;
 87		gpio-controller;
 88		gpios = <&expander0 6 GPIO_ACTIVE_HIGH>;
 89		gpio-line-names = "LVDS_BRIDGE_EN_1V8";
 90	};
 91
 92	panel: panel-lvds {
 93		/*
 94		 * Display is not fixed, so compatible has to be added from
 95		 * DT overlay
 96		 */
 97		backlight = <&backlight_lvds>;
 98		power-supply = <&reg_vcc_3v3>;
 99		status = "disabled";
100
101		port {
102			panel_in_lvds: endpoint {
103				remote-endpoint = <&lvds_bridge_out>;
104			};
105		};
106	};
107
108	reg_12v: regulator-12v {
109		compatible = "regulator-fixed";
110		regulator-name = "MBA8MX_12V";
111		regulator-min-microvolt = <12000000>;
112		regulator-max-microvolt = <12000000>;
113		regulator-always-on;
114	};
115
116	reg_hub_vbus: regulator-hub-vbus {
117		compatible = "regulator-fixed";
118		regulator-name = "MBA8MX_HUB_VBUS";
119		regulator-min-microvolt = <5000000>;
120		regulator-max-microvolt = <5000000>;
121	};
122
123	reg_sn65dsi83_1v8: regulator-sn65dsi83-1v8 {
124		compatible = "regulator-fixed";
125		regulator-name = "SN65DSI83_1V8";
126		regulator-min-microvolt = <1800000>;
127		regulator-max-microvolt = <1800000>;
128		gpio = <&expander0 5 GPIO_ACTIVE_HIGH>;
129		enable-active-high;
130	};
131
132	reg_vcc_3v3: regulator-3v3 {
133		compatible = "regulator-fixed";
134		regulator-name = "MBA8MX_3V3";
135		regulator-min-microvolt = <3300000>;
136		regulator-max-microvolt = <3300000>;
137	};
138
139	sound: sound {
140		compatible = "fsl,imx-audio-tlv320aic32x4";
141		model = "tqm-tlv320aic32";
142		ssi-controller = <&sai3>;
143		audio-codec = <&tlv320aic3x04>;
144		audio-routing =
145			"IN3_L", "Mic Jack",
146			"Mic Jack", "Mic Bias",
147			"IN1_L", "Line In Jack",
148			"IN1_R", "Line In Jack",
149			"Line Out Jack", "LOL",
150			"Line Out Jack", "LOR";
151	};
152};
153
154&ecspi1 {
155	pinctrl-names = "default";
156	pinctrl-0 = <&pinctrl_ecspi1>;
157	cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
158	status = "okay";
159};
160
161&ecspi2 {
162	pinctrl-names = "default";
163	pinctrl-0 = <&pinctrl_ecspi2>;
164	cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
165	status = "okay";
166};
167
168&fec1 {
169	pinctrl-names = "default";
170	pinctrl-0 = <&pinctrl_fec1>;
171	phy-mode = "rgmii-id";
172	phy-handle = <&ethphy0>;
173	phy-supply = <&reg_vcc_3v3>;
174	fsl,magic-packet;
175	mac-address = [ 00 00 00 00 00 00 ];
176	status = "okay";
177
178	mdio {
179		#address-cells = <1>;
180		#size-cells = <0>;
181
182		ethphy0: ethernet-phy@e {
183			compatible = "ethernet-phy-ieee802.3-c22";
184			reg = <0xe>;
185			ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
186			ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
187			ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
188			ti,dp83867-rxctrl-strap-quirk;
189			ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
190			enet-phy-lane-no-swap;
191			reset-gpios = <&expander2 7 GPIO_ACTIVE_LOW>;
192			reset-assert-us = <500000>;
193			reset-deassert-us = <500>;
194			interrupt-parent = <&expander2>;
195			interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
196		};
197	};
198};
199
200&i2c1 {
201	expander0: gpio@23 {
202		compatible = "nxp,pca9555";
203		reg = <0x23>;
204		gpio-controller;
205		#gpio-cells = <2>;
206		vcc-supply = <&reg_vcc_3v3>;
207		interrupt-parent = <&gpio1>;
208		interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
209		interrupt-controller;
210		#interrupt-cells = <2>;
211		gpio-line-names = "", "", "", "",
212				  "", "", "LVDS_BRIDGE_EN", "",
213				  "", "", "", "",
214				  "", "", "", "";
215
216		sd-mux-oe-hog {
217			gpio-hog;
218			gpios = <8 0>;
219			output-low;
220			line-name = "SD_MUX_EN#";
221		};
222
223		boot-cfg-oe-hog {
224			gpio-hog;
225			gpios = <12 0>;
226			output-high;
227			line-name = "BOOT_CFG_OE#";
228		};
229
230		rst_usb_hub_hog: rst-usb-hub-hog {
231			gpio-hog;
232			gpios = <13 0>;
233			output-high;
234			line-name = "RST_USB_HUB#";
235		};
236	};
237
238	expander1: gpio@24 {
239		compatible = "nxp,pca9555";
240		reg = <0x24>;
241		gpio-controller;
242		#gpio-cells = <2>;
243		vcc-supply = <&reg_vcc_3v3>;
244	};
245};
246
247&i2c2 {
248	pinctrl-names = "default", "gpio";
249	pinctrl-0 = <&pinctrl_i2c2>;
250	pinctrl-1 = <&pinctrl_i2c2_gpio>;
251	scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
252	sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
253	status = "okay";
254
255	tlv320aic3x04: audio-codec@18 {
256		compatible = "ti,tlv320aic32x4";
257		reg = <0x18>;
258		reset-gpios = <&expander2 0 GPIO_ACTIVE_LOW>;
259		iov-supply = <&reg_vcc_3v3>;
260		ldoin-supply = <&reg_vcc_3v3>;
261	};
262
263	sensor1: temperator-sensor@1f {
264		compatible = "nxp,se97b", "jedec,jc-42.4-temp";
265		reg = <0x1f>;
266	};
267
268	/*
269	 * TUSB8041 is at 0x41, but not connected by default
270	 * Note: TUSB8041 only supports 100 kHz!
271	 */
272
273	eeprom3: eeprom@57 {
274		compatible = "nxp,se97b", "atmel,24c02";
275		reg = <0x57>;
276		pagesize = <16>;
277		vcc-supply = <&reg_vcc_3v3>;
278	};
279
280	pcieclk: clk@68 {
281		compatible = "renesas,9fgv0441";
282		reg = <0x68>;
283		clocks = <&clk_xtal25>;
284		#clock-cells = <1>;
285	};
286};
287
288&i2c3 {
289	pinctrl-names = "default", "gpio";
290	pinctrl-0 = <&pinctrl_i2c3>;
291	pinctrl-1 = <&pinctrl_i2c3_gpio>;
292	scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
293	sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
294	status = "okay";
295
296	dsi_lvds_bridge: bridge@2d {
297		compatible = "ti,sn65dsi84";
298		reg = <0x2d>;
299		enable-gpios = <&gpio_delays 0 130000 0>;
300		vcc-supply = <&reg_sn65dsi83_1v8>;
301		status = "disabled";
302
303		ports {
304			#address-cells = <1>;
305			#size-cells = <0>;
306
307			port@0 {
308				reg = <0>;
309
310				lvds_bridge_in: endpoint {
311					data-lanes = <1 2 3 4>;
312					remote-endpoint = <&mipi_dsi_out>;
313				};
314			};
315
316			port@2 {
317				reg = <2>;
318
319				lvds_bridge_out: endpoint {
320					remote-endpoint = <&panel_in_lvds>;
321				};
322			};
323		};
324	};
325};
326
327&mipi_dsi_out {
328	data-lanes = <1 2 3 4>;
329	remote-endpoint = <&lvds_bridge_in>;
330};
331
332&pwm3 {
333	pinctrl-names = "default";
334	pinctrl-0 = <&pinctrl_pwm3>;
335	status = "okay";
336};
337
338&pwm4 {
339	pinctrl-names = "default";
340	pinctrl-0 = <&pinctrl_pwm4>;
341	status = "okay";
342};
343
344&sai3 {
345	pinctrl-names = "default";
346	pinctrl-0 = <&pinctrl_sai3>;
347	#sound-dai-cells = <0>;
348	assigned-clock-rates = <49152000>;
349	status = "okay";
350};
351
352&snvs_pwrkey {
353	status = "okay";
354};
355
356&uart1 {
357	pinctrl-names = "default";
358	pinctrl-0 = <&pinctrl_uart1>;
359	status = "okay";
360};
361
362&uart2 {
363	pinctrl-names = "default";
364	pinctrl-0 = <&pinctrl_uart2>;
365	status = "okay";
366};
367
368/* console */
369&uart3 {
370	pinctrl-names = "default";
371	pinctrl-0 = <&pinctrl_uart3>;
372	status = "okay";
373};
374
375&usdhc2 {
376	pinctrl-names = "default", "state_100mhz", "state_200mhz";
377	pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
378	pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
379	pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
380	bus-width = <4>;
381	cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
382	disable-wp;
383	no-mmc;
384	no-sdio;
385	vmmc-supply = <&reg_usdhc2_vmmc>;
386	status = "okay";
387};
~/ Read-only file preview.