1 // SPDX-License-Identifier: GPL-2.0
3 * Copyright (c) 2022, Alexander Martinz <amartinz@shiftphones.com>
4 * Copyright (c) 2022, Caleb Connolly <caleb@connolly.tech>
9 #include <dt-bindings/gpio/gpio.h>
10 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
11 #include "sdm845.dtsi"
12 #include "pm8998.dtsi"
13 #include "pmi8998.dtsi"
16 model = "SHIFT SHIFT6mq";
17 compatible = "shift,axolotl", "qcom,sdm845";
18 qcom,msm-id = <321 0x20001>;
19 qcom,board-id = <11 0>;
22 display0 = &framebuffer0;
31 stdout-path = "serial0";
33 /* Use framebuffer setup by the bootloader. */
34 framebuffer0: framebuffer@9d400000 {
35 compatible = "simple-framebuffer";
36 reg = <0x0 0x9d400000 0x0 (1080 * 2160 * 4)>;
39 stride = <(1080 * 4)>;
45 compatible = "gpio-keys";
48 pinctrl-names = "default";
49 pinctrl-0 = <&volume_up_gpio>;
53 linux,code = <KEY_VOLUMEUP>;
54 gpios = <&pm8998_gpio 6 GPIO_ACTIVE_LOW>;
55 debounce-interval = <15>;
60 framebuffer_region@9d400000 {
61 reg = <0x0 0x9d400000 0x0 (1080 * 2160 * 4)>;
65 ramoops: ramoops@b0000000 {
66 compatible = "ramoops";
67 reg = <0 0xb0000000 0 0x00400000>;
68 record-size = <0x40000>;
69 console-size = <0x40000>;
70 ftrace-size = <0x40000>;
71 pmsg-size = <0x200000>;
77 compatible = "simple-battery";
79 charge-full-design-microamp-hours = <3850000>;
80 voltage-min-design-microvolt = <3600000>;
81 voltage-max-design-microvolt = <4400000>;
84 vph_pwr: vph-pwr-regulator {
85 compatible = "regulator-fixed";
86 regulator-name = "vph_pwr";
87 regulator-min-microvolt = <3700000>;
88 regulator-max-microvolt = <3700000>;
91 vreg_s4a_1p8: pm8998-smps4 {
92 compatible = "regulator-fixed";
93 regulator-name = "vreg_s4a_1p8";
95 regulator-min-microvolt = <1800000>;
96 regulator-max-microvolt = <1800000>;
101 vin-supply = <&vph_pwr>;
107 firmware-name = "qcom/sdm845/axolotl/adsp.mbn";
111 pm8998-rpmh-regulators {
112 compatible = "qcom,pm8998-rpmh-regulators";
115 vdd-s1-supply = <&vph_pwr>;
116 vdd-s2-supply = <&vph_pwr>;
117 vdd-s3-supply = <&vph_pwr>;
118 vdd-s4-supply = <&vph_pwr>;
119 vdd-s5-supply = <&vph_pwr>;
120 vdd-s6-supply = <&vph_pwr>;
121 vdd-s7-supply = <&vph_pwr>;
122 vdd-s8-supply = <&vph_pwr>;
123 vdd-s9-supply = <&vph_pwr>;
124 vdd-s10-supply = <&vph_pwr>;
125 vdd-s11-supply = <&vph_pwr>;
126 vdd-s12-supply = <&vph_pwr>;
127 vdd-s13-supply = <&vph_pwr>;
128 vdd-l1-l27-supply = <&vreg_s7a_1p025>;
129 vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>;
130 vdd-l3-l11-supply = <&vreg_s7a_1p025>;
131 vdd-l4-l5-supply = <&vreg_s7a_1p025>;
132 vdd-l6-supply = <&vph_pwr>;
133 vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>;
134 vdd-l9-supply = <&vreg_bob>;
135 vdd-l10-l23-l25-supply = <&vreg_bob>;
136 vdd-l13-l19-l21-supply = <&vreg_bob>;
137 vdd-l16-l28-supply = <&vreg_bob>;
138 vdd-l18-l22-supply = <&vreg_bob>;
139 vdd-l20-l24-supply = <&vreg_bob>;
140 vdd-l26-supply = <&vreg_s3a_1p35>;
141 vin-lvs-1-2-supply = <&vreg_s4a_1p8>;
143 vreg_s2a_1p125: smps2 {
144 regulator-min-microvolt = <1100000>;
145 regulator-max-microvolt = <1100000>;
148 vreg_s3a_1p35: smps3 {
149 regulator-min-microvolt = <1352000>;
150 regulator-max-microvolt = <1352000>;
153 vreg_s5a_2p04: smps5 {
154 regulator-min-microvolt = <1904000>;
155 regulator-max-microvolt = <2040000>;
158 vreg_s7a_1p025: smps7 {
159 regulator-min-microvolt = <900000>;
160 regulator-max-microvolt = <1028000>;
181 vreg_l1a_0p875: ldo1 {
182 regulator-min-microvolt = <880000>;
183 regulator-max-microvolt = <880000>;
184 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
189 regulator-min-microvolt = <1200000>;
190 regulator-max-microvolt = <1200000>;
191 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
196 regulator-min-microvolt = <1000000>;
197 regulator-max-microvolt = <1000000>;
198 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
205 regulator-min-microvolt = <800000>;
206 regulator-max-microvolt = <800000>;
207 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
212 regulator-min-microvolt = <1856000>;
213 regulator-max-microvolt = <1856000>;
214 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
218 regulator-min-microvolt = <1800000>;
219 regulator-max-microvolt = <1800000>;
220 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
224 regulator-min-microvolt = <1200000>;
225 regulator-max-microvolt = <1248000>;
226 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
230 regulator-min-microvolt = <1704000>;
231 regulator-max-microvolt = <2928000>;
232 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
235 vreg_l10a_1p8: ldo10 {
236 regulator-min-microvolt = <1704000>;
237 regulator-max-microvolt = <2928000>;
238 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
241 vreg_l11a_1p0: ldo11 {
242 regulator-min-microvolt = <1000000>;
243 regulator-max-microvolt = <1048000>;
244 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
254 vreg_l12a_1p8: ldo12 {
255 regulator-min-microvolt = <1800000>;
256 regulator-max-microvolt = <1800000>;
257 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
261 vreg_l13a_2p95: ldo13 {
262 regulator-min-microvolt = <1800000>;
263 regulator-max-microvolt = <2960000>;
264 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
267 vreg_l14a_1p88: ldo14 {
268 regulator-min-microvolt = <1800000>;
269 regulator-max-microvolt = <1800000>;
270 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
273 vreg_l15a_1p8: ldo15 {
274 regulator-min-microvolt = <1800000>;
275 regulator-max-microvolt = <1800000>;
276 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
279 vreg_l16a_2p7: ldo16 {
280 regulator-min-microvolt = <2704000>;
281 regulator-max-microvolt = <2704000>;
282 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
285 vreg_l17a_1p3: ldo17 {
286 regulator-min-microvolt = <1304000>;
287 regulator-max-microvolt = <1304000>;
288 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
291 vreg_l18a_2p7: ldo18 {
292 regulator-min-microvolt = <2704000>;
293 regulator-max-microvolt = <2960000>;
294 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
297 vreg_l19a_3p0: ldo19 {
298 regulator-min-microvolt = <2856000>;
299 regulator-max-microvolt = <3104000>;
300 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
303 vreg_l20a_2p95: ldo20 {
304 regulator-min-microvolt = <2704000>;
305 regulator-max-microvolt = <2960000>;
306 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
309 vreg_l21a_2p95: ldo21 {
310 regulator-min-microvolt = <2704000>;
311 regulator-max-microvolt = <2960000>;
312 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
315 vreg_l22a_2p85: ldo22 {
316 regulator-min-microvolt = <2864000>;
317 regulator-max-microvolt = <3312000>;
318 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
321 vreg_l23a_3p3: ldo23 {
322 regulator-min-microvolt = <3000000>;
323 regulator-max-microvolt = <3312000>;
324 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
328 vreg_l24a_3p075: ldo24 {
329 regulator-min-microvolt = <3088000>;
330 regulator-max-microvolt = <3088000>;
331 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
334 vreg_l25a_3p3: ldo25 {
335 regulator-min-microvolt = <3300000>;
336 regulator-max-microvolt = <3312000>;
337 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
353 vreg_l26a_1p2: ldo26 {
354 regulator-min-microvolt = <1200000>;
355 regulator-max-microvolt = <1200000>;
356 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
359 vreg_l28a_3p0: ldo28 {
360 regulator-min-microvolt = <2856000>;
361 regulator-max-microvolt = <3008000>;
362 regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
365 vreg_lvs1a_1p8: lvs1 {
366 regulator-min-microvolt = <1800000>;
367 regulator-max-microvolt = <1800000>;
370 vreg_lvs2a_1p8: lvs2 {
371 regulator-min-microvolt = <1800000>;
372 regulator-max-microvolt = <1800000>;
376 pmi8998-rpmh-regulators {
377 compatible = "qcom,pmi8998-rpmh-regulators";
380 vdd-bob-supply = <&vph_pwr>;
383 regulator-min-microvolt = <3312000>;
384 regulator-max-microvolt = <3600000>;
385 regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
386 regulator-allow-bypass;
390 pm8005-rpmh-regulators {
391 compatible = "qcom,pm8005-rpmh-regulators";
394 vdd-s1-supply = <&vph_pwr>;
395 vdd-s2-supply = <&vph_pwr>;
396 vdd-s3-supply = <&vph_pwr>;
397 vdd-s4-supply = <&vph_pwr>;
399 vreg_s3c_0p6: smps3 {
400 regulator-min-microvolt = <600000>;
401 regulator-max-microvolt = <600000>;
408 firmware-name = "qcom/sdm845/axolotl/cdsp.mbn";
413 vdda-supply = <&vdda_mipi_dsi0_1p2>;
416 compatible = "visionox,rm69299-shift";
419 vdda-supply = <&vreg_l14a_1p88>;
420 vdd3p3-supply = <&vreg_l28a_3p0>;
422 #address-cells = <1>;
425 reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;
427 pinctrl-names = "default", "sleep";
428 pinctrl-0 = <&sde_dsi_active &sde_te_active>;
429 pinctrl-1 = <&sde_dsi_suspend &sde_te_suspend>;
432 panel_in_0: endpoint {
433 remote-endpoint = <&dsi0_out>;
440 remote-endpoint = <&panel_in_0>;
441 data-lanes = <0 1 2 3>;
446 vdds-supply = <&vdda_mipi_dsi0_pll>;
450 protected-clocks = <GCC_QSPI_CORE_CLK>,
451 <GCC_QSPI_CORE_CLK_SRC>,
452 <GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
453 <GCC_LPASS_Q6_AXI_CLK>,
454 <GCC_LPASS_SWAY_CLK>;
465 memory-region = <&gpu_mem>;
466 firmware-name = "qcom/sdm845/axolotl/a630_zap.mbn";
474 compatible = "focaltech,fts8719";
477 interrupt-parent = <&tlmm>;
478 interrupts = <125 0x2>;
479 vdd-supply = <&vreg_l28a_3p0>;
480 vcc-i2c-supply = <&vreg_l14a_1p88>;
482 pinctrl-names = "default", "suspend";
483 pinctrl-0 = <&ts_int_active &ts_reset_active>;
484 pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>;
486 reset-gpio = <&tlmm 99 GPIO_ACTIVE_HIGH>;
487 irq-gpio = <&tlmm 125 GPIO_TRANSITORY>;
488 touchscreen-size-x = <1080>;
489 touchscreen-size-y = <2160>;
490 focaltech,max-touch-number = <5>;
497 memory-region = <&ipa_fw_mem>;
498 firmware-name = "qcom/sdm845/axolotl/ipa_fws.mbn";
507 firmware-name = "qcom/sdm845/axolotl/mba.mbn", "qcom/sdm845/axolotl/modem.mbn";
511 volume_up_gpio: pm8998_gpio6 {
517 qcom,drive-strength = <0>;
523 volume_down_resin: resin {
524 compatible = "qcom,pm8941-resin";
525 interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
528 linux,code = <KEY_VOLUMEDOWN>;
535 drive-strength = <2>;
541 drive-strength = <2>;
555 gpio-reserved-ranges = <0 4>, <81 4>;
557 sde_dsi_active: sde-dsi-active {
559 pins = "gpio6", "gpio11";
564 pins = "gpio6", "gpio11";
565 drive-strength = <8>;
570 sde_dsi_suspend: sde-dsi-suspend {
572 pins = "gpio6", "gpio11";
577 pins = "gpio6", "gpio11";
578 drive-strength = <2>;
583 sde_te_active: sde-te-active {
586 function = "mdp_vsync";
591 drive-strength = <2>;
596 sde_te_suspend: sde-te-suspend {
599 function = "mdp_vsync";
604 drive-strength = <2>;
609 ts_int_active: ts-int-active {
617 drive-strength = <8>;
623 ts_int_suspend: ts-int-suspend {
631 drive-strength = <2>;
637 ts_reset_active: ts-reset-active {
645 drive-strength = <8>;
650 ts_reset_suspend: ts-reset-suspend {
658 drive-strength = <2>;
668 compatible = "qcom,wcn3990-bt";
670 vddio-supply = <&vreg_s4a_1p8>;
671 vddxo-supply = <&vreg_l7a_1p8>;
672 vddrf-supply = <&vreg_l17a_1p3>;
673 vddch0-supply = <&vreg_l25a_3p3>;
674 max-speed = <3200000>;
685 reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>;
687 vcc-supply = <&vreg_l20a_2p95>;
688 vcc-max-microamp = <600000>;
694 vdda-phy-supply = <&vdda_ufs1_core>;
695 vdda-pll-supply = <&vdda_ufs1_1p2>;
703 dr_mode = "peripheral";
709 vdd-supply = <&vreg_l1a_0p875>;
710 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
711 vdda-pll-supply = <&vreg_l12a_1p8>;
717 vdda-phy-supply = <&vreg_l26a_1p2>;
718 vdda-pll-supply = <&vreg_l1a_0p875>;
723 firmware-name = "qcom/sdm845/axolotl/venus.mbn";
729 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;
730 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;
731 vdd-1.8-xo-supply = <&vreg_l7a_1p8>;
732 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;
733 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;
735 qcom,snoc-host-cap-8bit-quirk;