blob: 4f82bb668616f942d65f59a6f418cf38f404df32 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0
2/*
3 * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4 * Copyright (c) 2020-2023, Linaro Ltd.
5 *
6 */
7
8/dts-v1/;
9
10#include "msm8939.dtsi"
11#include "msm8939-pm8916.dtsi"
12#include <dt-bindings/arm/qcom,ids.h>
13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
15#include <dt-bindings/sound/apq8016-lpass.h>
16
17/ {
18 model = "Square, Inc. T2 Devkit";
19 compatible = "square,apq8039-t2", "qcom,msm8939";
20
21 qcom,board-id = <0x53 0x54>;
22 qcom,msm-id = <QCOM_ID_APQ8039 0x30000>;
23
24 aliases {
25 mmc0 = &sdhc_1;
26 mmc1 = &sdhc_2;
27 serial0 = &blsp_uart1;
28 serial1 = &blsp_uart2;
29 };
30
31 bl: backlight {
32 compatible = "gpio-backlight";
33 pinctrl-0 = <&pinctrl_backlight>;
34 pinctrl-names = "default";
35 gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>;
36 };
37
38 chosen {
39 stdout-path = "serial1:115200n8";
40 };
41
42 vreg_lcd_avdd_reg: lcd-avdd-regulator {
43 compatible = "regulator-fixed";
44 regulator-name = "lcd_avdd";
45 regulator-min-microvolt = <5600000>;
46 regulator-max-microvolt = <5600000>;
47 pinctrl-0 = <&pinctrl_lcd_avdd_reg>;
48 pinctrl-names = "default";
49 gpio = <&tlmm 86 GPIO_ACTIVE_HIGH>;
50 startup-delay-us = <300>;
51 enable-active-high;
52 };
53
54 vreg_lcd_avee_reg: lcd-avee-regulator {
55 compatible = "regulator-fixed";
56 regulator-name = "lcd_avee";
57 regulator-min-microvolt = <5600000>;
58 regulator-max-microvolt = <5600000>;
59 pinctrl-0 = <&pinctrl_lcd_avee_reg>;
60 pinctrl-names = "default";
61 gpio = <&tlmm 87 GPIO_ACTIVE_HIGH>;
62 startup-delay-us = <300>;
63 enable-active-high;
64 };
65
66 vreg_lcd_iovcc_reg: lcd-iovcc-regulator {
67 compatible = "regulator-fixed";
68 regulator-name = "lcd_iovcc";
69 regulator-min-microvolt = <1800000>;
70 regulator-max-microvolt = <1800000>;
71 pinctrl-0 = <&pinctrl_lcd_iovcc_reg>;
72 pinctrl-names = "default";
73 gpio = <&tlmm 9 GPIO_ACTIVE_HIGH>;
74 startup-delay-us = <300>;
75 enable-active-high;
76 };
77};
78
79&blsp_i2c1 {
80 status = "okay";
81};
82
83&blsp_i2c2 {
84 status = "okay";
85};
86
87&blsp_i2c3 {
88 status = "okay";
89
90 typec_pd: usb-pd@38 {
91 compatible = "ti,tps6598x";
92 reg = <0x38>;
93
94 interrupt-parent = <&tlmm>;
95 interrupts = <107 IRQ_TYPE_LEVEL_LOW>;
96 interrupt-names = "irq";
97
98 pinctrl-names = "default";
99 pinctrl-0 = <&typec_irq>;
100
101 typec_con: connector {
102 compatible = "usb-c-connector";
103 label = "USB-C";
104
105 port {
106 typec_ep: endpoint {
107 remote-endpoint = <&otg_ep>;
108 };
109 };
110 };
111 };
112};
113
114&blsp_i2c5 {
115 status = "okay";
116};
117
118&blsp_uart1 {
119 status = "okay";
120};
121
122&blsp_uart1_default {
123 pins = "gpio0", "gpio1";
124};
125
126&blsp_uart1_sleep {
127 pins = "gpio0", "gpio1";
128};
129
130&blsp_uart2 {
131 status = "okay";
132};
133
134&gpu {
135 status = "okay";
136};
137
138&lpass {
139 status = "okay";
140};
141
142&lpass_codec {
143 status = "okay";
144};
145
146&mdss {
147 status = "okay";
148};
149
150&pm8916_codec {
151 qcom,hphl-jack-type-normally-open;
152 qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
153 qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
154 status = "okay";
155};
156
157&pm8916_gpios {
158 gpio-line-names =
159 "PM_GPIO1", /* WIFI_GPIO1_PRE */
160 "PM_GPIO2", /* WIFI_GPIO2_PRE */
161 "PM_GPIO3",
162 "PM_GPIO4";
163};
164
165&sdhc_1 {
166 status = "okay";
167};
168
169&sound {
170 model = "apq8039-square-sndcard";
171 audio-routing = "AMIC2", "MIC BIAS Internal2";
172 pinctrl-names = "default", "sleep";
173 pinctrl-0 = <&cdc_pdm_default>;
174 pinctrl-1 = <&cdc_pdm_sleep>;
175
176 internal-codec-playback-dai-link {
177 link-name = "WCD";
178 cpu {
179 sound-dai = <&lpass MI2S_PRIMARY>;
180 };
181 codec {
182 sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>;
183 };
184 };
185
186 internal-codec-capture-dai-link {
187 link-name = "WCD-Capture";
188 cpu {
189 sound-dai = <&lpass MI2S_TERTIARY>;
190 };
191 codec {
192 sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>;
193 };
194 };
195};
196
197/*
198 * Line names are taken from the schematic of T2, Ver X03.
199 * July 14, 2018. Page 4 in particular.
200 */
201&tlmm {
202 gpio-line-names =
203 "APQ_UART1_TX", /* GPIO_0 */
204 "APQ_UART1_RX",
205 "APQ_I2C1_SDA",
206 "APQ_I2C1_SCL",
207 "APQ_UART2_TX_1V8",
208 "APQ_UART2_RX_1V8",
209 "APQ_I2C2_SDA",
210 "APQ_I2C2_SCL",
211 "NC",
212 "APQ_LCD_IOVCC_EN",
213 "APQ_I2C3_SDA", /* GPIO_10 */
214 "APQ_I2C3_SCL",
215 "TOUCH_RST_1V8_L",
216 "NC",
217 "APQ_I2C4_SDA",
218 "APQ_I2C4_SCL",
219 "APQ_ID5",
220 "USB_DISCONNECT",
221 "APQ_I2C5_SDA",
222 "APQ_I2C5_SCL",
223 "APQ_USBC_SPI_MOSI", /* GPIO_20 */
224 "APQ_USBC_SPI_MISO",
225 "APQ_USBC_SPI_SS_L",
226 "APQ_USBC_SPI_CLK",
227 "APQ_LCD_TE0",
228 "APQ_LCD_RST_L",
229 "NC",
230 "NC",
231 "ACCELEROMETER_INT1",
232 "APQ_CAM_I2C0_SDA",
233 "APQ_CAM_I2C0_SCL", /* GPIO_30 */
234 "ACCELEROMETER_INT2",
235 "NC",
236 "NC",
237 "NC",
238 "APQ_K21_RST_1V8_L",
239 "NC",
240 "APQ_EDL_1V8",
241 "TP145",
242 "BT_SSBI",
243 "NC", /* GPIO_40 */
244 "NC",
245 "NC",
246 "NC",
247 "NC",
248 "NC",
249 "NC",
250 "BT_CTRL",
251 "BT_DAT",
252 "PWR_GPIO_IN",
253 "PWR_GPIO_OUT", /* GPIO_50 */
254 "CARD_DET_MLB_L",
255 "HALL_SENSOR",
256 "TP63",
257 "TP64",
258 "TP65",
259 "NC",
260 "NC",
261 "NC",
262 "NC",
263 "NC", /* GPIO_60 */
264 "NC",
265 "APQ_K21_GPIO0_1V8",
266 "CDC_PDM_CLK",
267 "CDC_PDM_SYNC",
268 "CDC_PDM_TX",
269 "CDC_PDM_RX0",
270 "CDC_PDM_RX1",
271 "CDC_PDM_RX2",
272 "APQ_K21_GPIO1_1V8",
273 "NC", /* GPIO_70 */
274 "APQ_HUB_SEL_1V8",
275 "APQ_K21_GPIO2_1V8",
276 "APQ_K21_GPIO3_1V8",
277 "APQ_ID0",
278 "APQ_ID1",
279 "APQ_ID2",
280 "APQ_ID3",
281 "APQ_ID4",
282 "APQ_HUB_SUSP_IND",
283 "BOOT_CONFIG_0", /* GPIO_80 */
284 "BOOT_CONFIG_1",
285 "BOOT_CONFIG_2",
286 "BOOT_CONFIG_3",
287 "NC",
288 "NC",
289 "APQ_LCD_AVDD_EN",
290 "APQ_LCD_AVEE_EN",
291 "TP70",
292 "NC",
293 "APQ_DEBUG0", /* GPIO_90 */
294 "APQ_DEBUG1",
295 "APQ_DEBUG2",
296 "APQ_DEBUG3",
297 "TP165",
298 "NC",
299 "APQ_LNA_PWR_EN",
300 "NC",
301 "APQ_LCD_BL_EN",
302 "NC",
303 "APQ_LCD_ID0", /* GPIO_100 */
304 "APQ_LCD_ID1",
305 "USBC_GPIO5_1V8",
306 "NC",
307 "NC",
308 "NC",
309 "APQ_HUB_RST_1V8_L",
310 "USBC_I2C_IRQ_1V8_L",
311 "SPE_PWR_EN",
312 "NC",
313 "APQ_USB_ID", /* GPIO_110 */
314 "APQ_EXT_BUCK_VSEL",
315 "APQ_USB_ID_OUT",
316 "NC",
317 "PRNT_RST_L",
318 "APQ_CRQ_I2C_RDY_1V8",
319 "TYPEC_RST_1V8_H",
320 "CHG_BACKPWR_EN",
321 "CHG_PROCHOT_L",
322 "NC",
323 "USBC_GPIO7_1V8", /* GPIO_120 */
324 "NC";
325
326 pinctrl_backlight: backlight-state {
327 pins = "gpio98";
328 function = "gpio";
329 };
330
331 pinctrl_lcd_avdd_reg: lcd-avdd-reg-state {
332 pins = "gpio86";
333 function = "gpio";
334 };
335
336 pinctrl_lcd_avee_reg: lcd-avee-reg-state {
337 pins = "gpio87";
338 function = "gpio";
339 };
340
341 pinctrl_lcd_iovcc_reg: lcd-iovcc-reg-state {
342 pins = "gpio9";
343 function = "gpio";
344 };
345
346 pinctrl_lcd_rst: lcd-rst-state {
347 pins = "gpio25";
348 function = "gpio";
349 };
350
351 pinctrl_otg_default: otg-default-state {
352 function = "gpio";
353 pins = "gpio17";
354 output-high;
355 };
356
357 pinctrl_otg_device: otg-device-state {
358 function = "gpio";
359 pins = "gpio17";
360 output-low;
361 };
362
363 pinctrl_otg_host: otg-host-state {
364 function = "gpio";
365 pins = "gpio17";
366 output-low;
367 };
368
369 typec_irq: typec-irq-state {
370 function = "gpio";
371 pins = "gpio107";
372 bias-pull-up;
373 };
374};
375
376&usb {
377 pinctrl-names = "default", "host", "device";
378 pinctrl-0 = <&pinctrl_otg_default>;
379 pinctrl-1 = <&pinctrl_otg_host>;
380 pinctrl-2 = <&pinctrl_otg_device>;
381 usb-role-switch;
382 status = "okay";
383
384 port {
385 otg_ep: endpoint {
386 remote-endpoint = <&typec_ep>;
387 };
388 };
389};
390
391&wcnss {
392 status = "okay";
393};
394
395&wcnss_iris {
396 compatible = "qcom,wcn3680";
397};
398
399&wcnss_mem {
400 status = "okay";
401};