]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm/nxp/imx/imx6ull-dhcom-pdk2.dts
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / src / arm / nxp / imx / imx6ull-dhcom-pdk2.dts
1 // SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
2 /*
3 * Copyright (C) 2023 DH electronics GmbH
4 *
5 * DHCOM iMX6ULL variant:
6 * DHCM-iMX6ULL-C080-R051-F0409-SPI-E2-CAN2-RTC-WBT-ADC-I-01D2
7 * DHCOR PCB number: 578-200 or newer
8 * DHCOM PCB number: 579-200 or newer
9 * PDK2 PCB number: 516-400 or newer
10 */
11 /dts-v1/;
12
13 #include "imx6ull-dhcom-som.dtsi"
14
15 / {
16 model = "DH electronics i.MX6ULL DHCOM on Premium Developer Kit (2)";
17 compatible = "dh,imx6ull-dhcom-pdk2", "dh,imx6ull-dhcom-som",
18 "dh,imx6ull-dhcor-som", "fsl,imx6ull";
19
20 clk_ext_audio_codec: clock-codec {
21 compatible = "fixed-clock";
22 #clock-cells = <0>;
23 clock-frequency = <24000000>;
24 };
25
26 display_bl: display-bl {
27 compatible = "pwm-backlight";
28 brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>;
29 default-brightness-level = <8>;
30 enable-gpios = <&gpio5 8 GPIO_ACTIVE_HIGH>; /* GPIO G */
31 power-supply = <&reg_panel_3v3>;
32 pwms = <&pwm1 0 50000 PWM_POLARITY_INVERTED>;
33 };
34
35 gpio-keys {
36 compatible = "gpio-keys";
37
38 button-0 {
39 gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; /* GPIO A */
40 label = "TA1-GPIO-A";
41 linux,code = <KEY_A>;
42 wakeup-source;
43 };
44
45 button-1 {
46 gpios = <&gpio5 1 GPIO_ACTIVE_LOW>; /* GPIO B */
47 label = "TA2-GPIO-B";
48 linux,code = <KEY_B>;
49 wakeup-source;
50 };
51
52 button-2 {
53 gpios = <&gpio5 2 GPIO_ACTIVE_LOW>; /* GPIO C */
54 label = "TA3-GPIO-C";
55 linux,code = <KEY_C>;
56 wakeup-source;
57 };
58
59 button-3 {
60 gpios = <&gpio5 3 GPIO_ACTIVE_LOW>; /* GPIO D */
61 label = "TA4-GPIO-D";
62 linux,code = <KEY_D>;
63 wakeup-source;
64 };
65 };
66
67 led: led {
68 compatible = "gpio-leds";
69
70 /*
71 * Disable PDK2 LED5, because GPIO E is
72 * already used as touch interrupt.
73 */
74 led-0 {
75 color = <LED_COLOR_ID_GREEN>;
76 default-state = "off";
77 function = LED_FUNCTION_INDICATOR;
78 function-enumerator = <5>; /* PDK2 LED5 */
79 gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>; /* GPIO E */
80 status = "disabled";
81 };
82
83 led-1 {
84 color = <LED_COLOR_ID_GREEN>;
85 default-state = "off";
86 function = LED_FUNCTION_INDICATOR;
87 function-enumerator = <6>; /* PDK2 LED6 */
88 gpios = <&gpio5 7 GPIO_ACTIVE_HIGH>; /* GPIO F */
89 };
90
91 /*
92 * Disable PDK2 LED7, because GPIO H is
93 * already used for WiFi pin WL_REG_ON.
94 */
95 led-2 {
96 color = <LED_COLOR_ID_GREEN>;
97 default-state = "off";
98 function = LED_FUNCTION_INDICATOR;
99 function-enumerator = <7>; /* PDK2 LED7 */
100 gpios = <&gpio5 9 GPIO_ACTIVE_HIGH>; /* GPIO H */
101 status = "disabled";
102 };
103
104 /*
105 * Disable PDK2 LED8, because GPIO I is
106 * already used for BT pin BT_REG_ON.
107 */
108 led-3 {
109 color = <LED_COLOR_ID_GREEN>;
110 default-state = "off";
111 function = LED_FUNCTION_INDICATOR;
112 function-enumerator = <8>; /* PDK2 LED8 */
113 gpios = <&gpio1 18 GPIO_ACTIVE_HIGH>; /* GPIO I */
114 status = "disabled";
115 };
116 };
117
118 panel {
119 compatible = "edt,etm0700g0edh6";
120 backlight = <&display_bl>;
121 power-supply = <&reg_panel_3v3>;
122
123 port {
124 lcd_panel_in: endpoint {
125 remote-endpoint = <&lcd_display_out>;
126 };
127 };
128 };
129
130 /* Filtered supply voltage */
131 reg_pdk2_24v: regulator-pdk2-24v {
132 compatible = "regulator-fixed";
133 regulator-always-on;
134 regulator-max-microvolt = <24000000>;
135 regulator-min-microvolt = <24000000>;
136 regulator-name = "24V_PDK2";
137 };
138
139 /* PDK2 U35 */
140 reg_pdk2_3v3: regulator-pdk2-3v3 {
141 compatible = "regulator-fixed";
142 regulator-always-on;
143 regulator-min-microvolt = <3300000>;
144 regulator-max-microvolt = <3300000>;
145 regulator-name = "3V3_PDK2";
146 vin-supply = <&reg_pdk2_24v>;
147 };
148
149 /* 560-200 U1 */
150 reg_panel_3v3: regulator-panel-3v3 {
151 compatible = "regulator-fixed";
152 regulator-always-on;
153 regulator-min-microvolt = <3300000>;
154 regulator-max-microvolt = <3300000>;
155 regulator-name = "3V3_PANEL";
156 vin-supply = <&reg_pdk2_24v>;
157 };
158
159 sound {
160 compatible = "simple-audio-card";
161 simple-audio-card,bitclock-master = <&dailink_master>;
162 simple-audio-card,format = "i2s";
163 simple-audio-card,frame-master = <&dailink_master>;
164 simple-audio-card,name = "sgtl5000";
165 simple-audio-card,routing =
166 "MIC_IN", "Mic Jack",
167 "Mic Jack", "Mic Bias",
168 "LINE_IN", "Line In Jack",
169 "Headphone Jack", "HP_OUT";
170 simple-audio-card,widgets =
171 "Microphone", "Mic Jack",
172 "Line", "Line In Jack",
173 "Headphone", "Headphone Jack";
174
175 simple-audio-card,cpu {
176 sound-dai = <&sai2>;
177 };
178
179 dailink_master: simple-audio-card,codec {
180 clocks = <&clk_ext_audio_codec>;
181 sound-dai = <&sgtl5000>;
182 };
183 };
184 };
185
186 /* DHCOM I2C1 */
187 &i2c2 {
188 sgtl5000: audio-codec@a {
189 compatible = "fsl,sgtl5000";
190 reg = <0x0a>;
191 #sound-dai-cells = <0>;
192 clocks = <&clk_ext_audio_codec>;
193 VDDA-supply = <&reg_pdk2_3v3>;
194 VDDIO-supply = <&reg_pdk2_3v3>;
195 };
196
197 touchscreen@38 {
198 compatible = "edt,edt-ft5406";
199 reg = <0x38>;
200 interrupt-parent = <&gpio5>;
201 interrupts = <4 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */
202 power-supply = <&reg_panel_3v3>;
203 };
204 };
205
206 &lcdif {
207 status = "okay";
208
209 port {
210 lcd_display_out: endpoint {
211 remote-endpoint = <&lcd_panel_in>;
212 };
213 };
214 };
215
216 &pwm1 {
217 status = "okay";
218 };
219
220 &sai2 {
221 status = "okay";
222 };