Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.8.
  1// SPDX-License-Identifier: GPL-2.0
  2#include "qcom-msm8974pro.dtsi"
  3#include "qcom-pm8841.dtsi"
  4#include "qcom-pm8941.dtsi"
  5#include <dt-bindings/input/input.h>
  6#include <dt-bindings/leds/common.h>
  7#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
  8
  9/ {
 10	model = "Sony Xperia Z2 Tablet";
 11	compatible = "sony,xperia-castor", "qcom,msm8974pro", "qcom,msm8974";
 12	chassis-type = "tablet";
 13
 14	aliases {
 15		serial0 = &blsp1_uart2;
 16		serial1 = &blsp2_uart1;
 17	};
 18
 19	chosen {
 20		stdout-path = "serial0:115200n8";
 21	};
 22
 23	gpio-keys {
 24		compatible = "gpio-keys";
 25
 26		pinctrl-names = "default";
 27		pinctrl-0 = <&gpio_keys_pin_a>;
 28
 29		key-volume-down {
 30			label = "volume_down";
 31			gpios = <&pm8941_gpios 2 GPIO_ACTIVE_LOW>;
 32			linux,input-type = <1>;
 33			linux,code = <KEY_VOLUMEDOWN>;
 34		};
 35
 36		key-camera-snapshot {
 37			label = "camera_snapshot";
 38			gpios = <&pm8941_gpios 3 GPIO_ACTIVE_LOW>;
 39			linux,input-type = <1>;
 40			linux,code = <KEY_CAMERA>;
 41		};
 42
 43		key-camera-focus {
 44			label = "camera_focus";
 45			gpios = <&pm8941_gpios 4 GPIO_ACTIVE_LOW>;
 46			linux,input-type = <1>;
 47			linux,code = <KEY_CAMERA_FOCUS>;
 48		};
 49
 50		key-volume-up {
 51			label = "volume_up";
 52			gpios = <&pm8941_gpios 5 GPIO_ACTIVE_LOW>;
 53			linux,input-type = <1>;
 54			linux,code = <KEY_VOLUMEUP>;
 55		};
 56	};
 57
 58	vreg_bl_vddio: lcd-backlight-vddio {
 59		compatible = "regulator-fixed";
 60		regulator-name = "vreg_bl_vddio";
 61		regulator-min-microvolt = <3150000>;
 62		regulator-max-microvolt = <3150000>;
 63
 64		gpio = <&tlmm 69 0>;
 65		enable-active-high;
 66
 67		vin-supply = <&pm8941_s3>;
 68		startup-delay-us = <70000>;
 69
 70		pinctrl-names = "default";
 71		pinctrl-0 = <&lcd_backlight_en_pin_a>;
 72	};
 73
 74	vreg_vsp: lcd-dcdc-regulator {
 75		compatible = "regulator-fixed";
 76		regulator-name = "vreg_vsp";
 77		regulator-min-microvolt = <5600000>;
 78		regulator-max-microvolt = <5600000>;
 79
 80		gpio = <&pm8941_gpios 20 GPIO_ACTIVE_HIGH>;
 81		enable-active-high;
 82
 83		pinctrl-names = "default";
 84		pinctrl-0 = <&lcd_dcdc_en_pin_a>;
 85	};
 86
 87	vreg_wlan: wlan-regulator {
 88		compatible = "regulator-fixed";
 89
 90		regulator-name = "wl-reg";
 91		regulator-min-microvolt = <3300000>;
 92		regulator-max-microvolt = <3300000>;
 93
 94		gpio = <&pm8941_gpios 18 GPIO_ACTIVE_HIGH>;
 95		enable-active-high;
 96
 97		pinctrl-names = "default";
 98		pinctrl-0 = <&wlan_regulator_pin>;
 99	};
100};
101
102&blsp1_uart2 {
103	status = "okay";
104};
105
106&blsp2_i2c2 {
107	status = "okay";
108	clock-frequency = <355000>;
109
110	synaptics@2c {
111		compatible = "syna,rmi4-i2c";
112		reg = <0x2c>;
113
114		interrupt-parent = <&tlmm>;
115		interrupts = <86 IRQ_TYPE_EDGE_FALLING>;
116
117		#address-cells = <1>;
118		#size-cells = <0>;
119
120		vdd-supply = <&pm8941_l22>;
121		vio-supply = <&pm8941_lvs3>;
122
123		pinctrl-names = "default";
124		pinctrl-0 = <&ts_int_pin>;
125
126		syna,startup-delay-ms = <10>;
127
128		rmi-f01@1 {
129			reg = <0x1>;
130			syna,nosleep = <1>;
131		};
132
133		rmi-f11@11 {
134			reg = <0x11>;
135			syna,f11-flip-x = <1>;
136			syna,sensor-type = <1>;
137		};
138	};
139};
140
141&blsp2_i2c5 {
142	status = "okay";
143	clock-frequency = <355000>;
144
145	lp8566_wled: backlight@2c {
146		compatible = "ti,lp8556";
147		reg = <0x2c>;
148		power-supply = <&vreg_bl_vddio>;
149
150		bl-name = "backlight";
151		dev-ctrl = /bits/ 8 <0x05>;
152		init-brt = /bits/ 8 <0x3f>;
153		rom_a0h {
154			rom-addr = /bits/ 8 <0xa0>;
155			rom-val = /bits/ 8 <0xff>;
156		};
157		rom_a1h {
158			rom-addr = /bits/ 8 <0xa1>;
159			rom-val = /bits/ 8 <0x3f>;
160		};
161		rom_a2h {
162			rom-addr = /bits/ 8 <0xa2>;
163			rom-val = /bits/ 8 <0x20>;
164		};
165		rom_a3h {
166			rom-addr = /bits/ 8 <0xa3>;
167			rom-val = /bits/ 8 <0x5e>;
168		};
169		rom_a4h {
170			rom-addr = /bits/ 8 <0xa4>;
171			rom-val = /bits/ 8 <0x02>;
172		};
173		rom_a5h {
174			rom-addr = /bits/ 8 <0xa5>;
175			rom-val = /bits/ 8 <0x04>;
176		};
177		rom_a6h {
178			rom-addr = /bits/ 8 <0xa6>;
179			rom-val = /bits/ 8 <0x80>;
180		};
181		rom_a7h {
182			rom-addr = /bits/ 8 <0xa7>;
183			rom-val = /bits/ 8 <0xf7>;
184		};
185		rom_a9h {
186			rom-addr = /bits/ 8 <0xa9>;
187			rom-val = /bits/ 8 <0x80>;
188		};
189		rom_aah {
190			rom-addr = /bits/ 8 <0xaa>;
191			rom-val = /bits/ 8 <0x0f>;
192		};
193		rom_aeh {
194			rom-addr = /bits/ 8 <0xae>;
195			rom-val = /bits/ 8 <0x0f>;
196		};
197	};
198};
199
200&blsp2_uart1 {
201	status = "okay";
202
203	bluetooth {
204		compatible = "brcm,bcm43438-bt";
205		max-speed = <3000000>;
206
207		pinctrl-names = "default";
208		pinctrl-0 = <&bt_host_wake_pin>, <&bt_dev_wake_pin>, <&bt_reg_on_pin>;
209
210		host-wakeup-gpios = <&tlmm 95 GPIO_ACTIVE_HIGH>;
211		device-wakeup-gpios = <&tlmm 96 GPIO_ACTIVE_HIGH>;
212		shutdown-gpios = <&pm8941_gpios 16 GPIO_ACTIVE_HIGH>;
213	};
214};
215
216&pm8941_coincell {
217	status = "okay";
218
219	qcom,rset-ohms = <2100>;
220	qcom,vset-millivolts = <3000>;
221};
222
223&pm8941_gpios {
224	gpio_keys_pin_a: gpio-keys-active-state {
225		pins = "gpio2", "gpio5";
226		function = "normal";
227
228		bias-pull-up;
229		power-source = <PM8941_GPIO_S3>;
230	};
231
232	bt_reg_on_pin: bt-reg-on-state {
233		pins = "gpio16";
234		function = "normal";
235
236		output-low;
237		power-source = <PM8941_GPIO_S3>;
238	};
239
240	wlan_sleep_clk_pin: wl-sleep-clk-state {
241		pins = "gpio17";
242		function = "func2";
243
244		output-high;
245		power-source = <PM8941_GPIO_S3>;
246	};
247
248	wlan_regulator_pin: wl-reg-active-state {
249		pins = "gpio18";
250		function = "normal";
251
252		bias-disable;
253		power-source = <PM8941_GPIO_S3>;
254	};
255
256	lcd_dcdc_en_pin_a: lcd-dcdc-en-active-state {
257		pins = "gpio20";
258		function = "normal";
259
260		bias-disable;
261		power-source = <PM8941_GPIO_S3>;
262		input-disable;
263		output-low;
264	};
265
266};
267
268&pm8941_lpg {
269	status = "okay";
270
271	qcom,power-source = <1>;
272
273	multi-led {
274		color = <LED_COLOR_ID_RGB>;
275		function = LED_FUNCTION_STATUS;
276
277		#address-cells = <1>;
278		#size-cells = <0>;
279
280		led@5 {
281			reg = <5>;
282			color = <LED_COLOR_ID_BLUE>;
283		};
284
285		led@6 {
286			reg = <6>;
287			color = <LED_COLOR_ID_GREEN>;
288		};
289
290		led@7 {
291			reg = <7>;
292			color = <LED_COLOR_ID_RED>;
293		};
294	};
295};
296
297&rpm_requests {
298	regulators-0 {
299		compatible = "qcom,rpm-pm8941-regulators";
300
301		vdd_l1_l3-supply = <&pm8941_s1>;
302		vdd_l2_lvs1_2_3-supply = <&pm8941_s3>;
303		vdd_l4_l11-supply = <&pm8941_s1>;
304		vdd_l5_l7-supply = <&pm8941_s2>;
305		vdd_l6_l12_l14_l15-supply = <&pm8941_s2>;
306		vdd_l9_l10_l17_l22-supply = <&vreg_boost>;
307		vdd_l13_l20_l23_l24-supply = <&vreg_boost>;
308		vdd_l21-supply = <&vreg_boost>;
309
310		pm8941_s1: s1 {
311			regulator-min-microvolt = <1300000>;
312			regulator-max-microvolt = <1300000>;
313			regulator-always-on;
314			regulator-boot-on;
315		};
316
317		pm8941_s2: s2 {
318			regulator-min-microvolt = <2150000>;
319			regulator-max-microvolt = <2150000>;
320			regulator-boot-on;
321		};
322
323		pm8941_s3: s3 {
324			regulator-min-microvolt = <1800000>;
325			regulator-max-microvolt = <1800000>;
326			regulator-system-load = <154000>;
327			regulator-always-on;
328			regulator-boot-on;
329		};
330
331		pm8941_s4: s4 {
332			regulator-min-microvolt = <5000000>;
333			regulator-max-microvolt = <5000000>;
334		};
335
336		pm8941_l1: l1 {
337			regulator-min-microvolt = <1225000>;
338			regulator-max-microvolt = <1225000>;
339			regulator-always-on;
340			regulator-boot-on;
341		};
342
343		pm8941_l2: l2 {
344			regulator-min-microvolt = <1200000>;
345			regulator-max-microvolt = <1200000>;
346		};
347
348		pm8941_l3: l3 {
349			regulator-min-microvolt = <1200000>;
350			regulator-max-microvolt = <1200000>;
351		};
352
353		pm8941_l4: l4 {
354			regulator-min-microvolt = <1225000>;
355			regulator-max-microvolt = <1225000>;
356		};
357
358		pm8941_l5: l5 {
359			regulator-min-microvolt = <1800000>;
360			regulator-max-microvolt = <1800000>;
361		};
362
363		pm8941_l6: l6 {
364			regulator-min-microvolt = <1800000>;
365			regulator-max-microvolt = <1800000>;
366			regulator-boot-on;
367		};
368
369		pm8941_l7: l7 {
370			regulator-min-microvolt = <1800000>;
371			regulator-max-microvolt = <1800000>;
372			regulator-boot-on;
373		};
374
375		pm8941_l8: l8 {
376			regulator-min-microvolt = <1800000>;
377			regulator-max-microvolt = <1800000>;
378		};
379
380		pm8941_l9: l9 {
381			regulator-min-microvolt = <1800000>;
382			regulator-max-microvolt = <2950000>;
383		};
384
385		pm8941_l11: l11 {
386			regulator-min-microvolt = <1300000>;
387			regulator-max-microvolt = <1350000>;
388		};
389
390		pm8941_l12: l12 {
391			regulator-min-microvolt = <1800000>;
392			regulator-max-microvolt = <1800000>;
393			regulator-always-on;
394			regulator-boot-on;
395		};
396
397		pm8941_l13: l13 {
398			regulator-min-microvolt = <1800000>;
399			regulator-max-microvolt = <2950000>;
400			regulator-boot-on;
401		};
402
403		pm8941_l14: l14 {
404			regulator-min-microvolt = <1800000>;
405			regulator-max-microvolt = <1800000>;
406		};
407
408		pm8941_l15: l15 {
409			regulator-min-microvolt = <2050000>;
410			regulator-max-microvolt = <2050000>;
411		};
412
413		pm8941_l16: l16 {
414			regulator-min-microvolt = <2700000>;
415			regulator-max-microvolt = <2700000>;
416		};
417
418		pm8941_l17: l17 {
419			regulator-min-microvolt = <2700000>;
420			regulator-max-microvolt = <2700000>;
421		};
422
423		pm8941_l18: l18 {
424			regulator-min-microvolt = <2850000>;
425			regulator-max-microvolt = <2850000>;
426		};
427
428		pm8941_l19: l19 {
429			regulator-min-microvolt = <2850000>;
430			regulator-max-microvolt = <2850000>;
431		};
432
433		pm8941_l20: l20 {
434			regulator-min-microvolt = <2950000>;
435			regulator-max-microvolt = <2950000>;
436			regulator-system-load = <500000>;
437			regulator-allow-set-load;
438			regulator-boot-on;
439		};
440
441		pm8941_l21: l21 {
442			regulator-min-microvolt = <2950000>;
443			regulator-max-microvolt = <2950000>;
444			regulator-boot-on;
445		};
446
447		pm8941_l22: l22 {
448			regulator-min-microvolt = <3000000>;
449			regulator-max-microvolt = <3000000>;
450		};
451
452		pm8941_l23: l23 {
453			regulator-min-microvolt = <2800000>;
454			regulator-max-microvolt = <2800000>;
455		};
456
457		pm8941_l24: l24 {
458			regulator-min-microvolt = <3075000>;
459			regulator-max-microvolt = <3075000>;
460			regulator-boot-on;
461		};
462
463		pm8941_lvs3: lvs3 {};
464	};
465};
466
467&sdhc_1 {
468	status = "okay";
469
470	vmmc-supply = <&pm8941_l20>;
471	vqmmc-supply = <&pm8941_s3>;
472
473	pinctrl-names = "default", "sleep";
474	pinctrl-0 = <&sdc1_on>;
475	pinctrl-1 = <&sdc1_off>;
476};
477
478&sdhc_2 {
479	status = "okay";
480
481	vmmc-supply = <&pm8941_l21>;
482	vqmmc-supply = <&pm8941_l13>;
483
484	cd-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
485
486	pinctrl-names = "default", "sleep";
487	pinctrl-0 = <&sdc2_on>;
488	pinctrl-1 = <&sdc2_off>;
489};
490
491&sdhc_3 {
492	status = "okay";
493
494	max-frequency = <100000000>;
495	vmmc-supply = <&vreg_wlan>;
496	non-removable;
497
498	pinctrl-names = "default";
499	pinctrl-0 = <&sdc3_on>;
500
501	#address-cells = <1>;
502	#size-cells = <0>;
503
504	bcrmf@1 {
505		compatible = "brcm,bcm4339-fmac", "brcm,bcm4329-fmac";
506		reg = <1>;
507
508		brcm,drive-strength = <10>;
509
510		pinctrl-names = "default";
511		pinctrl-0 = <&wlan_sleep_clk_pin>;
512	};
513};
514
515&smbb {
516	qcom,fast-charge-safe-current = <1500000>;
517	qcom,fast-charge-current-limit = <1500000>;
518	qcom,dc-current-limit = <1800000>;
519	qcom,fast-charge-safe-voltage = <4400000>;
520	qcom,fast-charge-high-threshold-voltage = <4350000>;
521	qcom,fast-charge-low-threshold-voltage = <3400000>;
522	qcom,auto-recharge-threshold-voltage = <4200000>;
523	qcom,minimum-input-voltage = <4300000>;
524};
525
526&tlmm {
527	lcd_backlight_en_pin_a: lcd-backlight-vddio-state {
528		pins = "gpio69";
529		function = "gpio";
530		drive-strength = <10>;
531		output-low;
532		bias-disable;
533	};
534
535	sdc1_on: sdc1-on-state {
536		clk-pins {
537			pins = "sdc1_clk";
538			drive-strength = <16>;
539			bias-disable;
540		};
541
542		cmd-data-pins {
543			pins = "sdc1_cmd", "sdc1_data";
544			drive-strength = <10>;
545			bias-pull-up;
546		};
547	};
548
549	sdc2_on: sdc2-on-state {
550		clk-pins {
551			pins = "sdc2_clk";
552			drive-strength = <6>;
553			bias-disable;
554		};
555
556		cmd-data-pins {
557			pins = "sdc2_cmd", "sdc2_data";
558			drive-strength = <6>;
559			bias-pull-up;
560		};
561
562		cd-pins {
563			pins = "gpio62";
564			function = "gpio";
565			drive-strength = <2>;
566			bias-disable;
567		};
568	};
569
570	sdc3_on: sdc3-on-state {
571		clk-pins {
572			pins = "gpio40";
573			function = "sdc3";
574			drive-strength = <10>;
575			bias-disable;
576		};
577
578		cmd-pins {
579			pins = "gpio39";
580			function = "sdc3";
581			drive-strength = <10>;
582			bias-pull-up;
583		};
584
585		data-pins {
586			pins = "gpio35", "gpio36", "gpio37", "gpio38";
587			function = "sdc3";
588			drive-strength = <10>;
589			bias-pull-up;
590		};
591	};
592
593	ts_int_pin: ts-int-pin-state {
594		pins = "gpio86";
595		function = "gpio";
596		drive-strength = <2>;
597		bias-disable;
598		input-enable;
599	};
600
601	bt_host_wake_pin: bt-host-wake-state {
602		pins = "gpio95";
603		function = "gpio";
604		drive-strength = <2>;
605		bias-disable;
606		output-low;
607	};
608
609	bt_dev_wake_pin: bt-dev-wake-state {
610		pins = "gpio96";
611		function = "gpio";
612		drive-strength = <2>;
613		bias-disable;
614	};
615};
616
617&usb {
618	status = "okay";
619
620	phys = <&usb_hs1_phy>;
621	phy-select = <&tcsr 0xb000 0>;
622	extcon = <&smbb>, <&usb_id>;
623	vbus-supply = <&chg_otg>;
624
625	hnp-disable;
626	srp-disable;
627	adp-disable;
628};
629
630&usb_hs1_phy {
631	status = "okay";
632
633	v1p8-supply = <&pm8941_l6>;
634	v3p3-supply = <&pm8941_l24>;
635
636	extcon = <&smbb>;
637	qcom,init-seq = /bits/ 8 <0x1 0x64>;
638};