1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2
3/dts-v1/;
4
5#include <dt-bindings/gpio/gpio.h>
6#include "imx6q-ba16.dtsi"
7
8/ {
9	model = "Advantech DMS-BA16";
10	compatible = "advantech,imx6q-dms-ba16", "advantech,imx6q-ba16", "fsl,imx6q";
11
12	reg_usb_otg_vbus: regulator-usbotgvbus {
13		compatible = "regulator-fixed";
14		regulator-name = "usb_otg_vbus";
15		regulator-min-microvolt = <5000000>;
16		regulator-max-microvolt = <5000000>;
17		pinctrl-names = "default";
18		pinctrl-0 = <&pinctrl_usbotgvbus>;
19		gpio = <&gpio4 15 GPIO_ACTIVE_HIGH>;
20		enable-active-high;
21	};
22
23	sys_mclk: clock-sys-mclk {
24		compatible = "fixed-clock";
25		#clock-cells = <0>;
26		clock-frequency = <22000000>;
27	};
28
29	sound {
30		compatible = "fsl,imx6q-ba16-sgtl5000",
31			     "fsl,imx-audio-sgtl5000";
32		model = "imx6q-ba16-sgtl5000";
33		ssi-controller = <&ssi1>;
34		audio-codec = <&sgtl5000>;
35		audio-routing =
36			"MIC_IN", "Mic Jack",
37			"Mic Jack", "Mic Bias",
38			"Headphone Jack", "HP_OUT";
39		mux-int-port = <1>;
40		mux-ext-port = <4>;
41	};
42};
43
44&ecspi5 {
45	cs-gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
46	pinctrl-names = "default";
47	pinctrl-0 = <&pinctrl_ecspi5>;
48	status = "okay";
49
50	m25_eeprom: flash@0 {
51		compatible = "atmel,at25256B", "atmel,at25";
52		spi-max-frequency = <20000000>;
53		size = <0x8000>;
54		pagesize = <64>;
55		reg = <0>;
56		address-width = <16>;
57	};
58};
59
60&iomuxc {
61	pinctrl_i2c1_gpio: i2c1gpiogrp {
62		fsl,pins = <
63			MX6QDL_PAD_CSI0_DAT8__GPIO5_IO26        0x1b0b0
64			MX6QDL_PAD_CSI0_DAT9__GPIO5_IO27        0x1b0b0
65		>;
66	};
67
68	pinctrl_i2c2_gpio: i2c2gpiogrp {
69		fsl,pins = <
70			MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x1b0b0
71			MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x1b0b0
72		>;
73	};
74
75	pinctrl_i2c3_gpio: i2c3gpiogrp {
76		fsl,pins = <
77			MX6QDL_PAD_GPIO_3__GPIO1_IO03   0x1b0b0
78			MX6QDL_PAD_GPIO_6__GPIO1_IO06   0x1b0b0
79		>;
80	};
81
82	pinctrl_usbotgvbus: usbotgvbusgrp {
83		fsl,pins = <
84			MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
85			MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x000b0
86		>;
87	};
88};
89
90&i2c1 {
91	clock-frequency = <100000>;
92	pinctrl-names = "default";
93	pinctrl-0 = <&pinctrl_i2c1>;
94	status = "okay";
95
96	sgtl5000: codec@a {
97		compatible = "fsl,sgtl5000";
98		reg = <0x0a>;
99		#sound-dai-cells = <0>;
100		clocks = <&sys_mclk>;
101		lrclk-strength = <0x3>;
102		VDDA-supply = <&reg_1p8v>;
103		VDDIO-supply = <&reg_3p3v>;
104	};
105};
106
107&pwm2 {
108	pinctrl-names = "default";
109	pinctrl-0 = <&pinctrl_pwm2>;
110	status = "okay";
111};
112
113&sata {
114	fsl,no-spread-spectrum;
115	fsl,transmit-atten-16ths = <12>;
116	fsl,transmit-boost-mdB = <3330>;
117	fsl,transmit-level-mV = <1133>;
118	fsl,receive-dpll-mode = <1>;
119	status = "okay";
120};
121
122&usbotg {
123	vbus-supply = <&reg_usb_otg_vbus>;
124	pinctrl-names = "default";
125	pinctrl-0 = <&pinctrl_usbotg>;
126	dr_mode = "otg";
127	disable-over-current;
128	status = "okay";
129};
130
131&usdhc4 {
132	pinctrl-names = "default";
133	pinctrl-0 = <&pinctrl_usdhc4>;
134	bus-width = <8>;
135	cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
136	no-1-8-v;
137	keep-power-in-suspend;
138	wakeup-source;
139	status = "okay";
140};
141