1// SPDX-License-Identifier: GPL-2.0
2/*
3 * SDM845 OnePlus 6(T) (enchilada / fajita) common device tree source
4 *
5 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
6 */
7
8/dts-v1/;
9
10#include <dt-bindings/input/linux-event-codes.h>
11#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
12#include <dt-bindings/sound/qcom,q6afe.h>
13#include <dt-bindings/sound/qcom,q6asm.h>
14
15#include "sdm845.dtsi"
16#include "sdm845-wcd9340.dtsi"
17#include "pm8998.dtsi"
18#include "pmi8998.dtsi"
19
20/delete-node/ &rmtfs_mem;
21
22/ {
23	aliases {
24		serial0 = &uart9;
25		serial1 = &uart6;
26	};
27
28	chosen {
29		stdout-path = "serial0:115200n8";
30	};
31
32	gpio-hall-sensor {
33		compatible = "gpio-keys";
34		label = "Hall effect sensor";
35
36		pinctrl-0 = <&hall_sensor_default>;
37		pinctrl-names = "default";
38
39		event-hall-sensor {
40			gpios = <&tlmm 124 GPIO_ACTIVE_LOW>;
41			label = "Hall Effect Sensor";
42			linux,input-type = <EV_SW>;
43			linux,code = <SW_LID>;
44			linux,can-disable;
45			wakeup-source;
46		};
47	};
48
49	gpio-keys {
50		compatible = "gpio-keys";
51		label = "Volume keys";
52		autorepeat;
53
54		pinctrl-names = "default";
55		pinctrl-0 = <&volume_down_gpio &volume_up_gpio>;
56
57		key-vol-down {
58			label = "Volume down";
59			linux,code = <KEY_VOLUMEDOWN>;
60			gpios = <&pm8998_gpios 5 GPIO_ACTIVE_LOW>;
61			debounce-interval = <15>;
62		};
63
64		key-vol-up {
65			label = "Volume up";
66			linux,code = <KEY_VOLUMEUP>;
67			gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>;
68			debounce-interval = <15>;
69		};
70	};
71
72	reserved-memory {
73		/*
74		 * The rmtfs_mem needs to be guarded due to "XPU limitations"
75		 * it is otherwise possible for an allocation adjacent to the
76		 * rmtfs_mem region to trigger an XPU violation, causing a crash.
77		 */
78		rmtfs_lower_guard: rmtfs-lower-guard@f5b00000 {
79			no-map;
80			reg = <0 0xf5b00000 0 0x1000>;
81		};
82		/*
83		 * The rmtfs memory region in downstream is 'dynamically allocated'
84		 * but given the same address every time. Hard code it as this address is
85		 * where the modem firmware expects it to be.
86		 */
87		rmtfs_mem: rmtfs-mem@f5b01000 {
88			compatible = "qcom,rmtfs-mem";
89			reg = <0 0xf5b01000 0 0x200000>;
90			no-map;
91
92			qcom,client-id = <1>;
93			qcom,vmid = <15>;
94		};
95		rmtfs_upper_guard: rmtfs-upper-guard@f5d01000 {
96			no-map;
97			reg = <0 0xf5d01000 0 0x1000>;
98		};
99
100		/*
101		 * It seems like reserving the old rmtfs_mem region is also needed to prevent
102		 * random crashes which are most likely modem related, more testing needed.
103		 */
104		removed_region: removed-region@88f00000 {
105			no-map;
106			reg = <0 0x88f00000 0 0x1c00000>;
107		};
108
109		ramoops: ramoops@ac300000 {
110			compatible = "ramoops";
111			reg = <0 0xac300000 0 0x400000>;
112			record-size = <0x40000>;
113			console-size = <0x40000>;
114			ftrace-size = <0x40000>;
115			pmsg-size = <0x200000>;
116			ecc-size = <16>;
117		};
118	};
119
120	vph_pwr: vph-pwr-regulator {
121		compatible = "regulator-fixed";
122		regulator-name = "vph_pwr";
123		regulator-min-microvolt = <3700000>;
124		regulator-max-microvolt = <3700000>;
125	};
126
127	/*
128	 * Apparently RPMh does not provide support for PM8998 S4 because it
129	 * is always-on; model it as a fixed regulator.
130	 */
131	vreg_s4a_1p8: pm8998-smps4 {
132		compatible = "regulator-fixed";
133		regulator-name = "vreg_s4a_1p8";
134
135		regulator-min-microvolt = <1800000>;
136		regulator-max-microvolt = <1800000>;
137
138		regulator-always-on;
139		regulator-boot-on;
140
141		vin-supply = <&vph_pwr>;
142	};
143
144	/*
145	 * The touchscreen regulator seems to be controlled somehow by a gpio.
146	 * Model it as a fixed regulator and keep it on. Without schematics we
147	 * don't know how this is actually wired up...
148	 */
149	ts_1p8_supply: ts-1p8-regulator {
150		compatible = "regulator-fixed";
151		regulator-name = "ts_1p8_supply";
152
153		regulator-min-microvolt = <1800000>;
154		regulator-max-microvolt = <1800000>;
155
156		gpio = <&tlmm 88 0>;
157		enable-active-high;
158		regulator-boot-on;
159	};
160};
161
162&adsp_pas {
163	status = "okay";
164	firmware-name = "qcom/sdm845/oneplus6/adsp.mbn";
165};
166
167&apps_rsc {
168	regulators-0 {
169		compatible = "qcom,pm8998-rpmh-regulators";
170		qcom,pmic-id = "a";
171
172		vdd-s1-supply = <&vph_pwr>;
173		vdd-s2-supply = <&vph_pwr>;
174		vdd-s3-supply = <&vph_pwr>;
175		vdd-s4-supply = <&vph_pwr>;
176		vdd-s5-supply = <&vph_pwr>;
177		vdd-s6-supply = <&vph_pwr>;
178		vdd-s7-supply = <&vph_pwr>;
179		vdd-s8-supply = <&vph_pwr>;
180		vdd-s9-supply = <&vph_pwr>;
181		vdd-s10-supply = <&vph_pwr>;
182		vdd-s11-supply = <&vph_pwr>;
183		vdd-s12-supply = <&vph_pwr>;
184		vdd-s13-supply = <&vph_pwr>;
185		vdd-l1-l27-supply = <&vreg_s7a_1p025>;
186		vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
187		vdd-l3-l11-supply = <&vreg_s7a_1p025>;
188		vdd-l4-l5-supply = <&vreg_s7a_1p025>;
189		vdd-l6-supply = <&vph_pwr>;
190		vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
191		vdd-l9-supply = <&vreg_bob>;
192		vdd-l10-l23-l25-supply = <&vreg_bob>;
193		vdd-l13-l19-l21-supply = <&vreg_bob>;
194		vdd-l16-l28-supply = <&vreg_bob>;
195		vdd-l18-l22-supply = <&vreg_bob>;
196		vdd-l20-l24-supply = <&vreg_bob>;
197		vdd-l26-supply = <&vreg_s3a_1p35>;
198		vin-lvs-1-2-supply = <&vreg_s4a_1p8>;
199
200		vreg_s3a_1p35: smps3 {
201			regulator-min-microvolt = <1352000>;
202			regulator-max-microvolt = <1352000>;
203		};
204
205		vreg_s5a_2p04: smps5 {
206			regulator-min-microvolt = <1904000>;
207			regulator-max-microvolt = <2040000>;
208		};
209
210		vreg_s7a_1p025: smps7 {
211			regulator-min-microvolt = <900000>;
212			regulator-max-microvolt = <1028000>;
213		};
214
215		vdda_mipi_dsi0_pll:
216		vdda_qlink_lv:
217		vdda_ufs1_core:
218		vdda_usb1_ss_core:
219		vreg_l1a_0p875: ldo1 {
220			regulator-min-microvolt = <880000>;
221			regulator-max-microvolt = <880000>;
222			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
223		};
224
225		vreg_l2a_1p2: ldo2 {
226			regulator-min-microvolt = <1200000>;
227			regulator-max-microvolt = <1200000>;
228			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
229			regulator-always-on;
230		};
231
232		vreg_l5a_0p8: ldo5 {
233			regulator-min-microvolt = <800000>;
234			regulator-max-microvolt = <800000>;
235			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
236		};
237
238		vreg_l7a_1p8: ldo7 {
239			regulator-min-microvolt = <1800000>;
240			regulator-max-microvolt = <1800000>;
241			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
242		};
243
244		vdda_qusb_hs0_1p8:
245		vreg_l12a_1p8: ldo12 {
246			regulator-min-microvolt = <1800000>;
247			regulator-max-microvolt = <1800000>;
248			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
249		};
250
251		vreg_l14a_1p88: ldo14 {
252			regulator-min-microvolt = <1800000>;
253			regulator-max-microvolt = <1800000>;
254			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
255			regulator-always-on;
256		};
257
258		vreg_l17a_1p3: ldo17 {
259			regulator-min-microvolt = <1304000>;
260			regulator-max-microvolt = <1304000>;
261			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
262		};
263
264		vreg_l20a_2p95: ldo20 {
265			regulator-min-microvolt = <2704000>;
266			regulator-max-microvolt = <2960000>;
267			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
268		};
269
270		vreg_l23a_3p3: ldo23 {
271			regulator-min-microvolt = <3300000>;
272			regulator-max-microvolt = <3312000>;
273			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
274		};
275
276		vdda_qusb_hs0_3p1:
277		vreg_l24a_3p075: ldo24 {
278			regulator-min-microvolt = <3088000>;
279			regulator-max-microvolt = <3088000>;
280			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
281		};
282
283		vreg_l25a_3p3: ldo25 {
284			regulator-min-microvolt = <3300000>;
285			regulator-max-microvolt = <3312000>;
286			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
287		};
288
289		vdda_mipi_dsi0_1p2:
290		vdda_ufs1_1p2:
291		vreg_l26a_1p2: ldo26 {
292			regulator-min-microvolt = <1200000>;
293			regulator-max-microvolt = <1200000>;
294			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
295		};
296
297		vreg_l28a_3p0: ldo28 {
298			regulator-min-microvolt = <2856000>;
299			regulator-max-microvolt = <3008000>;
300			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
301		};
302	};
303
304	regulators-1 {
305		compatible = "qcom,pmi8998-rpmh-regulators";
306		qcom,pmic-id = "b";
307
308		vdd-bob-supply = <&vph_pwr>;
309
310		vreg_bob: bob {
311			regulator-min-microvolt = <3312000>;
312			regulator-max-microvolt = <3600000>;
313			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
314			regulator-allow-bypass;
315		};
316	};
317
318	regulators-2 {
319		compatible = "qcom,pm8005-rpmh-regulators";
320		qcom,pmic-id = "c";
321
322		vdd-s1-supply = <&vph_pwr>;
323		vdd-s2-supply = <&vph_pwr>;
324		vdd-s3-supply = <&vph_pwr>;
325		vdd-s4-supply = <&vph_pwr>;
326
327		vreg_s3c_0p6: smps3 {
328			regulator-min-microvolt = <600000>;
329			regulator-max-microvolt = <600000>;
330		};
331	};
332};
333
334&cdsp_pas {
335	status = "okay";
336	firmware-name = "qcom/sdm845/oneplus6/cdsp.mbn";
337};
338
339&gcc {
340	protected-clocks = <GCC_QSPI_CORE_CLK>,
341				<GCC_QSPI_CORE_CLK_SRC>,
342				<GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
343				<GCC_LPASS_Q6_AXI_CLK>,
344				<GCC_LPASS_SWAY_CLK>;
345};
346
347&gmu {
348	status = "okay";
349};
350
351&gpu {
352	status = "okay";
353
354	zap-shader {
355		memory-region = <&gpu_mem>;
356		firmware-name = "qcom/sdm845/oneplus6/a630_zap.mbn";
357	};
358};
359
360&i2c10 {
361	status = "okay";
362	clock-frequency = <100000>;
363
364	bq27441_fg: bq27441-battery@55 {
365		compatible = "ti,bq27411";
366		status = "okay";
367		reg = <0x55>;
368	};
369};
370
371&i2c12 {
372	status = "okay";
373	clock-frequency = <400000>;
374
375	synaptics-rmi4-i2c@20 {
376		compatible = "syna,rmi4-i2c";
377		reg = <0x20>;
378		#address-cells = <1>;
379		#size-cells = <0>;
380		interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>;
381
382		pinctrl-names = "default";
383		pinctrl-0 = <&ts_default_pins>;
384
385		vdd-supply = <&vreg_l28a_3p0>;
386		vio-supply = <&ts_1p8_supply>;
387
388		syna,reset-delay-ms = <200>;
389		syna,startup-delay-ms = <200>;
390
391		rmi4-f01@1 {
392			reg = <0x01>;
393			syna,nosleep-mode = <1>;
394		};
395
396		rmi4_f12: rmi4-f12@12 {
397			reg = <0x12>;
398			touchscreen-x-mm = <68>;
399			touchscreen-y-mm = <144>;
400			syna,sensor-type = <1>;
401			syna,rezero-wait-ms = <200>;
402		};
403	};
404};
405
406&ipa {
407	qcom,gsi-loader = "self";
408	memory-region = <&ipa_fw_mem>;
409	firmware-name = "qcom/sdm845/oneplus6/ipa_fws.mbn";
410	status = "okay";
411};
412
413&mdss {
414	status = "okay";
415};
416
417&mdss_dsi0 {
418	status = "okay";
419	vdda-supply = <&vdda_mipi_dsi0_1p2>;
420
421	/*
422	 * Both devices use different panels but all other properties
423	 * are common. Compatible line is declared in device dts.
424	 */
425	display_panel: panel@0 {
426		status = "disabled";
427
428		reg = <0>;
429
430		vddio-supply = <&vreg_l14a_1p88>;
431
432		reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>;
433
434		pinctrl-names = "default";
435		pinctrl-0 = <&panel_reset_pins &panel_te_pin &panel_esd_pin>;
436
437		port {
438			panel_in: endpoint {
439				remote-endpoint = <&mdss_dsi0_out>;
440			};
441		};
442	};
443};
444
445&mdss_dsi0_out {
446	remote-endpoint = <&panel_in>;
447	data-lanes = <0 1 2 3>;
448};
449
450&mdss_dsi0_phy {
451	status = "okay";
452	vdds-supply = <&vdda_mipi_dsi0_pll>;
453};
454
455/* Modem/wifi */
456&mss_pil {
457	status = "okay";
458	firmware-name = "qcom/sdm845/oneplus6/mba.mbn", "qcom/sdm845/oneplus6/modem.mbn";
459};
460
461&pm8998_gpios {
462	volume_down_gpio: pm8998-gpio5-state {
463		pinconf {
464			pins = "gpio5";
465			function = "normal";
466			input-enable;
467			bias-pull-up;
468			qcom,drive-strength = <0>;
469		};
470	};
471
472	volume_up_gpio: pm8998-gpio6-state {
473		pinconf {
474			pins = "gpio6";
475			function = "normal";
476			input-enable;
477			bias-pull-up;
478			qcom,drive-strength = <0>;
479		};
480	};
481};
482
483&pmi8998_charger {
484	status = "okay";
485};
486
487&q6afedai {
488	dai@22 {
489		reg = <QUATERNARY_MI2S_RX>;
490		qcom,sd-lines = <1>;
491	};
492
493	dai@23 {
494		reg = <QUATERNARY_MI2S_TX>;
495		qcom,sd-lines = <0>;
496	};
497};
498
499&q6asmdai {
500	dai@0 {
501		reg = <0>;
502	};
503
504	dai@1 {
505		reg = <1>;
506	};
507
508	dai@2 {
509		reg = <2>;
510	};
511
512	dai@3 {
513		reg = <3>;
514	};
515
516	dai@4 {
517		reg = <4>;
518	};
519
520	dai@5 {
521		reg = <5>;
522	};
523};
524
525&qupv3_id_1 {
526	status = "okay";
527};
528
529&qupv3_id_0 {
530	status = "okay";
531};
532
533&qup_i2c10_default {
534	drive-strength = <2>;
535	bias-disable;
536};
537
538&qup_i2c12_default {
539	drive-strength = <2>;
540	bias-disable;
541};
542
543&qup_uart9_rx {
544	drive-strength = <2>;
545	bias-pull-up;
546};
547
548&qup_uart9_tx {
549	drive-strength = <2>;
550	bias-disable;
551};
552
553&slpi_pas {
554	firmware-name = "qcom/sdm845/oneplus6/slpi.mbn";
555	status = "okay";
556};
557
558&sound {
559	compatible = "qcom,sdm845-sndcard";
560	pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active &quat_mi2s_sd1_active>;
561	pinctrl-names = "default";
562	status = "okay";
563
564	mm1-dai-link {
565		link-name = "MultiMedia1";
566		cpu {
567			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
568		};
569	};
570
571	mm2-dai-link {
572		link-name = "MultiMedia2";
573		cpu {
574			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
575		};
576	};
577
578	mm3-dai-link {
579		link-name = "MultiMedia3";
580		cpu {
581			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
582		};
583	};
584
585	mm4-dai-link {
586		link-name = "MultiMedia4";
587		cpu {
588			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>;
589		};
590	};
591
592	mm5-dai-link {
593		link-name = "MultiMedia5";
594		cpu {
595			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA5>;
596		};
597	};
598
599	mm6-dai-link {
600		link-name = "MultiMedia6";
601		cpu {
602			sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA6>;
603		};
604	};
605
606	speaker_playback_dai: speaker-dai-link {
607		link-name = "Speaker Playback";
608		cpu {
609			sound-dai = <&q6afedai QUATERNARY_MI2S_RX>;
610		};
611
612		platform {
613			sound-dai = <&q6routing>;
614		};
615	};
616
617	slim-dai-link {
618		link-name = "SLIM Playback 1";
619		cpu {
620			sound-dai = <&q6afedai SLIMBUS_0_RX>;
621		};
622
623		platform {
624			sound-dai = <&q6routing>;
625		};
626
627		codec {
628			sound-dai = <&wcd9340 0>;
629		};
630	};
631
632	slimcap-dai-link {
633		link-name = "SLIM Capture 1";
634		cpu {
635			sound-dai = <&q6afedai SLIMBUS_0_TX>;
636		};
637
638		platform {
639			sound-dai = <&q6routing>;
640		};
641
642		codec {
643			sound-dai = <&wcd9340 1>;
644		};
645	};
646
647	slim2-dai-link {
648		link-name = "SLIM Playback 2";
649		cpu {
650			sound-dai = <&q6afedai SLIMBUS_1_RX>;
651		};
652
653		platform {
654			sound-dai = <&q6routing>;
655		};
656
657		codec {
658			sound-dai = <&wcd9340 2>; /* AIF2_PB */
659		};
660	};
661
662	slimcap2-dai-link {
663		link-name = "SLIM Capture 2";
664		cpu {
665			sound-dai = <&q6afedai SLIMBUS_1_TX>;
666		};
667
668		platform {
669			sound-dai = <&q6routing>;
670		};
671
672		codec {
673			sound-dai = <&wcd9340 3>; /* AIF2_CAP */
674		};
675	};
676
677	slimcap3-dai-link {
678		link-name = "SLIM Capture 3";
679		cpu {
680			sound-dai = <&q6afedai SLIMBUS_2_TX>;
681		};
682
683		platform {
684			sound-dai = <&q6routing>;
685		};
686
687		codec {
688			sound-dai = <&wcd9340 5>; /* AIF3_CAP */
689		};
690	};
691};
692
693&uart6 {
694	status = "okay";
695
696	pinctrl-0 = <&qup_uart6_4pin>;
697
698	bluetooth {
699		compatible = "qcom,wcn3990-bt";
700
701		/*
702		 * This path is relative to the qca/
703		 * subdir under lib/firmware.
704		 */
705		firmware-name = "oneplus6/crnv21.bin";
706
707		vddio-supply = <&vreg_s4a_1p8>;
708		vddxo-supply = <&vreg_l7a_1p8>;
709		vddrf-supply = <&vreg_l17a_1p3>;
710		vddch0-supply = <&vreg_l25a_3p3>;
711		max-speed = <3200000>;
712	};
713};
714
715&uart9 {
716	label = "LS-UART1";
717	status = "okay";
718};
719
720&ufs_mem_hc {
721	status = "okay";
722
723	reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
724
725	vcc-supply = <&vreg_l20a_2p95>;
726	vcc-max-microamp = <600000>;
727};
728
729&ufs_mem_phy {
730	status = "okay";
731
732	vdda-phy-supply = <&vdda_ufs1_core>;
733	vdda-pll-supply = <&vdda_ufs1_1p2>;
734};
735
736&usb_1 {
737	status = "okay";
738
739	/*
740	 * disable USB3 clock requirement as the device only supports
741	 * USB2.
742	 */
743	qcom,select-utmi-as-pipe-clk;
744};
745
746&usb_1_dwc3 {
747	/*
748	 * We don't have the capability to switch modes yet.
749	 */
750	dr_mode = "peripheral";
751
752	/* fastest mode for USB 2 */
753	maximum-speed = "high-speed";
754
755	/* Remove USB3 phy as it's unused on this device. */
756	phys = <&usb_1_hsphy>;
757	phy-names = "usb2-phy";
758};
759
760&usb_1_hsphy {
761	status = "okay";
762
763	vdd-supply = <&vdda_usb1_ss_core>;
764	vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
765	vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
766
767	qcom,imp-res-offset-value = <8>;
768	qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>;
769	qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>;
770	qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
771};
772
773&tlmm {
774	gpio-reserved-ranges = <0 4>, <81 4>;
775
776	hall_sensor_default: hall-sensor-default-state {
777		pins = "gpio124";
778		function = "gpio";
779		drive-strength = <2>;
780		bias-disable;
781	};
782
783	tri_state_key_default: tri-state-key-default-state {
784		pins = "gpio40", "gpio42", "gpio26";
785		function = "gpio";
786		drive-strength = <2>;
787		bias-disable;
788	};
789
790	ts_default_pins: ts-int-state {
791		pins = "gpio99", "gpio125";
792		function = "gpio";
793		drive-strength = <16>;
794		bias-pull-up;
795	};
796
797	panel_reset_pins: panel-reset-state {
798		pins = "gpio6", "gpio25", "gpio26";
799		function = "gpio";
800		drive-strength = <8>;
801		bias-disable;
802	};
803
804	panel_te_pin: panel-te-state {
805		pins = "gpio10";
806		function = "mdp_vsync";
807		drive-strength = <2>;
808		bias-disable;
809	};
810
811	panel_esd_pin: panel-esd-state {
812		pins = "gpio30";
813		function = "gpio";
814		drive-strength = <2>;
815		bias-pull-down;
816	};
817
818	speaker_default: speaker-default-state {
819		pins = "gpio69";
820		function = "gpio";
821		drive-strength = <16>;
822		bias-pull-up;
823		output-high;
824	};
825};
826
827&venus {
828	status = "okay";
829	firmware-name = "qcom/sdm845/oneplus6/venus.mbn";
830};
831
832&wcd9340 {
833	pinctrl-0 = <&wcd_intr_default>;
834	pinctrl-names = "default";
835	reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>;
836	vdd-buck-supply = <&vreg_s4a_1p8>;
837	vdd-buck-sido-supply = <&vreg_s4a_1p8>;
838	vdd-tx-supply = <&vreg_s4a_1p8>;
839	vdd-rx-supply = <&vreg_s4a_1p8>;
840	vdd-io-supply = <&vreg_s4a_1p8>;
841};
842
843&wifi {
844	status = "okay";
845	vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
846	vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
847	vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
848	vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
849	vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
850
851	qcom,snoc-host-cap-8bit-quirk;
852};
853