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: m25p80@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		clocks = <&sys_mclk>;
100		lrclk-strength = <0x3>;
101		VDDA-supply = <&reg_1p8v>;
102		VDDIO-supply = <&reg_3p3v>;
103	};
104};
105
106&pwm2 {
107	pinctrl-names = "default";
108	pinctrl-0 = <&pinctrl_pwm2>;
109	status = "okay";
110};
111
112&sata {
113	fsl,no-spread-spectrum;
114	fsl,transmit-atten-16ths = <12>;
115	fsl,transmit-boost-mdB = <3330>;
116	fsl,transmit-level-mV = <1133>;
117	fsl,receive-dpll-mode = <1>;
118	status = "okay";
119};
120
121&usbotg {
122	vbus-supply = <&reg_usb_otg_vbus>;
123	pinctrl-names = "default";
124	pinctrl-0 = <&pinctrl_usbotg>;
125	dr_mode = "otg";
126	disable-over-current;
127	status = "okay";
128};
129
130&usdhc4 {
131	pinctrl-names = "default";
132	pinctrl-0 = <&pinctrl_usdhc4>;
133	bus-width = <8>;
134	cd-gpios = <&gpio6 11 GPIO_ACTIVE_LOW>;
135	no-1-8-v;
136	keep-power-in-suspend;
137	wakeup-source;
138	status = "okay";
139};
140