2038 lines
45 KiB
Diff
2038 lines
45 KiB
Diff
From 6e2478b5122afd861e5f108a3ebefb568db07e72 Mon Sep 17 00:00:00 2001
|
|
From: silime <[email protected]>
|
|
Date: Sat, 24 Aug 2024 01:52:38 +0800
|
|
Subject: [PATCH 20/62] arm64: dts: qcom: add device tree for Xiaoxin Pad Pro
|
|
12.6
|
|
|
|
This commit brings support for: * Display panels * USB Type-C OTG and ALT mode * GPU * Touchscreen * UFS * PCIe0 * Thermistor sensors * ADSP/CDSP/SLPI * SDHC * WIFI Bluetooth * Buttons * Audio (4x Stereo Speakers) Which not working ? * Sensors * Camera * Haptics * other?
|
|
|
|
Signed-off-by: Jiali Chen <[email protected]>
|
|
---
|
|
arch/arm64/boot/dts/qcom/Makefile | 1 +
|
|
.../boot/dts/qcom/sm8250-lenovo-q706f.dts | 2001 +++++++++++++++++
|
|
2 files changed, 2002 insertions(+)
|
|
create mode 100644 arch/arm64/boot/dts/qcom/sm8250-lenovo-q706f.dts
|
|
|
|
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
|
|
index 305a66a7b991..d39b2a0e9a28 100644
|
|
--- a/arch/arm64/boot/dts/qcom/Makefile
|
|
+++ b/arch/arm64/boot/dts/qcom/Makefile
|
|
@@ -274,6 +274,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8150-mtp.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += sm8150-sony-xperia-kumano-bahamut.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += sm8150-sony-xperia-kumano-griffin.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += sm8250-hdk.dtb
|
|
+dtb-$(CONFIG_ARCH_QCOM) += sm8250-lenovo-q706f.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += sm8250-mtp.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += sm8250-oneplus-instantnoodlep.dtb
|
|
dtb-$(CONFIG_ARCH_QCOM) += sm8250-oneplus-kebab.dtb
|
|
diff --git a/arch/arm64/boot/dts/qcom/sm8250-lenovo-q706f.dts b/arch/arm64/boot/dts/qcom/sm8250-lenovo-q706f.dts
|
|
new file mode 100644
|
|
index 000000000000..86a4885d1b57
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/qcom/sm8250-lenovo-q706f.dts
|
|
@@ -0,0 +1,2001 @@
|
|
+// SPDX-License-Identifier: GPL-2.0
|
|
+/*
|
|
+* Copyright (c) 2022, The Linux Foundation. All rights reserved.
|
|
+*/
|
|
+
|
|
+/dts-v1/;
|
|
+
|
|
+#include <dt-bindings/gpio/gpio.h>
|
|
+#include <dt-bindings/arm/qcom,ids.h>
|
|
+#include <dt-bindings/usb/pd.h>
|
|
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
|
|
+#include <dt-bindings/sound/qcom,q6afe.h>
|
|
+#include <dt-bindings/sound/qcom,q6asm.h>
|
|
+#include <dt-bindings/sound/cs35l45.h>
|
|
+#include <dt-bindings/leds/common.h>
|
|
+#include "sm8250.dtsi"
|
|
+#include "pm8150.dtsi"
|
|
+#include "pm8150b.dtsi"
|
|
+#include "pm8150l.dtsi"
|
|
+#include "pm8009.dtsi"
|
|
+
|
|
+/delete-node/ &adsp_mem;
|
|
+/delete-node/ &spss_mem;
|
|
+/delete-node/ &cdsp_secure_heap;
|
|
+
|
|
+&cpu7_opp_table {
|
|
+ cpu7_opp21: opp-3187200000 {
|
|
+ opp-hz = /bits/ 64 <3187200000>;
|
|
+ opp-peak-kBps = <8368000 51609600>;
|
|
+ };
|
|
+};
|
|
+
|
|
+/ {
|
|
+ model = "Lenovo Xiaoxin Pad Pro 12.6";
|
|
+ compatible = "lenovo,q706f", "qcom,sm8250";
|
|
+ classis-type = "tablet";
|
|
+
|
|
+ qcom,msm-id = <QCOM_ID_SM8250 0x20001>;
|
|
+ qcom,board-id = <0x30d08 0>;
|
|
+
|
|
+ aliases {
|
|
+ serial1 = &uart6;
|
|
+ };
|
|
+
|
|
+ battery: battery {
|
|
+ compatible = "simple-battery";
|
|
+ energy-full-design-microwatt-hours = <39400000>;
|
|
+ charge-full-design-microamp-hours = <10200000>;
|
|
+ voltage-min-design-microvolt = <3870000>;
|
|
+ };
|
|
+
|
|
+ // wcd938x: audio-codec {
|
|
+ // compatible = "qcom,wcd9380-codec";
|
|
+
|
|
+ // reset-gpios = <&tlmm 32 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ // vdd-buck-supply = <&vreg_s4a_1p8>;
|
|
+ // vdd-rxtx-supply = <&vreg_s4a_1p8>;
|
|
+ // vdd-io-supply = <&vreg_s4a_1p8>;
|
|
+ // vdd-mic-bias-supply = <&vreg_bob>;
|
|
+
|
|
+ // qcom,micbias1-microvolt = <1800000>;
|
|
+ // qcom,micbias2-microvolt = <1800000>;
|
|
+ // qcom,micbias3-microvolt = <1800000>;
|
|
+ // qcom,micbias4-microvolt = <1800000>;
|
|
+ // qcom,mbhc-buttons-vthreshold-microvolt = <75000 150000 237000 500000 500000 500000 500000 500000>;
|
|
+ // qcom,mbhc-headset-vthreshold-microvolt = <1700000>;
|
|
+ // qcom,mbhc-headphone-vthreshold-microvolt = <50000>;
|
|
+ // qcom,rx-device = <&wcd_rx>;
|
|
+ // qcom,tx-device = <&wcd_tx>;
|
|
+
|
|
+ // #sound-dai-cells = <1>;
|
|
+ // };
|
|
+
|
|
+ gpio-keys {
|
|
+ compatible = "gpio-keys";
|
|
+
|
|
+ key-vol-up {
|
|
+ label = "Volume Up";
|
|
+ linux,code = <KEY_VOLUMEUP>;
|
|
+ gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>;
|
|
+ debounce-interval = <15>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ reserved-memory {
|
|
+
|
|
+ adsp_mem: memory@8a100000 {
|
|
+ reg = <0x0 0x8a100000 0x0 0x2500000>;
|
|
+ no-map;
|
|
+ };
|
|
+
|
|
+ spss_mem: memory@8C600000 {
|
|
+ reg = <0x0 0x8C600000 0x0 0x100000>;
|
|
+ no-map;
|
|
+ };
|
|
+
|
|
+ cdsp_secure_heap: memory@8C700000 {
|
|
+ reg = <0x0 0x8C700000 0x0 0x4600000>;
|
|
+ no-map;
|
|
+ };
|
|
+
|
|
+ ramoops@9e400000 {
|
|
+ compatible = "ramoops";
|
|
+ reg = <0x00 0x9e400000 0x00 0x100000>;
|
|
+ record-size = <0x20000>;
|
|
+ console-size = <0x20000>;
|
|
+ ftrace-size = <0x20000>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vph_pwr: vph-pwr-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vph_pwr";
|
|
+ regulator-min-microvolt = <3700000>;
|
|
+ regulator-max-microvolt = <3700000>;
|
|
+ };
|
|
+
|
|
+ /* S6c is really ebi.lvl but it's there for supply map completeness sake. */
|
|
+ vreg_s6c_0p88: smpc6-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vreg_s6c_0p88";
|
|
+
|
|
+ regulator-min-microvolt = <880000>;
|
|
+ regulator-max-microvolt = <880000>;
|
|
+ regulator-always-on;
|
|
+ vin-supply = <&vph_pwr>;
|
|
+ };
|
|
+
|
|
+ sd_1p8_supply: sd-1p8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "sd_1p8_supply";
|
|
+
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ // pinctrl-names = "default";
|
|
+ // pinctrl-0 = <&sd_pwr_en>;
|
|
+ gpio = <&tlmm 114 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ regulator-boot-on;
|
|
+ regulator-on-in-suspend;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+
|
|
+ audio_1p8_supply: audio-1p8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "audio_1p8_supply";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ //cs35l45_1v8_enable
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&cs35l45_1v8_enable>;
|
|
+ gpio = <&tlmm 49 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ regulator-boot-on;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+
|
|
+ avdd_1p3_supply: audio1-1p8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "audio1_1p8_supply";
|
|
+
|
|
+ regulator-min-microvolt = <1300000>;
|
|
+ regulator-max-microvolt = <1300000>;
|
|
+ gpio = <&tlmm 61 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ regulator-boot-on;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+ audio2_1p8_supply: audio2-1p8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "audio2_1p8_supply";
|
|
+
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ gpio = <&tlmm 29 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ regulator-boot-on;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+ audio3_1p8_supply: audio3-1p8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "audio3_1p8_supply";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ gpio = <&tlmm 127 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ regulator-boot-on;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+ audio4_1p8_supply: audio4-1p8-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "audio4_1p8_supply";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&spkr_1_sd_n_active>;
|
|
+ gpio = <&tlmm 26 GPIO_ACTIVE_HIGH>;
|
|
+ enable-active-high;
|
|
+ regulator-boot-on;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+
|
|
+ usb_vbus_5p0: usb-vbus-5p0-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "usb_vbus_5p0";
|
|
+ regulator-min-microvolt = <5000000>;
|
|
+ regulator-max-microvolt = <5000000>;
|
|
+ enable-active-high;
|
|
+ gpio = <&pm8150b_gpios 8 GPIO_ACTIVE_HIGH>;
|
|
+ };
|
|
+
|
|
+ // cam0_dvdd_1v2: cam0-dvdd-1v2-regulator {
|
|
+ // compatible = "regulator-fixed";
|
|
+ // regulator-name = "CAM0_DVDD_1V2";
|
|
+ // regulator-min-microvolt = <1200000>;
|
|
+ // regulator-max-microvolt = <1200000>;
|
|
+ // enable-active-high;
|
|
+ // gpio = <&pm8998_gpios 12 GPIO_ACTIVE_HIGH>;
|
|
+ // pinctrl-names = "default";
|
|
+ // pinctrl-0 = <&cam0_dvdd_1v2_en_default>;
|
|
+ // vin-supply = <&vbat>;
|
|
+ // };
|
|
+
|
|
+ // cam0_avdd_2v8: cam0-avdd-2v8-regulator {
|
|
+ // compatible = "regulator-fixed";
|
|
+ // regulator-name = "CAM0_AVDD_2V8";
|
|
+ // regulator-min-microvolt = <2800000>;
|
|
+ // regulator-max-microvolt = <2800000>;
|
|
+ // enable-active-high;
|
|
+ // gpio = <&pm8998_gpios 10 GPIO_ACTIVE_HIGH>;
|
|
+ // pinctrl-names = "default";
|
|
+ // pinctrl-0 = <&cam0_avdd_2v8_en_default>;
|
|
+ // vin-supply = <&vbat>;
|
|
+ // };
|
|
+
|
|
+ qca6390-pmu {
|
|
+ compatible = "qcom,qca6390-pmu";
|
|
+
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&bt_en_state>, <&wlan_en_state>;
|
|
+
|
|
+ vddaon-supply = <&vreg_s6a_0p95>;
|
|
+ vddpmu-supply = <&vreg_s6a_0p95>;
|
|
+ vddrfa0p95-supply = <&vreg_s6a_0p95>;
|
|
+ vddrfa1p3-supply = <&vreg_s8c_1p35>;
|
|
+ vddrfa1p9-supply = <&vreg_s5a_1p9>;
|
|
+ vddpcie1p3-supply = <&vreg_s8c_1p35>;
|
|
+ vddpcie1p9-supply = <&vreg_s5a_1p9>;
|
|
+ vddio-supply = <&vreg_s4a_1p8>;
|
|
+
|
|
+ wlan-enable-gpios = <&tlmm 20 GPIO_ACTIVE_HIGH>;
|
|
+ bt-enable-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>;
|
|
+
|
|
+ regulators {
|
|
+ vreg_pmu_rfa_cmn: ldo0 {
|
|
+ regulator-name = "vreg_pmu_rfa_cmn";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_aon_0p59: ldo1 {
|
|
+ regulator-name = "vreg_pmu_aon_0p59";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_wlcx_0p8: ldo2 {
|
|
+ regulator-name = "vreg_pmu_wlcx_0p8";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_wlmx_0p85: ldo3 {
|
|
+ regulator-name = "vreg_pmu_wlmx_0p85";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_btcmx_0p85: ldo4 {
|
|
+ regulator-name = "vreg_pmu_btcmx_0p85";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_rfa_0p8: ldo5 {
|
|
+ regulator-name = "vreg_pmu_rfa_0p8";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_rfa_1p2: ldo6 {
|
|
+ regulator-name = "vreg_pmu_rfa_1p2";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_rfa_1p7: ldo7 {
|
|
+ regulator-name = "vreg_pmu_rfa_1p7";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_pcie_0p9: ldo8 {
|
|
+ regulator-name = "vreg_pmu_pcie_0p9";
|
|
+ };
|
|
+
|
|
+ vreg_pmu_pcie_1p8: ldo9 {
|
|
+ regulator-name = "vreg_pmu_pcie_1p8";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+
|
|
+&adsp {
|
|
+ status = "okay";
|
|
+ firmware-name = "qcom/sm8250/q706f/adsp.mbn";
|
|
+};
|
|
+
|
|
+&apps_rsc {
|
|
+ regulators-0 {
|
|
+ compatible = "qcom,pm8009-rpmh-regulators";
|
|
+ qcom,pmic-id = "f";
|
|
+
|
|
+ vdd-s1-supply = <&vph_pwr>;
|
|
+ vdd-s2-supply = <&vph_pwr>;
|
|
+ vdd-l2-supply = <&vreg_s8c_1p35>;
|
|
+ vdd-l5-l6-supply = <&vreg_bob>;
|
|
+ vdd-l7-supply = <&vreg_s4a_1p8>;
|
|
+
|
|
+ vreg_s1f_1p2: smps1 {
|
|
+ regulator-name = "vreg_s1f_1p2";
|
|
+ regulator-min-microvolt = <1200000>;
|
|
+ regulator-max-microvolt = <1200000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_s2f_0p5: smps2 {
|
|
+ regulator-name = "vreg_s2f_0p5";
|
|
+ regulator-min-microvolt = <512000>;
|
|
+ regulator-max-microvolt = <1100000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ regualtor-allow-set-load;
|
|
+ regulator-boot-on;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+
|
|
+ vreg_l1f_1p1: ldo1 {
|
|
+ regulator-name = "vreg_l1f_1p1";
|
|
+ regulator-min-microvolt = <1104000>;
|
|
+ regulator-max-microvolt = <1104000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l2f_1p2: ldo2 {
|
|
+ regulator-name = "vreg_l2f_1p2";
|
|
+ regulator-min-microvolt = <1200000>;
|
|
+ regulator-max-microvolt = <1200000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l3f_1p1: ldo3 {
|
|
+ regulator-name = "vreg_l3f_1p1";
|
|
+ regulator-min-microvolt = <1056000>;
|
|
+ regulator-max-microvolt = <1200000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ // vreg_l4f_1p1: ldo4 {
|
|
+ // regulator-name = "vreg_l4f_1p1";
|
|
+ // regulator-min-microvolt = <1096000>;
|
|
+ // regulator-max-microvolt = <1304000>;
|
|
+ // regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ // };
|
|
+
|
|
+ vreg_l5f_2p8: ldo5 {
|
|
+ regulator-name = "vreg_l5f_2p8";
|
|
+ regulator-min-microvolt = <2800000>;
|
|
+ regulator-max-microvolt = <3000000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l6f_2p8: ldo6 {
|
|
+ regulator-name = "vreg_l6f_2p8";
|
|
+ regulator-min-microvolt = <2800000>;
|
|
+ regulator-max-microvolt = <2800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l7f_1p8: ldo7 {
|
|
+ regulator-name = "vreg_l7f_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ regulators-1 {
|
|
+ compatible = "qcom,pm8150-rpmh-regulators";
|
|
+ qcom,pmic-id = "a";
|
|
+
|
|
+ vdd-s1-supply = <&vph_pwr>;
|
|
+ vdd-s2-supply = <&vph_pwr>;
|
|
+ vdd-s3-supply = <&vph_pwr>;
|
|
+ vdd-s4-supply = <&vph_pwr>;
|
|
+ vdd-s5-supply = <&vph_pwr>;
|
|
+ vdd-s6-supply = <&vph_pwr>;
|
|
+ vdd-s7-supply = <&vph_pwr>;
|
|
+ vdd-s8-supply = <&vph_pwr>;
|
|
+ vdd-s9-supply = <&vph_pwr>;
|
|
+ vdd-s10-supply = <&vph_pwr>;
|
|
+ vdd-l1-l8-l11-supply = <&vreg_s6c_0p88>;
|
|
+ vdd-l2-l10-supply = <&vreg_bob>;
|
|
+ vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>;
|
|
+ vdd-l6-l9-supply = <&vreg_s8c_1p35>;
|
|
+ vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>;
|
|
+ vdd-l13-l16-l17-supply = <&vreg_bob>;
|
|
+
|
|
+ /* (S1+S2+S3) - cx.lvl (ARC) */
|
|
+
|
|
+ vreg_s4a_1p8: smps4 {
|
|
+ regulator-name = "vreg_s4a_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1920000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ regulator-allow-set-load;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+
|
|
+ vreg_s5a_1p9: smps5 {
|
|
+ regulator-name = "vreg_s5a_1p9";
|
|
+ regulator-min-microvolt = <1900000>;
|
|
+ regulator-max-microvolt = <2040000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ regulator-allow-set-load;
|
|
+ };
|
|
+
|
|
+ vreg_s6a_0p95: smps6 {
|
|
+ regulator-name = "vreg_s6a_0p95";
|
|
+ regulator-min-microvolt = <920000>;
|
|
+ regulator-max-microvolt = <1128000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ regulator-allow-set-load;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+
|
|
+ vreg_l2a_3p1: ldo2 {
|
|
+ regulator-name = "vreg_l2a_3p1";
|
|
+ regulator-min-microvolt = <3072000>;
|
|
+ regulator-max-microvolt = <3072000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l3a_0p9: ldo3 {
|
|
+ regulator-name = "vreg_l3a_0p9";
|
|
+ regulator-min-microvolt = <928000>;
|
|
+ regulator-max-microvolt = <932000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ /* l4 = VDD_SSC_MX (lmx.lvl) */
|
|
+
|
|
+ vreg_l5a_0p88: ldo5 {
|
|
+ regulator-name = "vreg_l5a_0p88";
|
|
+ regulator-min-microvolt = <880000>;
|
|
+ regulator-max-microvolt = <880000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l6a_1p2: ldo6 {
|
|
+ regulator-name = "vreg_l6a_1p2";
|
|
+ regulator-min-microvolt = <1200000>;
|
|
+ regulator-max-microvolt = <1200000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ regulator-allow-set-load;
|
|
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
+ RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l7a_1p7: ldo7 {
|
|
+ regulator-name = "vreg_l7a_1p7";
|
|
+ regulator-min-microvolt = <1704000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l9a_1p2: ldo9 {
|
|
+ regulator-name = "vreg_l9a_1p2";
|
|
+ regulator-min-microvolt = <1200000>;
|
|
+ regulator-max-microvolt = <1200000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l10a_1p8: ldo10 {
|
|
+ regulator-name = "vreg_l10a_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <2960000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ /* l11 = VDD_SSC_CX (lxc.lvl) */
|
|
+
|
|
+ vreg_l12a_1p8: ldo12 {
|
|
+ regulator-name = "vreg_l12a_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l13a_3p0: ldo13 {
|
|
+ regulator-name = "vreg_l13a_3p0";
|
|
+ regulator-min-microvolt = <3008000>;
|
|
+ regulator-max-microvolt = <3008000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ regulator-allow-set-load;
|
|
+ regulator-always-on;
|
|
+ };
|
|
+ // display vddio/vddi
|
|
+ vreg_l14a_1p8: ldo14 {
|
|
+ regulator-name = "vreg_l14a_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1880000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>;
|
|
+ regulator-boot-on;
|
|
+ };
|
|
+
|
|
+ vreg_l15a_1p8: ldo15 {
|
|
+ regulator-name = "vreg_l15a_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ /* Fingerprint reader power (goodix_fp) */
|
|
+ vreg_l16a_2p7: ldo16 {
|
|
+ regulator-name = "vreg_l16a_2p7";
|
|
+ regulator-min-microvolt = <3024000>;
|
|
+ regulator-max-microvolt = <3304000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l17a_3p0: ldo17 {
|
|
+ regulator-name = "vreg_l17a_3p0";
|
|
+ regulator-min-microvolt = <2504000>;
|
|
+ regulator-max-microvolt = <2950000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ regulator-allow-set-load;
|
|
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
|
|
+ RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l18a_0p92: ldo18 {
|
|
+ regulator-name = "vreg_l18a_0p92";
|
|
+ regulator-min-microvolt = <800000>;
|
|
+ regulator-max-microvolt = <920000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ regulators-2 {
|
|
+ compatible = "qcom,pm8150l-rpmh-regulators";
|
|
+ qcom,pmic-id = "c";
|
|
+
|
|
+ vdd-s1-supply = <&vph_pwr>;
|
|
+ vdd-s2-supply = <&vph_pwr>;
|
|
+ vdd-s3-supply = <&vph_pwr>;
|
|
+ vdd-s4-supply = <&vph_pwr>;
|
|
+ vdd-s5-supply = <&vph_pwr>;
|
|
+ vdd-s6-supply = <&vph_pwr>;
|
|
+ vdd-s7-supply = <&vph_pwr>;
|
|
+ vdd-s8-supply = <&vph_pwr>;
|
|
+ vdd-l1-l8-supply = <&vreg_s4a_1p8>;
|
|
+ vdd-l2-l3-supply = <&vreg_s8c_1p35>;
|
|
+ vdd-l4-l5-l6-supply = <&vreg_bob>;
|
|
+ vdd-l7-l11-supply = <&vreg_bob>;
|
|
+ vdd-l9-l10-supply = <&vreg_bob>;
|
|
+ vdd-bob-supply = <&vph_pwr>;
|
|
+
|
|
+ vreg_bob: bob {
|
|
+ regulator-name = "vreg_bob";
|
|
+ regulator-min-microvolt = <3008000>;
|
|
+ regulator-max-microvolt = <4000000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
|
|
+ };
|
|
+
|
|
+ /*
|
|
+ * S1-S6 are ARCs:
|
|
+ * (S1+S2) - gfx.lvl,
|
|
+ * S3 - mx.lvl,
|
|
+ * (S4+S5) - mmcx.lvl,
|
|
+ * S6 - ebi.lvl
|
|
+ */
|
|
+
|
|
+ vreg_s7c_0p35: smps7 {
|
|
+ regulator-name = "vreg_s7c_0p35";
|
|
+ regulator-min-microvolt = <348000>;
|
|
+ regulator-max-microvolt = <1000000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_s8c_1p35: smps8 {
|
|
+ regulator-name = "vreg_s8c_1p35";
|
|
+ regulator-min-microvolt = <1350000>;
|
|
+ regulator-max-microvolt = <1400000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l1c_1p8: ldo1 {
|
|
+ regulator-name = "vreg_l1c_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l2c_1p2: ldo2 {
|
|
+ regulator-name = "vreg_l2c_1p2";
|
|
+ regulator-min-microvolt = <1200000>;
|
|
+ regulator-max-microvolt = <1304000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l3c_0p8: ldo3 {
|
|
+ regulator-name = "vreg_l3c_0p8";
|
|
+ regulator-min-microvolt = <800000>;
|
|
+ regulator-max-microvolt = <1200000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+ // cam
|
|
+ vreg_l4c_1p7: ldo4 {
|
|
+ regulator-name = "vreg_l4c_1p7";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <2800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l5c_1p8: ldo5 {
|
|
+ regulator-name = "vreg_l5c_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <2800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ // regulator-allow-set-load;
|
|
+ };
|
|
+
|
|
+ vreg_l6c_2p96: ldo6 {
|
|
+ regulator-name = "vreg_l6c_2p96";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <2960000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l7c_ts_3p0: ldo7 {
|
|
+ regulator-name = "vreg_l7c_ts_3p0";
|
|
+ regulator-min-microvolt = <2856000>;
|
|
+ regulator-max-microvolt = <3008000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l8c_1p8: ldo8 {
|
|
+ regulator-name = "vreg_l8c_1p8";
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+
|
|
+ vreg_l9c_2p96: ldo9 {
|
|
+ regulator-name = "vreg_l9c_2p96";
|
|
+ regulator-min-microvolt = <2704000>;
|
|
+ regulator-max-microvolt = <2960000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ // regulator-allow-set-load;
|
|
+ };
|
|
+
|
|
+ vreg_l10c_3p0: ldo10 {
|
|
+ regulator-name = "vreg_l10c_3p0";
|
|
+ regulator-min-microvolt = <3000000>;
|
|
+ regulator-max-microvolt = <3312000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ };
|
|
+ // vdd/vci display
|
|
+ vreg_l11c_3p3: ldo11 {
|
|
+ regulator-name = "vreg_l11c_3p3";
|
|
+ regulator-min-microvolt = <3104000>;
|
|
+ regulator-max-microvolt = <3304000>;
|
|
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
|
|
+ // regulator-boot-on;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+// &camcc {
|
|
+// status = "okay";
|
|
+// };
|
|
+
|
|
+// &camss {
|
|
+// vdda-phy-supply = <&vreg_l5a_0p88>;
|
|
+// vdda-pll-supply = <&vreg_l9a_1p2>;
|
|
+// status = "okay";
|
|
+
|
|
+// ports {
|
|
+// /* The port index denotes CSIPHY id i.e. csiphy0 */
|
|
+// port@0 {
|
|
+// csiphy0_ep: endpoint {
|
|
+// data-lanes = <0 1 2 3>;
|
|
+// remote-endpoint = <&camera1_ep>;
|
|
+// };
|
|
+// };
|
|
+// };
|
|
+// };
|
|
+
|
|
+// &cci0 {
|
|
+// assigned-clocks = <&camcc CAM_CC_CCI_1_CLK_SRC>,
|
|
+// <&camcc CAM_CC_CCI_1_CLK>;
|
|
+// assigned-clock-rates = <37500000>,
|
|
+// <0>;
|
|
+
|
|
+// status = "okay";
|
|
+// };
|
|
+
|
|
+// &cci0_i2c1 {
|
|
+// camera_front: camera@10 {
|
|
+// compatible = "ovti,ov8856";
|
|
+// reg = <0x10>;
|
|
+// pinctrl-names = "default", "suspend";
|
|
+// pinctrl-0 = <&cam0_default>;
|
|
+// pinctrl-1 = <&cam0_suspend>;
|
|
+// clocks = <&camcc CAM_CC_MCLK0_CLK>;
|
|
+// assigned-clocks = <&camcc CAM_CC_MCLK0_CLK>;
|
|
+// assigned-clock-rates = <19200000>;
|
|
+// reset-gpios = <&pm8150_gpios 1 GPIO_ACTIVE_LOW>;
|
|
+// vdda-supply = <&camera_front_vana>;
|
|
+// vddd-supply = <&vreg_l2c_1p2>;
|
|
+// vddio-supply = <&vreg_l1c_1p8>;
|
|
+
|
|
+// port {
|
|
+// camera1_ep: endpoint {
|
|
+// link-frequencies = /bits/ 64
|
|
+// <360000000 180000000>;
|
|
+// data-lanes = <1 2 3 4>;
|
|
+// remote-endpoint = <&csiphy0_ep>;
|
|
+// };
|
|
+// };
|
|
+// };
|
|
+// };
|
|
+
|
|
+&cdsp {
|
|
+ status = "okay";
|
|
+ firmware-name = "qcom/sm8250/q706f/cdsp.mbn";
|
|
+};
|
|
+
|
|
+&crypto {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&gmu {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&gpi_dma0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&gpi_dma1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&gpi_dma2 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&gpu {
|
|
+ status = "okay";
|
|
+
|
|
+ zap-shader {
|
|
+ memory-region = <&gpu_mem>;
|
|
+ firmware-name = "qcom/sm8250/q706f/a650_zap.mbn";
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c1 {
|
|
+ status = "okay";
|
|
+ clock-frequency = <1000000>;
|
|
+ /* Pen Charging NXP CTN730 Qi charger @ 28 */
|
|
+
|
|
+};
|
|
+
|
|
+&i2c3 {
|
|
+ status = "okay";
|
|
+ clock-frequency = <400000>;
|
|
+ /* hid-over-i2c Keyboard @ 61 */
|
|
+ keyboard@61 {
|
|
+ compatible = "hid-over-i2c";
|
|
+ vdd-supply = <&vreg_l10c_3p0>;
|
|
+ reg = <0x61>;
|
|
+ hid-descr-addr = <0x01>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <15 IRQ_TYPE_LEVEL_LOW>;
|
|
+ // interrupts-extended = <&tlmm 15 IRQ_TYPE_LEVEL_LOW>;
|
|
+ pinctrl-0 = <&keyboard_default>;
|
|
+ pinctrl-names = "default";
|
|
+ wakeup-source;
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c4 {
|
|
+ status = "okay";
|
|
+ clock-frequency = <400000>;
|
|
+
|
|
+ typec-mux@19 {
|
|
+ compatible = "onnn,nb7vpq904m";
|
|
+ reg = <0x19>;
|
|
+
|
|
+ vcc-supply = <&vreg_s4a_1p8>;
|
|
+
|
|
+ retimer-switch;
|
|
+ orientation-switch;
|
|
+
|
|
+ ports {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ port@0 {
|
|
+ reg = <0>;
|
|
+
|
|
+ redriver_usb_con_ss: endpoint {
|
|
+ remote-endpoint = <&pm8150b_typec_mux_in>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ port@1 {
|
|
+ reg = <1>;
|
|
+
|
|
+ redriver_phy_con_ss: endpoint {
|
|
+ remote-endpoint = <&usb_1_qmpphy_out>;
|
|
+ data-lanes = <0 1 2 3>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ // port@2 {
|
|
+ // reg = <2>;
|
|
+
|
|
+ // redriver_usb_con_sbu: endpoint {
|
|
+ // remote-endpoint = <&pm8150b_typec_sbu_out>;
|
|
+ // };
|
|
+ // };
|
|
+ };
|
|
+ };
|
|
+ /* FSA4480 USB audio switch @ 43 */
|
|
+ typec-mux@43 {
|
|
+ compatible = "fcs,fsa4480";
|
|
+ reg = <0x43>;
|
|
+
|
|
+ vcc-supply = <&vreg_bob>;
|
|
+ mode-switch;
|
|
+ orientation-switch;
|
|
+
|
|
+ port {
|
|
+ fsa4480_sbu_mux: endpoint {
|
|
+ remote-endpoint = <&pm8150b_typec_sbu_out>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&i2c5 {
|
|
+ status = "okay";
|
|
+ clock-frequency = <400000>;
|
|
+
|
|
+ // SPK1-cs35l45
|
|
+ // SPK1_fast_switch_music.txt SPK1_fast_switch_ring.txt SPK1_fast_switch_voice.txt
|
|
+ cs35l45_spk1: speaker-amp@30 {
|
|
+ compatible = "cirrus,cs35l45";
|
|
+ reg = <0x30>;
|
|
+ vdd-a-supply = <&vreg_s4a_1p8>;
|
|
+ vdd-batt-supply = <&audio4_1p8_supply>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
|
|
+ // interrupts-extended = <&tlmm 24 IRQ_TYPE_LEVEL_LOW>;
|
|
+ pinctrl-0 = <&cs35l45_1_irq_default &cs35l45_1v8_enable>;
|
|
+ pinctrl-names = "default";
|
|
+ reset-gpios = <&tlmm 127 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED | CS35L45_ASP_TX_HIZ_DISABLED)>;
|
|
+ #sound-dai-cells = <1>;
|
|
+ sound-name-prefix = "SPK1"; //SPK1-cs35l45
|
|
+ cirrus,gpio-ctrl2 {
|
|
+ gpio-ctrl = <0x2>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cs35l45_spk2: speaker-amp@31 {
|
|
+ compatible = "cirrus,cs35l45";
|
|
+ reg = <0x31>;
|
|
+ vdd-a-supply = <&vreg_s4a_1p8>;
|
|
+ vdd-batt-supply = <&audio4_1p8_supply>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <51 IRQ_TYPE_LEVEL_LOW>;
|
|
+ // interrupts-extended = <&tlmm 51 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 127 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-0 = <&cs35l45_2_irq_default &cs35l45_1v8_enable>;
|
|
+ pinctrl-names = "default";
|
|
+ cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED | CS35L45_ASP_TX_HIZ_DISABLED)>;
|
|
+ #sound-dai-cells = <1>;
|
|
+ sound-name-prefix = "SPK2";//SPK2-cs35l45
|
|
+ cirrus,gpio-ctrl2 {
|
|
+ gpio-ctrl = <0x2>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cs35l41_spk3: speaker-amp@36 {
|
|
+ compatible = "cirrus,cs35l45";
|
|
+ reg = <0x36>;
|
|
+ vdd-a-supply = <&vreg_s4a_1p8>;
|
|
+ vdd-batt-supply = <&audio4_1p8_supply>;
|
|
+ pinctrl-0 = <&cs35l45_3_irq_default &cs35l45_1v8_enable>;
|
|
+ pinctrl-names = "default";
|
|
+ interrupts-extended = <&tlmm 100 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 127 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED | CS35L45_ASP_TX_HIZ_DISABLED)>;
|
|
+ #sound-dai-cells = <1>;
|
|
+ sound-name-prefix = "SPK3";//SPK3-cs35l45
|
|
+ cirrus,gpio-ctrl2 {
|
|
+ gpio-ctrl = <0x2>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cs35l41_spk4: speaker-amp@37 {
|
|
+ compatible = "cirrus,cs35l45";
|
|
+ reg = <0x37>;
|
|
+ vdd-a-supply = <&vreg_s4a_1p8>;
|
|
+ vdd-batt-supply = <&audio4_1p8_supply>;
|
|
+ pinctrl-0 = <&cs35l45_4_irq_default &cs35l45_1v8_enable>;
|
|
+ pinctrl-names = "default";
|
|
+ interrupts-extended = <&tlmm 93 IRQ_TYPE_LEVEL_LOW>;
|
|
+ reset-gpios = <&tlmm 127 GPIO_ACTIVE_HIGH>;
|
|
+ cirrus,asp-sdout-hiz-ctrl = <(CS35L45_ASP_TX_HIZ_UNUSED | CS35L45_ASP_TX_HIZ_DISABLED)>;
|
|
+ #sound-dai-cells = <1>;
|
|
+ sound-name-prefix = "SPK4";//SPK4-cs35l45
|
|
+ cirrus,gpio-ctrl2 {
|
|
+ gpio-ctrl = <0x2>;
|
|
+ };
|
|
+ };
|
|
+ /* Cirrus CS35L45 (Speaker 1) @ 30 */
|
|
+ /* Cirrus CS35L45 (Speaker 2) @ 31 */
|
|
+ /* Cirrus CS35L45 (Speaker 3) @ 36 */
|
|
+ /* Cirrus CS35L45 (Speaker 4) @ 37 */
|
|
+ /* Everest-semi ES7210 4-ch ADC @ 40 */
|
|
+ /* Synaptics AS33970 @ 41 */
|
|
+
|
|
+};
|
|
+
|
|
+&i2c9 {
|
|
+ status = "okay";
|
|
+ clock-frequency = <400000>;
|
|
+ /* hid-over-i2c ptp @ 60 */
|
|
+ touchpad@60 {
|
|
+ compatible = "hid-over-i2c";
|
|
+ vdd-supply = <&vreg_l10c_3p0>;
|
|
+ reg = <0x60>;
|
|
+ hid-descr-addr = <0x01>;
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
|
|
+ wakeup-source;
|
|
+ };
|
|
+
|
|
+};
|
|
+
|
|
+&i2c15 {
|
|
+ status = "okay";
|
|
+ clock-frequency = <400000>;
|
|
+
|
|
+ bq27541@55 {
|
|
+ compatible = "ti,bq27541";
|
|
+ reg = <0x55>;
|
|
+ monitored-battery = <&battery>;
|
|
+ };
|
|
+ /* Qcom SMB1396 @ 34 */
|
|
+ /* Qcom SMB1396 slave @ 35 */
|
|
+
|
|
+};
|
|
+
|
|
+&pm8150l_flash {
|
|
+ status = "okay";
|
|
+
|
|
+ led-0 {
|
|
+ function = LED_FUNCTION_FLASH;
|
|
+ color = <LED_COLOR_ID_WHITE>;
|
|
+ led-sources = <1>;
|
|
+ led-max-microamp = <200000>;
|
|
+ flash-max-microamp = <1000000>;
|
|
+ flash-max-timeout-us = <1280000>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&lpass_tlmm {
|
|
+ // gpio-reserved-ranges = <0 14>;
|
|
+
|
|
+ // lpi_i2s2: lpi-i2s2-active-state {
|
|
+ // sck-pins {
|
|
+ // pins = "gpio10";
|
|
+ // function = "i2s2_clk";
|
|
+ // drive-strength = <8>;
|
|
+ // bias-disable;
|
|
+ // output-high;
|
|
+ // };
|
|
+
|
|
+ // din-pins {
|
|
+ // pins = "gpio12";
|
|
+ // function = "i2s2_data";
|
|
+ // drive-strength = <8>;
|
|
+ // bias-disable;
|
|
+ // };
|
|
+
|
|
+ // ws-pins {
|
|
+ // pins = "gpio11";
|
|
+ // function = "i2s2_ws";
|
|
+ // drive-strength = <8>;
|
|
+ // bias-disable;
|
|
+ // output-high;
|
|
+ // };
|
|
+
|
|
+ // dout-pins {
|
|
+ // pins = "gpio13";
|
|
+ // function = "i2s2_data";
|
|
+ // drive-strength = <8>;
|
|
+ // bias-disable;
|
|
+ // };
|
|
+ // };
|
|
+ // lpi_i2s2_sck_active {
|
|
+ // phandle = <0x700>;
|
|
+
|
|
+ // mux {
|
|
+ // pins = "gpio10";
|
|
+ // function = "func1";
|
|
+ // };
|
|
+
|
|
+ // config {
|
|
+ // pins = "gpio10";
|
|
+ // drive-strength = <0x08>;
|
|
+ // bias-disable;
|
|
+ // output-high;
|
|
+ // };
|
|
+ // };
|
|
+ // lpi_i2s2_ws_active {
|
|
+ // phandle = <0x701>;
|
|
+
|
|
+ // mux {
|
|
+ // pins = "gpio11";
|
|
+ // function = "func1";
|
|
+ // };
|
|
+
|
|
+ // config {
|
|
+ // pins = "gpio11";
|
|
+ // drive-strength = <0x08>;
|
|
+ // bias-disable;
|
|
+ // output-high;
|
|
+ // };
|
|
+ // };
|
|
+ // lpi_i2s2_sd0_active {
|
|
+ // phandle = <0x702>;
|
|
+
|
|
+ // mux {
|
|
+ // pins = "gpio12";
|
|
+ // function = "func2";
|
|
+ // };
|
|
+
|
|
+ // config {
|
|
+ // pins = "gpio12";
|
|
+ // drive-strength = <0x08>;
|
|
+ // bias-disable;
|
|
+ // output-high;
|
|
+ // };
|
|
+ // };
|
|
+ // lpi_i2s2_sd1_active {
|
|
+ // phandle = <0x703>;
|
|
+
|
|
+ // mux {
|
|
+ // pins = "gpio13";
|
|
+ // function = "func2";
|
|
+ // };
|
|
+
|
|
+ // config {
|
|
+ // pins = "gpio13";
|
|
+ // drive-strength = <0x08>;
|
|
+ // bias-disable;
|
|
+ // output-high;
|
|
+ // };
|
|
+ // };
|
|
+};
|
|
+
|
|
+&mdss {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&mdss_dp {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&mdss_dp_out {
|
|
+ data-lanes = <0 1>;
|
|
+ remote-endpoint = <&usb_1_qmpphy_dp_in>;
|
|
+};
|
|
+
|
|
+&mdss_dsi0 {
|
|
+ vdda-supply = <&vreg_l9a_1p2>;
|
|
+ status = "okay";
|
|
+
|
|
+ display_panel: panel@0 {
|
|
+ reg = <0>;
|
|
+ vddio-supply = <&vreg_l14a_1p8>;
|
|
+ vdd-supply = <&vreg_l11c_3p3>;
|
|
+ compatible = "samsung,amsa26zp01";
|
|
+ status = "okay";
|
|
+
|
|
+ reset-gpios = <&tlmm 75 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ pinctrl-0 = <&panel_reset_pins &panel_vsync_pins>;
|
|
+ pinctrl-names = "default";
|
|
+
|
|
+ port {
|
|
+ panel_in_0: endpoint {
|
|
+ remote-endpoint = <&mdss_dsi0_out>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+};
|
|
+
|
|
+&mdss_dsi0_out {
|
|
+ data-lanes = <0 1 2 3>;
|
|
+ remote-endpoint = <&panel_in_0>;
|
|
+};
|
|
+
|
|
+&mdss_dsi0_phy {
|
|
+ vdds-supply = <&vreg_l5a_0p88>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pcie0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pcie0_phy {
|
|
+ status = "okay";
|
|
+ vdda-phy-supply = <&vreg_l5a_0p88>;
|
|
+ vdda-pll-supply = <&vreg_l9a_1p2>;
|
|
+ /* Power on QCA639x chip, otherwise PCIe bus timeouts */
|
|
+ // power-domains = <&qca639x>;
|
|
+};
|
|
+
|
|
+&pcieport0 {
|
|
+ wifi@0 {
|
|
+ compatible = "pci17cb,1101";
|
|
+ reg = <0x10000 0x0 0x0 0x0 0x0>;
|
|
+
|
|
+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
|
|
+ vddaon-supply = <&vreg_pmu_aon_0p59>;
|
|
+ vddwlcx-supply = <&vreg_pmu_wlcx_0p8>;
|
|
+ vddwlmx-supply = <&vreg_pmu_wlmx_0p85>;
|
|
+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
|
|
+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
|
|
+ vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
|
|
+ vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>;
|
|
+ vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&pcie2 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pcie2_phy {
|
|
+ vdda-phy-supply = <&vreg_l5a_0p88>;
|
|
+ vdda-pll-supply = <&vreg_l9a_1p2>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pm8150b_adc {
|
|
+ channel@4f {
|
|
+ reg = <ADC5_AMUX_THM3_100K_PU>;
|
|
+ qcom,ratiometric;
|
|
+ qcom,hw-settle-time = <200>;
|
|
+ label = "conn_therm";
|
|
+ };
|
|
+};
|
|
+
|
|
+&pm8150b_adc_tm {
|
|
+ status = "okay";
|
|
+
|
|
+ conn-therm@0 {
|
|
+ reg = <0>;
|
|
+ io-channels = <&pm8150b_adc ADC5_AMUX_THM3_100K_PU>;
|
|
+ qcom,ratiometric;
|
|
+ qcom,hw-settle-time-us = <200>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&pm8150l_adc {
|
|
+ channel@4e {
|
|
+ reg = <ADC5_AMUX_THM2_100K_PU>;
|
|
+ qcom,ratiometric;
|
|
+ qcom,hw-settle-time = <200>;
|
|
+ label = "skin_msm_therm";
|
|
+ };
|
|
+
|
|
+ channel@4f {
|
|
+ reg = <ADC5_AMUX_THM3_100K_PU>;
|
|
+ qcom,ratiometric;
|
|
+ qcom,hw-settle-time = <200>;
|
|
+ label = "pm8150l_therm";
|
|
+ };
|
|
+};
|
|
+
|
|
+&pm8150l_adc_tm {
|
|
+ status = "okay";
|
|
+
|
|
+ skin-msm-therm@0 {
|
|
+ reg = <0>;
|
|
+ io-channels = <&pm8150l_adc ADC5_AMUX_THM2_100K_PU>;
|
|
+ qcom,ratiometric;
|
|
+ qcom,hw-settle-time-us = <200>;
|
|
+ };
|
|
+
|
|
+ pm8150l-therm@1 {
|
|
+ reg = <1>;
|
|
+ io-channels = <&pm8150l_adc ADC5_AMUX_THM3_100K_PU>;
|
|
+ qcom,ratiometric;
|
|
+ qcom,hw-settle-time-us = <200>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&pm8009_gpios {
|
|
+ gpio-line-names = "CAM_REAR_RST", /* GPIO_1 */
|
|
+ "NC",
|
|
+ "CAM_REAR2_RST",
|
|
+ "CAM_FRONT_RST";
|
|
+ cam0_rst_pins: rst-pins {
|
|
+ pins = "gpio1";
|
|
+ function = "gpio";
|
|
+
|
|
+ drive-strength = <16>;
|
|
+ bias-disable;
|
|
+ };
|
|
+};
|
|
+
|
|
+&pm8150_gpios {
|
|
+ gpio-line-names = "NC", /* GPIO_1 */
|
|
+ "NC",
|
|
+ "NC",
|
|
+ "NC",
|
|
+ "NC",
|
|
+ "VOL_UP_N",
|
|
+ "NC",
|
|
+ "NC",
|
|
+ "USB2_VBUS_BOOST",
|
|
+ "USB2_VBUS_DET "; /* GPIO_10 */
|
|
+ vol_up_n: vol-up-n-state {
|
|
+ pins = "gpio6";
|
|
+ function = "normal";
|
|
+ power-source = <1>;
|
|
+ input-enable;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+
|
|
+
|
|
+ // cam0_dvdd_1v2_en_default: cam0-dvdd-1v2-en-state {
|
|
+ // pins = "gpio12";
|
|
+ // function = "normal";
|
|
+
|
|
+ // bias-pull-up;
|
|
+ // drive-push-pull;
|
|
+ // qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
|
|
+ // };
|
|
+
|
|
+ // cam0_avdd_2v8_en_default: cam0-avdd-2v8-en-state {
|
|
+ // pins = "gpio10";
|
|
+ // function = "normal";
|
|
+
|
|
+ // bias-pull-up;
|
|
+ // drive-push-pull;
|
|
+ // qcom,drive-strength = <PMIC_GPIO_STRENGTH_HIGH>;
|
|
+ // };
|
|
+};
|
|
+
|
|
+&pm8150b_gpios {
|
|
+ gpio-line-names = "NC", /* GPIO_1 */
|
|
+ "NC",
|
|
+ "NC",
|
|
+ "NC",
|
|
+ "POGO_FET_CTRL",
|
|
+ "SMB_STAT",
|
|
+ "NC",
|
|
+ "OTG_BOOST",
|
|
+ "NC",
|
|
+ "NC", /* GPIO_10 */
|
|
+ "NC",
|
|
+ "NC";
|
|
+ vbus_boost_en: vbus-boost-en {
|
|
+ pins = "gpio8";
|
|
+ function = "normal";
|
|
+ output-high;
|
|
+ power-source = <0x00>;
|
|
+ };
|
|
+ keyboard_default: pogo_fet_ctrl_default {
|
|
+ pins = "gpio5";
|
|
+ function = "normal";
|
|
+ output-low;
|
|
+ power-source = <0x00>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&pm8150l_gpios {
|
|
+ gpio-line-names = "NC", /* GPIO_1 */
|
|
+ "PM3003A_EN",
|
|
+ "NC",
|
|
+ "NC",
|
|
+ "NC",
|
|
+ "AUX2_THERM",
|
|
+ "BB_HP_EN",
|
|
+ "CTN730_EN",
|
|
+ "PMX_RESET_N",
|
|
+ "NC", /* GPIO_10 */
|
|
+ "NC",
|
|
+ "PM3003A_MODE";
|
|
+};
|
|
+
|
|
+&pm8150b_typec {
|
|
+ status = "okay";
|
|
+
|
|
+ vdd-pdphy-supply = <&vreg_l2a_3p1>;
|
|
+ vdd-vbus-supply = <&usb_vbus_5p0>;
|
|
+
|
|
+ connector {
|
|
+ compatible = "usb-c-connector";
|
|
+
|
|
+ op-sink-microwatt = <10000000>;
|
|
+ power-role = "dual";
|
|
+ data-role = "dual";
|
|
+ self-powered;
|
|
+
|
|
+ source-pdos = <PDO_FIXED(5000, 3000,
|
|
+ PDO_FIXED_DUAL_ROLE |
|
|
+ PDO_FIXED_USB_COMM |
|
|
+ PDO_FIXED_DATA_SWAP)>;
|
|
+
|
|
+ sink-pdos = <PDO_FIXED(5000, 3000,
|
|
+ PDO_FIXED_DUAL_ROLE |
|
|
+ PDO_FIXED_USB_COMM |
|
|
+ PDO_FIXED_DATA_SWAP)>;
|
|
+
|
|
+ altmodes {
|
|
+ displayport {
|
|
+ svid = /bits/ 16 <0xff01>;
|
|
+ vdo = <0x00001c46>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ ports {
|
|
+ #address-cells = <1>;
|
|
+ #size-cells = <0>;
|
|
+
|
|
+ port@0 {
|
|
+ reg = <0>;
|
|
+ pm8150b_hs_in: endpoint {
|
|
+ remote-endpoint = <&usb_1_dwc3_hs_out>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ port@1 {
|
|
+ reg = <1>;
|
|
+ pm8150b_typec_mux_in: endpoint {
|
|
+ remote-endpoint = <&redriver_usb_con_ss>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ port@2 {
|
|
+ reg = <2>;
|
|
+
|
|
+ pm8150b_typec_sbu_out: endpoint {
|
|
+ remote-endpoint = <&fsa4480_sbu_mux>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&pm8150b_vbus {
|
|
+ regulator-min-microamp = <500000>;
|
|
+ regulator-max-microamp = <3000000>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pon_pwrkey {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pon_resin {
|
|
+ status = "okay";
|
|
+
|
|
+ linux,code = <KEY_VOLUMEDOWN>;
|
|
+};
|
|
+
|
|
+&qup_spi13_cs_gpio {
|
|
+ drive-strength = <6>;
|
|
+ bias-disable;
|
|
+};
|
|
+
|
|
+&qup_spi13_data_clk {
|
|
+ drive-strength = <6>;
|
|
+ bias-disable;
|
|
+};
|
|
+
|
|
+&qupv3_id_0 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&qupv3_id_1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&qupv3_id_2 {
|
|
+ status = "okay";
|
|
+};
|
|
+// &q6asmdai {
|
|
+// dai@0 {
|
|
+// reg = <0>;
|
|
+// };
|
|
+
|
|
+// dai@1 {
|
|
+// reg = <1>;
|
|
+// };
|
|
+
|
|
+// dai@2 {
|
|
+// reg = <2>;
|
|
+// };
|
|
+
|
|
+// dai@3 {
|
|
+// reg = <3>;
|
|
+// };
|
|
+
|
|
+// dai@4 {
|
|
+// reg = <4>;
|
|
+// };
|
|
+
|
|
+// dai@5 {
|
|
+// reg = <5>;
|
|
+// };
|
|
+// };
|
|
+&sdhc_2 {
|
|
+ status = "okay";
|
|
+
|
|
+ cd-gpios = <&tlmm 77 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default", "sleep";
|
|
+ pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>;
|
|
+ pinctrl-1 = <&sdc2_sleep_state &sdc2_card_det_n>;
|
|
+ vmmc-supply = <&vreg_l9c_2p96>;
|
|
+ vqmmc-supply = <&vreg_l6c_2p96>;
|
|
+ no-sdio;
|
|
+ no-mmc;
|
|
+};
|
|
+
|
|
+&q6afedai {
|
|
+ // dai@24 {
|
|
+ // reg = <PRIMARY_TDM_RX_0>;
|
|
+ // qcom,tdm-sync-mode = <0>;
|
|
+ // qcom,tdm-sync-src = <1>;
|
|
+ // qcom,tdm-data-out = <0>;
|
|
+ // qcom,tdm-invert-sync = <1>;
|
|
+ // qcom,tdm-data-delay = <1>;
|
|
+ // qcom,tdm-data-align = <0>;
|
|
+ // };
|
|
+ dai@24 {
|
|
+ reg = <PRIMARY_TDM_RX_0>;
|
|
+ qcom,tdm-sync-mode = <0>;
|
|
+ qcom,tdm-sync-src = <1>;
|
|
+ qcom,tdm-data-out = <0>;
|
|
+ qcom,tdm-invert-sync = <0>;
|
|
+ qcom,tdm-data-delay = <1>;
|
|
+ qcom,tdm-data-align = <0>;
|
|
+ };
|
|
+ // dai@56 {
|
|
+ // reg = <TERTIARY_TDM_RX_0>;
|
|
+ // qcom,tdm-sync-mode = <0>;
|
|
+ // qcom,tdm-sync-src = <1>;
|
|
+ // qcom,tdm-data-out = <0>;
|
|
+ // qcom,tdm-invert-sync = <1>;
|
|
+ // qcom,tdm-data-delay = <1>;
|
|
+ // qcom,tdm-data-align = <0>;
|
|
+ // };
|
|
+};
|
|
+
|
|
+&q6asmdai {
|
|
+ dai@0 {
|
|
+ reg = <0>;
|
|
+ };
|
|
+};
|
|
+
|
|
+
|
|
+&slpi {
|
|
+ status = "okay";
|
|
+ firmware-name = "qcom/sm8250/q706f/slpi.mbn";
|
|
+};
|
|
+
|
|
+// &rxmacro {
|
|
+// status = "okay";
|
|
+// };
|
|
+
|
|
+&sound {
|
|
+ compatible = "qcom,sm8250-sndcard";
|
|
+ model = "Xiaoxin Pad Pro";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&pri_tdm_active>;
|
|
+ // pinctrl-0 = <&tert_tdm_active>;
|
|
+ mm1-dai-link {
|
|
+ link-name = "MultiMedia1";
|
|
+
|
|
+ cpu {
|
|
+ sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ speaker-dai-link {
|
|
+ link-name = "Primary TDM Playback";
|
|
+
|
|
+ cpu {
|
|
+ sound-dai = <&q6afedai PRIMARY_TDM_RX_0>;
|
|
+ };
|
|
+
|
|
+ platform {
|
|
+ sound-dai = <&q6routing>;
|
|
+ };
|
|
+
|
|
+ codec {
|
|
+ sound-dai = <&cs35l45_spk1 0>, <&cs35l45_spk2 0>,
|
|
+ <&cs35l41_spk3 0>, <&cs35l41_spk4 0>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+// &sound {
|
|
+// compatible = "qcom,sm8250-sndcard";
|
|
+// model = "Xiaoxin Pad Pro";
|
|
+
|
|
+// mm1-dai-link {
|
|
+// link-name = "MultiMedia1";
|
|
+// cpu {
|
|
+// sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
|
|
+// };
|
|
+// };
|
|
+
|
|
+// mm2-dai-link {
|
|
+// link-name = "MultiMedia2";
|
|
+// cpu {
|
|
+// sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
|
|
+// };
|
|
+// };
|
|
+
|
|
+// mm3-dai-link {
|
|
+// link-name = "MultiMedia3";
|
|
+// cpu {
|
|
+// sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
|
|
+// };
|
|
+// };
|
|
+
|
|
+// wcd-playback-dai-link {
|
|
+// link-name = "WCD Playback";
|
|
+// cpu {
|
|
+// sound-dai = <&q6afedai RX_CODEC_DMA_RX_0>;
|
|
+// };
|
|
+// codec {
|
|
+// sound-dai = <&wcd938x 0>, <&swr1 0>, <&rxmacro 0>;
|
|
+// };
|
|
+// platform {
|
|
+// sound-dai = <&q6routing>;
|
|
+// };
|
|
+// };
|
|
+
|
|
+// wcd-capture-dai-link {
|
|
+// link-name = "WCD Capture";
|
|
+// cpu {
|
|
+// sound-dai = <&q6afedai TX_CODEC_DMA_TX_3>;
|
|
+// };
|
|
+
|
|
+// codec {
|
|
+// sound-dai = <&wcd938x 1>, <&swr2 0>, <&txmacro 0>;
|
|
+// };
|
|
+// platform {
|
|
+// sound-dai = <&q6routing>;
|
|
+// };
|
|
+// };
|
|
+
|
|
+// wsa-dai-link {
|
|
+// link-name = "WSA Playback";
|
|
+// cpu {
|
|
+// sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>;
|
|
+// };
|
|
+
|
|
+// codec {
|
|
+// sound-dai = <&wsamacro 0>, <&cs35l45_spk1 0>,<&cs35l45_spk2 0>;
|
|
+// };
|
|
+// platform {
|
|
+// sound-dai = <&q6routing>;
|
|
+// };
|
|
+// };
|
|
+
|
|
+// va-dai-link {
|
|
+// link-name = "VA Capture";
|
|
+// cpu {
|
|
+// sound-dai = <&q6afedai VA_CODEC_DMA_TX_0>;
|
|
+// };
|
|
+
|
|
+// platform {
|
|
+// sound-dai = <&q6routing>;
|
|
+// };
|
|
+
|
|
+// codec {
|
|
+// sound-dai = <&vamacro 0>;
|
|
+// };
|
|
+// };
|
|
+// };
|
|
+&spi13 {
|
|
+ status = "okay";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&qup_spi13_data_clk>, <&qup_spi13_cs>;
|
|
+ cs-gpios = <&tlmm 39 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ touchscreen@0 {
|
|
+ compatible = "goodix,gt9916";// change to gt6975p
|
|
+ reg = <0>;
|
|
+
|
|
+ interrupt-parent = <&tlmm>;
|
|
+ interrupts = <31 IRQ_TYPE_LEVEL_LOW>;
|
|
+
|
|
+ reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>;
|
|
+
|
|
+ avdd-supply = <&vreg_l7c_ts_3p0>;
|
|
+ // vddio-supply = <&ts_1p8_supply>;
|
|
+
|
|
+ spi-max-frequency = <1000000>;
|
|
+
|
|
+ touchscreen-size-x = <2560>;
|
|
+ touchscreen-size-y = <1600>;
|
|
+
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&ts_irq>, <&ts_reset>;
|
|
+ };
|
|
+};
|
|
+
|
|
+// &swr0 {
|
|
+// status = "okay";
|
|
+
|
|
+// left_spkr: speaker@0,3 {
|
|
+// compatible = "sdw10217211000";
|
|
+// reg = <0 3>;
|
|
+// powerdown-gpios = <&tlmm 26 GPIO_ACTIVE_LOW>;
|
|
+// #thermal-sensor-cells = <0>;
|
|
+// sound-name-prefix = "SpkrLeft";
|
|
+// #sound-dai-cells = <0>;
|
|
+// };
|
|
+
|
|
+// right_spkr: speaker@0,4 {
|
|
+// compatible = "sdw10217211000";
|
|
+// reg = <0 4>;
|
|
+// powerdown-gpios = <&tlmm 127 GPIO_ACTIVE_LOW>;
|
|
+// #thermal-sensor-cells = <0>;
|
|
+// sound-name-prefix = "SpkrRight";
|
|
+// #sound-dai-cells = <0>;
|
|
+// };
|
|
+// };
|
|
+
|
|
+// &swr1 {
|
|
+// status = "okay";
|
|
+
|
|
+// wcd_rx: wcd9380-rx@0,4 {
|
|
+// compatible = "sdw20217010d00";
|
|
+// reg = <0 4>;
|
|
+// qcom,rx-port-mapping = <1 2 3 4 5>;
|
|
+// };
|
|
+// };
|
|
+
|
|
+// &swr2 {
|
|
+// status = "okay";
|
|
+
|
|
+// wcd_tx: wcd9380-tx@0,3 {
|
|
+// compatible = "sdw20217010d00";
|
|
+// reg = <0 3>;
|
|
+// qcom,tx-port-mapping = <2 3 4 5>;
|
|
+// };
|
|
+// };
|
|
+&tlmm {
|
|
+ gpio-reserved-ranges = <40 4>;
|
|
+
|
|
+ pri_tdm_active: pri-tdm-active-state {
|
|
+ sck-pins {
|
|
+ pins = "gpio138";
|
|
+ function = "mi2s0_sck";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ din-pins {
|
|
+ pins = "gpio139";
|
|
+ function = "mi2s0_data0";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ };
|
|
+
|
|
+ ws-pins {
|
|
+ pins = "gpio141";
|
|
+ function = "mi2s0_ws";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ dout-pins {
|
|
+ pins = "gpio140";
|
|
+ function = "mi2s0_data1";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ tert_tdm_active: tert-tdm-active-state {
|
|
+ sck-pins {
|
|
+ pins = "gpio133";
|
|
+ function = "mi2s2_sck";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ din-pins {
|
|
+ pins = "gpio134";
|
|
+ function = "mi2s2_data0";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ };
|
|
+
|
|
+ ws-pins {
|
|
+ pins = "gpio135";
|
|
+ function = "mi2s2_ws";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ dout-pins {
|
|
+ pins = "gpio137";
|
|
+ function = "mi2s2_data1";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ cam0_default: cam0-default-state {
|
|
+ mclk0-pins {
|
|
+ pins = "gpio94";
|
|
+ function = "cam_mclk";
|
|
+
|
|
+ drive-strength = <16>;
|
|
+ bias-disable;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ spkr_1_sd_n_active: spkr-1-sd-n-active {
|
|
+ pins = "gpio26";
|
|
+ function = "gpio";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ cs35l45_1_irq_default: cs35l45-1-irq-default {
|
|
+ pins = "gpio24";
|
|
+ function = "gpio";
|
|
+ drive-strength = <0x02>;
|
|
+ bias-pull-up;
|
|
+ input-enable;
|
|
+ };
|
|
+
|
|
+ cs35l45_2_irq_default: cs35l45-2-irq-default {
|
|
+ pins = "gpio51";
|
|
+ function = "gpio";
|
|
+ drive-strength = <0x02>;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+
|
|
+ cs35l45_3_irq_default: cs35l45-3-irq-default {
|
|
+ pins = "gpio100";
|
|
+ function = "gpio";
|
|
+ drive-strength = <0x02>;
|
|
+ bias-pull-up;
|
|
+ input-enable;
|
|
+ };
|
|
+
|
|
+ cs35l45_4_irq_default: cs35l45-4-irq-default {
|
|
+ pins = "gpio93";
|
|
+ function = "gpio";
|
|
+ drive-strength = <0x02>;
|
|
+ bias-pull-up;
|
|
+ input-enable;
|
|
+ };
|
|
+
|
|
+ cs35l45_reset_default: cs35l45-reset-default {
|
|
+ pins = "gpio127";
|
|
+ // drive-strength = <0x02>;
|
|
+ // bias-pull-up;
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ cs35l45_1v8_enable: cs35l45-1v8-enable {
|
|
+ pins = "gpio49";
|
|
+ drive-strength = <0x10>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ bt_en_state: bt-default-state {
|
|
+ pins = "gpio21";
|
|
+ function = "gpio";
|
|
+ drive-strength = <16>;
|
|
+ output-low;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+
|
|
+ wlan_en_state: wlan-default-state {
|
|
+ pins = "gpio20";
|
|
+ function = "gpio";
|
|
+ drive-strength = <16>;
|
|
+ output-low;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+
|
|
+ panel_reset_pins: panel-reset-state {
|
|
+ pins = "gpio75";
|
|
+ function = "gpio";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ panel_vsync_pins: panel-vsync-state {
|
|
+ pins = "gpio66";
|
|
+ function = "mdp_vsync";
|
|
+ drive-strength = <2>;
|
|
+ bias-pull-down;
|
|
+ };
|
|
+
|
|
+ panel_vout_pins: panel-vout-state {
|
|
+ pins = "gpio24";
|
|
+ function = "gpio";
|
|
+ drive-strength = <16>;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ sdc2_default_state: sdc2-default-state {
|
|
+ clk-pins {
|
|
+ pins = "sdc2_clk";
|
|
+ drive-strength = <16>;
|
|
+ bias-disable;
|
|
+ };
|
|
+
|
|
+ cmd-pins {
|
|
+ pins = "sdc2_cmd";
|
|
+ drive-strength = <16>;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+
|
|
+ data-pins {
|
|
+ pins = "sdc2_data";
|
|
+ drive-strength = <16>;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ ts_pwr_en: ts-pwr-en {
|
|
+ pins = "gpio130";
|
|
+ function = "gpio";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ ts_irq: ts-irq-state {
|
|
+ pins = "gpio31";
|
|
+ function = "gpio";
|
|
+ drive-strength = <8>;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+
|
|
+ ts_reset: ts-reset-state {
|
|
+ pins = "gpio30";
|
|
+ function = "gpio";
|
|
+ drive-strength = <8>;
|
|
+ bias-pull-up;
|
|
+ };
|
|
+
|
|
+ sd_pwr_en: sd-power {
|
|
+ pins = "gpio114";
|
|
+ function = "gpio";
|
|
+ drive-strength = <8>;
|
|
+ bias-disable;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ sdc2_card_det_n: sd-card-det-n-state {
|
|
+ pins = "gpio77";
|
|
+ function = "gpio";
|
|
+ bias-pull-up;
|
|
+ drive-strength = <2>;
|
|
+ };
|
|
+
|
|
+ muic_i2c_default: muic-i2c-default-state {
|
|
+ pins = "gpio12", "gpio13";
|
|
+ function = "gpio";
|
|
+
|
|
+ drive-strength = <2>;
|
|
+ bias-disable;
|
|
+ };
|
|
+ wcd938x_reset_default: wcd938x-reset-default-state {
|
|
+ pins = "gpio32";
|
|
+ function = "gpio";
|
|
+ drive-strength = <16>;
|
|
+ output-high;
|
|
+ };
|
|
+
|
|
+ wcd938x_reset_sleep: wcd938x-reset-sleep-state {
|
|
+ pins = "gpio32";
|
|
+ function = "gpio";
|
|
+ drive-strength = <16>;
|
|
+ bias-disable;
|
|
+ output-low;
|
|
+ };
|
|
+};
|
|
+// &txmacro {
|
|
+// status = "okay";
|
|
+// };
|
|
+// &wsamacro {
|
|
+// status = "okay";
|
|
+// };
|
|
+
|
|
+&uart6 {
|
|
+ status = "okay";
|
|
+
|
|
+ bluetooth {
|
|
+ compatible = "qcom,qca6390-bt";
|
|
+
|
|
+ vddrfacmn-supply = <&vreg_pmu_rfa_cmn>;
|
|
+ vddaon-supply = <&vreg_pmu_aon_0p59>;
|
|
+ vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>;
|
|
+ vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>;
|
|
+ vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>;
|
|
+ vddrfa1p7-supply = <&vreg_pmu_rfa_1p7>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&ufs_mem_hc {
|
|
+ status = "okay";
|
|
+
|
|
+ vcc-supply = <&vreg_l17a_3p0>;
|
|
+ vcc-max-microamp = <800000>;
|
|
+ vccq-supply = <&vreg_l6a_1p2>;
|
|
+ vccq-max-microamp = <800000>;
|
|
+ vccq2-supply = <&vreg_s4a_1p8>;
|
|
+ vccq2-max-microamp = <800000>;
|
|
+};
|
|
+
|
|
+&ufs_mem_phy {
|
|
+ status = "okay";
|
|
+
|
|
+ vdda-phy-supply = <&vreg_l5a_0p88>;
|
|
+ vdda-pll-supply = <&vreg_l9a_1p2>;
|
|
+};
|
|
+
|
|
+&usb_1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_1_dwc3 {
|
|
+ dr_mode = "otg";
|
|
+ usb-role-switch;
|
|
+ maximum-speed = "super-speed-plus-gen2x2";
|
|
+};
|
|
+
|
|
+&usb_1_dwc3_hs_out {
|
|
+ remote-endpoint = <&pm8150b_hs_in>;
|
|
+};
|
|
+
|
|
+&usb_1_hsphy {
|
|
+ status = "okay";
|
|
+
|
|
+ vdda-pll-supply = <&vreg_l5a_0p88>;
|
|
+ vdda33-supply = <&vreg_l2a_3p1>;
|
|
+ vdda18-supply = <&vreg_l12a_1p8>;
|
|
+};
|
|
+
|
|
+&usb_1_qmpphy {
|
|
+ status = "okay";
|
|
+
|
|
+ vdda-phy-supply = <&vreg_l9a_1p2>;
|
|
+ vdda-pll-supply = <&vreg_l18a_0p92>;
|
|
+};
|
|
+
|
|
+&usb_1_qmpphy_dp_in {
|
|
+ remote-endpoint = <&mdss_dp_out>;
|
|
+};
|
|
+
|
|
+&usb_1_qmpphy_out {
|
|
+ remote-endpoint = <&redriver_phy_con_ss>;
|
|
+};
|
|
+
|
|
+&venus {
|
|
+ firmware-name = "qcom/sm8250/q706f/venus.mbn";
|
|
+ status = "okay";
|
|
+};
|
|
--
|
|
2.47.3
|
|
|