Linux Audio

Check our new training course

Loading...
Note: File does not exist in v6.2.
  1// SPDX-License-Identifier: BSD-3-Clause
  2/*
  3 * Copyright (c) 2022, Matti Lehtimäki <matti.lehtimaki@gmail.com>
  4 */
  5
  6#include <dt-bindings/input/input.h>
  7#include "qcom-msm8226.dtsi"
  8#include "pm8226.dtsi"
  9
 10/delete-node/ &adsp_region;
 11/delete-node/ &smem_region;
 12
 13/ {
 14	aliases {
 15		mmc0 = &sdhc_1; /* SDC1 eMMC slot */
 16		mmc1 = &sdhc_2; /* SDC2 SD card slot */
 17		display0 = &framebuffer0;
 18	};
 19
 20	chosen {
 21		#address-cells = <1>;
 22		#size-cells = <1>;
 23		ranges;
 24
 25		stdout-path = "display0";
 26
 27		framebuffer0: framebuffer@3200000 {
 28			compatible = "simple-framebuffer";
 29			reg = <0x03200000 0x800000>;
 30			width = <1280>;
 31			height = <800>;
 32			stride = <(1280 * 3)>;
 33			format = "r8g8b8";
 34		};
 35	};
 36
 37	gpio-hall-sensor {
 38		compatible = "gpio-keys";
 39
 40		event-hall-sensor {
 41			label = "Hall Effect Sensor";
 42			gpios = <&tlmm 110 GPIO_ACTIVE_LOW>;
 43			linux,input-type = <EV_SW>;
 44			linux,code = <SW_LID>;
 45			debounce-interval = <15>;
 46			linux,can-disable;
 47			wakeup-source;
 48		};
 49	};
 50
 51	gpio-keys {
 52		compatible = "gpio-keys";
 53		autorepeat;
 54
 55		key-home {
 56			label = "Home";
 57			gpios = <&tlmm 108 GPIO_ACTIVE_LOW>;
 58			linux,code = <KEY_HOMEPAGE>;
 59			debounce-interval = <15>;
 60		};
 61
 62		key-volume-down {
 63			label = "Volume Down";
 64			gpios = <&tlmm 107 GPIO_ACTIVE_LOW>;
 65			linux,code = <KEY_VOLUMEDOWN>;
 66			debounce-interval = <15>;
 67		};
 68
 69		key-volume-up {
 70			label = "Volume Up";
 71			gpios = <&tlmm 106 GPIO_ACTIVE_LOW>;
 72			linux,code = <KEY_VOLUMEUP>;
 73			debounce-interval = <15>;
 74		};
 75	};
 76
 77	i2c-backlight {
 78		compatible = "i2c-gpio";
 79		sda-gpios = <&tlmm 20 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 80		scl-gpios = <&tlmm 21 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
 81
 82		pinctrl-0 = <&backlight_i2c_default_state>;
 83		pinctrl-names = "default";
 84
 85		i2c-gpio,delay-us = <4>;
 86
 87		#address-cells = <1>;
 88		#size-cells = <0>;
 89
 90		backlight@2c {
 91			compatible = "ti,lp8556";
 92			reg = <0x2c>;
 93
 94			dev-ctrl = /bits/ 8 <0x80>;
 95			init-brt = /bits/ 8 <0x3f>;
 96
 97			pwms = <&backlight_pwm 0 100000>;
 98			pwm-names = "lp8556";
 99
100			rom-a0h {
101				rom-addr = /bits/ 8 <0xa0>;
102				rom-val = /bits/ 8 <0x44>;
103			};
104
105			rom-a1h {
106				rom-addr = /bits/ 8 <0xa1>;
107				rom-val = /bits/ 8 <0x6c>;
108			};
109
110			rom-a5h {
111				rom-addr = /bits/ 8 <0xa5>;
112				rom-val = /bits/ 8 <0x24>;
113			};
114		};
115	};
116
117	backlight_pwm: pwm {
118		compatible = "clk-pwm";
119		#pwm-cells = <2>;
120		clocks = <&mmcc CAMSS_GP0_CLK>;
121		pinctrl-0 = <&backlight_pwm_default_state>;
122		pinctrl-names = "default";
123	};
124
125	reg_tsp_1p8v: regulator-tsp-1p8v {
126		compatible = "regulator-fixed";
127		regulator-name = "tsp_1p8v";
128		regulator-min-microvolt = <1800000>;
129		regulator-max-microvolt = <1800000>;
130
131		gpio = <&tlmm 31 GPIO_ACTIVE_HIGH>;
132		enable-active-high;
133
134		pinctrl-names = "default";
135		pinctrl-0 = <&tsp_en_default_state>;
136	};
137
138	reserved-memory {
139		#address-cells = <1>;
140		#size-cells = <1>;
141		ranges;
142
143		framebuffer@3200000 {
144			reg = <0x03200000 0x800000>;
145			no-map;
146		};
147
148		mpss@8400000 {
149			reg = <0x08400000 0x1f00000>;
150			no-map;
151		};
152
153		mba@a300000 {
154			reg = <0x0a300000 0x100000>;
155			no-map;
156		};
157
158		reserved@cb00000 {
159			reg = <0x0cb00000 0x700000>;
160			no-map;
161		};
162
163		wcnss@d200000 {
164			reg = <0x0d200000 0x700000>;
165			no-map;
166		};
167
168		adsp_region: adsp@d900000 {
169			reg = <0x0d900000 0x1800000>;
170			no-map;
171		};
172
173		venus@f100000 {
174			reg = <0x0f100000 0x500000>;
175			no-map;
176		};
177
178		smem_region: smem@fa00000 {
179			reg = <0x0fa00000 0x100000>;
180			no-map;
181		};
182
183		reserved@fb00000 {
184			reg = <0x0fb00000 0x260000>;
185			no-map;
186		};
187
188		rfsa@fd60000 {
189			reg = <0x0fd60000 0x20000>;
190			no-map;
191		};
192
193		rmtfs@fd80000 {
194			compatible = "qcom,rmtfs-mem";
195			reg = <0x0fd80000 0x180000>;
196			no-map;
197
198			qcom,client-id = <1>;
199		};
200	};
201};
202
203&adsp {
204	status = "okay";
205};
206
207&blsp1_i2c4 {
208	status = "okay";
209
210	muic: usb-switch@25 {
211		compatible = "siliconmitus,sm5502-muic";
212		reg = <0x25>;
213
214		interrupt-parent = <&tlmm>;
215		interrupts = <67 IRQ_TYPE_EDGE_FALLING>;
216
217		pinctrl-names = "default";
218		pinctrl-0 = <&muic_int_default_state>;
219	};
220};
221
222&blsp1_uart3 {
223	status = "okay";
224};
225
226&rpm_requests {
227	regulators {
228		compatible = "qcom,rpm-pm8226-regulators";
229
230		pm8226_s3: s3 {
231			regulator-min-microvolt = <1200000>;
232			regulator-max-microvolt = <1300000>;
233		};
234
235		pm8226_s4: s4 {
236			regulator-min-microvolt = <1800000>;
237			regulator-max-microvolt = <2200000>;
238		};
239
240		pm8226_s5: s5 {
241			regulator-min-microvolt = <1150000>;
242			regulator-max-microvolt = <1150000>;
243		};
244
245		pm8226_l1: l1 {
246			regulator-min-microvolt = <1225000>;
247			regulator-max-microvolt = <1225000>;
248		};
249
250		pm8226_l2: l2 {
251			regulator-min-microvolt = <1200000>;
252			regulator-max-microvolt = <1200000>;
253		};
254
255		pm8226_l3: l3 {
256			regulator-min-microvolt = <750000>;
257			regulator-max-microvolt = <1350000>;
258			regulator-always-on;
259		};
260
261		pm8226_l4: l4 {
262			regulator-min-microvolt = <1200000>;
263			regulator-max-microvolt = <1200000>;
264		};
265
266		pm8226_l5: l5 {
267			regulator-min-microvolt = <1200000>;
268			regulator-max-microvolt = <1200000>;
269		};
270
271		pm8226_l6: l6 {
272			regulator-min-microvolt = <1800000>;
273			regulator-max-microvolt = <1800000>;
274			regulator-always-on;
275		};
276
277		pm8226_l7: l7 {
278			regulator-min-microvolt = <1850000>;
279			regulator-max-microvolt = <1850000>;
280		};
281
282		pm8226_l8: l8 {
283			regulator-min-microvolt = <1800000>;
284			regulator-max-microvolt = <1800000>;
285			regulator-always-on;
286		};
287
288		pm8226_l9: l9 {
289			regulator-min-microvolt = <2050000>;
290			regulator-max-microvolt = <2050000>;
291		};
292
293		pm8226_l10: l10 {
294			regulator-min-microvolt = <1800000>;
295			regulator-max-microvolt = <1800000>;
296		};
297
298		pm8226_l12: l12 {
299			regulator-min-microvolt = <1800000>;
300			regulator-max-microvolt = <1800000>;
301		};
302
303		pm8226_l14: l14 {
304			regulator-min-microvolt = <2750000>;
305			regulator-max-microvolt = <2750000>;
306		};
307
308		pm8226_l15: l15 {
309			regulator-min-microvolt = <1800000>;
310			regulator-max-microvolt = <3300000>;
311		};
312
313		pm8226_l16: l16 {
314			regulator-min-microvolt = <3000000>;
315			regulator-max-microvolt = <3350000>;
316		};
317
318		pm8226_l17: l17 {
319			regulator-min-microvolt = <2950000>;
320			regulator-max-microvolt = <2950000>;
321
322			regulator-system-load = <200000>;
323			regulator-allow-set-load;
324			regulator-always-on;
325		};
326
327		pm8226_l18: l18 {
328			regulator-min-microvolt = <2950000>;
329			regulator-max-microvolt = <2950000>;
330		};
331
332		pm8226_l19: l19 {
333			regulator-min-microvolt = <2850000>;
334			regulator-max-microvolt = <3000000>;
335		};
336
337		pm8226_l20: l20 {
338			regulator-min-microvolt = <3075000>;
339			regulator-max-microvolt = <3075000>;
340		};
341
342		pm8226_l21: l21 {
343			regulator-min-microvolt = <1800000>;
344			regulator-max-microvolt = <2950000>;
345		};
346
347		pm8226_l22: l22 {
348			regulator-min-microvolt = <1800000>;
349			regulator-max-microvolt = <3000000>;
350		};
351
352		pm8226_l23: l23 {
353			regulator-min-microvolt = <1800000>;
354			regulator-max-microvolt = <3300000>;
355		};
356
357		pm8226_l24: l24 {
358			regulator-min-microvolt = <1300000>;
359			regulator-max-microvolt = <1350000>;
360		};
361
362		pm8226_l25: l25 {
363			regulator-min-microvolt = <1775000>;
364			regulator-max-microvolt = <2125000>;
365		};
366
367		pm8226_l26: l26 {
368			regulator-min-microvolt = <1225000>;
369			regulator-max-microvolt = <1300000>;
370		};
371
372		pm8226_l27: l27 {
373			regulator-min-microvolt = <1800000>;
374			regulator-max-microvolt = <1800000>;
375		};
376
377		pm8226_l28: l28 {
378			regulator-min-microvolt = <1800000>;
379			regulator-max-microvolt = <2950000>;
380		};
381
382		pm8226_lvs1: lvs1 {};
383	};
384};
385
386&sdhc_1 {
387	vmmc-supply = <&pm8226_l17>;
388	vqmmc-supply = <&pm8226_l6>;
389
390	bus-width = <8>;
391	non-removable;
392
393	status = "okay";
394};
395
396&sdhc_2 {
397	vmmc-supply = <&pm8226_l18>;
398	vqmmc-supply = <&pm8226_l21>;
399
400	bus-width = <4>;
401	cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
402
403	status = "okay";
404};
405
406&tlmm {
407	accel_int_default_state: accel-int-default-state {
408		pins = "gpio54";
409		function = "gpio";
410		drive-strength = <2>;
411		bias-disable;
412	};
413
414	backlight_i2c_default_state: backlight-i2c-default-state {
415		pins = "gpio20", "gpio21";
416		function = "gpio";
417		drive-strength = <2>;
418		bias-disable;
419	};
420
421	backlight_pwm_default_state: backlight-pwm-default-state {
422		pins = "gpio33";
423		function = "gp0_clk";
424	};
425
426	muic_int_default_state: muic-int-default-state {
427		pins = "gpio67";
428		function = "gpio";
429		drive-strength = <2>;
430		bias-disable;
431	};
432
433	tsp_en_default_state: tsp-en-default-state {
434		pins = "gpio31";
435		function = "gpio";
436		drive-strength = <2>;
437		bias-disable;
438	};
439
440	tsp_int_rst_default_state: tsp-int-rst-default-state {
441		pins = "gpio17";
442		function = "gpio";
443		drive-strength = <10>;
444		bias-pull-up;
445	};
446};
447
448&usb {
449	extcon = <&muic>, <&muic>;
450	status = "okay";
451};
452
453&usb_hs_phy {
454	extcon = <&muic>;
455	v1p8-supply = <&pm8226_l10>;
456	v3p3-supply = <&pm8226_l20>;
457};