diff --git a/.github/workflows/maintenance-auto-label.yml b/.github/workflows/maintenance-auto-label.yml index 08c1b9366649..03370bd42cdf 100644 --- a/.github/workflows/maintenance-auto-label.yml +++ b/.github/workflows/maintenance-auto-label.yml @@ -63,7 +63,7 @@ jobs: steps: # Automatically adds size labels based on total changed lines - name: Label by size - uses: pascalgn/size-label-action@v0.5.5 + uses: pascalgn/size-label-action@v0.5.7 env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" with: diff --git a/config/kernel/linux-meson64-current.config b/config/kernel/linux-meson64-current.config index 706545ebc8d7..afeb8a40cf6a 100644 --- a/config/kernel/linux-meson64-current.config +++ b/config/kernel/linux-meson64-current.config @@ -7,7 +7,6 @@ CONFIG_HIGH_RES_TIMERS=y CONFIG_BPF_SYSCALL=y CONFIG_BPF_JIT=y CONFIG_BPF_JIT_ALWAYS_ON=y -# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set CONFIG_BPF_LSM=y CONFIG_PREEMPT=y CONFIG_IRQ_TIME_ACCOUNTING=y @@ -238,28 +237,25 @@ CONFIG_NFT_REJECT_NETDEV=m CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m CONFIG_NETFILTER_XTABLES_COMPAT=y +CONFIG_NETFILTER_XTABLES_LEGACY=y CONFIG_NETFILTER_XT_SET=m CONFIG_NETFILTER_XT_TARGET_AUDIT=m CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m -CONFIG_NETFILTER_XT_TARGET_CT=m CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HL=m CONFIG_NETFILTER_XT_TARGET_HMARK=m CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m CONFIG_NETFILTER_XT_TARGET_LED=m CONFIG_NETFILTER_XT_TARGET_LOG=m CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_NAT=m -CONFIG_NETFILTER_XT_TARGET_NETMAP=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m +CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_TEE=m CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m @@ -359,7 +355,13 @@ CONFIG_IP_NF_MATCH_RPFILTER=m CONFIG_IP_NF_MATCH_TTL=m CONFIG_IP_NF_TARGET_REJECT=m CONFIG_IP_NF_TARGET_SYNPROXY=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m CONFIG_IP_NF_ARP_MANGLE=m CONFIG_NFT_DUP_IPV6=m CONFIG_NFT_FIB_IPV6=m @@ -374,14 +376,23 @@ CONFIG_IP6_NF_MATCH_MH=m CONFIG_IP6_NF_MATCH_RPFILTER=m CONFIG_IP6_NF_MATCH_RT=m CONFIG_IP6_NF_MATCH_SRH=m +CONFIG_IP6_NF_TARGET_HL=m CONFIG_IP6_NF_TARGET_REJECT=m CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m CONFIG_IP6_NF_TARGET_NPT=m CONFIG_NF_TABLES_BRIDGE=m CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m CONFIG_NF_CONNTRACK_BRIDGE=m +CONFIG_BRIDGE_NF_EBTABLES_LEGACY=m CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m CONFIG_BRIDGE_EBT_802_3=m CONFIG_BRIDGE_EBT_AMONG=m CONFIG_BRIDGE_EBT_ARP=m diff --git a/config/sources/mainline-kernel.conf.sh b/config/sources/mainline-kernel.conf.sh index f05413280ff3..20cf8d51e9b9 100644 --- a/config/sources/mainline-kernel.conf.sh +++ b/config/sources/mainline-kernel.conf.sh @@ -8,7 +8,7 @@ function mainline_kernel_decide_version__upstream_release_candidate_number() { [[ -n "${KERNELBRANCH}" ]] && return 0 # if already set, don't touch it; that way other hooks can run in any order if [[ "${KERNEL_MAJOR_MINOR}" == "7.0" ]]; then # @TODO: roll over to next MAJOR.MINOR and MAJOR.MINOR-rc1 when it is released - declare -g KERNELBRANCH="tag:v7.0-rc4" + declare -g KERNELBRANCH="tag:v7.0-rc5" display_alert "mainline-kernel: upstream release candidate" "Using KERNELBRANCH='${KERNELBRANCH}' for KERNEL_MAJOR_MINOR='${KERNEL_MAJOR_MINOR}'" "info" fi } @@ -24,15 +24,15 @@ function mainline_kernel_decide_version__upstream_release_candidate_number() { ### Later-than-usual hooks, for changing parameters after the hooks above have run. use mainline_kernel_decide_version__750 or higher. -# # Example: 6.7-rc7 was released by Linus, but kernel.org git and google git mirrors took a while to catch up; change the source to pull directly from Linus. -# # This was necessary for a few days in late December 2023, but no longer; tag was pushed on 28/Dec/2023. -# function mainline_kernel_decide_version__750_use_torvalds_for_6.7-rc7() { -# if [[ "${KERNELBRANCH}" == 'tag:v7.0-rc4' ]]; then -# display_alert "Using Linus kernel repo for 6.7-rc7" "${KERNELBRANCH}" "warn" -# declare -g KERNELSOURCE="https://github.com/torvalds/linux.git" -# display_alert "mainline-kernel: missing torvalds tag on 6.7-rc7" "Using KERNELSOURCE='${KERNELSOURCE}' for KERNELBRANCH='${KERNELBRANCH}'" "info" -# fi -# } + # Example: 6.7-rc7 was released by Linus, but kernel.org git and google git mirrors took a while to catch up; change the source to pull directly from Linus. + # This was necessary for a few days in late December 2023, but no longer; tag was pushed on 28/Dec/2023. + function mainline_kernel_decide_version__750_use_torvalds_for_7.0-rc5() { + if [[ "${KERNELBRANCH}" == 'tag:v7.0-rc5' ]]; then + display_alert "Using Linus kernel repo for 7.0-rc5" "${KERNELBRANCH}" "warn" + declare -g KERNELSOURCE="https://github.com/torvalds/linux.git" + display_alert "mainline-kernel: missing torvalds tag on 7.0-rc5" "Using KERNELSOURCE='${KERNELSOURCE}' for KERNELBRANCH='${KERNELBRANCH}'" "info" + fi + } ### Last hooks, defaults to branch if not set by previous hooks. Use mainline_kernel_decide_version__900 or higher. function mainline_kernel_decide_version__900_defaults() { diff --git a/patch/kernel/archive/sm8250-6.19/0070-arm64-dts-qcom-add-SM8250-Retroid-Pocket-variant-Sig.patch b/patch/kernel/archive/sm8250-6.19/0070-arm64-dts-qcom-add-SM8250-Retroid-Pocket-variant-Sig.patch deleted file mode 100644 index b8e0b21a29c4..000000000000 --- a/patch/kernel/archive/sm8250-6.19/0070-arm64-dts-qcom-add-SM8250-Retroid-Pocket-variant-Sig.patch +++ /dev/null @@ -1,1666 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Teguh Sobirin -Date: Mon, 25 Nov 2024 02:19:13 +0700 -Subject: arm64: dts: qcom: add SM8250 Retroid Pocket variant Signed-off-by: - Teguh Sobirin - ---- - arch/arm64/boot/dts/qcom/sm8250-retroidpocket-common.dtsi | 1435 ++++++++++ - arch/arm64/boot/dts/qcom/sm8250-retroidpocket-rp5.dts | 100 + - arch/arm64/boot/dts/qcom/sm8250-retroidpocket-rpmini.dts | 98 + - 3 files changed, 1633 insertions(+) - -diff --git a/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-common.dtsi b/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-common.dtsi -new file mode 100644 -index 000000000000..111111111111 ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-common.dtsi -@@ -0,0 +1,1435 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2024, Retroid Pocket. -+ */ -+ -+/dts-v1/; -+ -+#include -+#include -+#include -+#include -+#include -+#include "sm8250.dtsi" -+#include "pm8150.dtsi" -+#include "pm8150b.dtsi" -+#include "pm8150l.dtsi" -+ -+/ { -+ qcom,msm-id = <356 0x20001>; -+ qcom,board-id = <0x01001F 0x01>; -+ -+ aliases { -+ serial0 = &uart12; -+ serial1 = &uart6; -+ serial2 = &uart16; -+ sdhc2 = &sdhc_2; -+ }; -+ -+ battery: battery { -+ compatible = "simple-battery"; -+ -+ charge-full-design-microamp-hours = <3850000>; -+ voltage-min-design-microvolt = <3600000>; -+ voltage-max-design-microvolt = <4400000>; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+ -+ fan: pwm-fan { -+ compatible = "pwm-fan"; -+ cooling-levels = <0 32 64 128 255>; -+ #cooling-cells = <2>; -+ fan-supply = <&vreg_fan_pwr>; -+ pwms = <&pm8150l_lpg 3 100000>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&fan_pwm_active>; -+ }; -+ -+ gpio-keys { -+ compatible = "gpio-keys"; -+ -+ key-vol-up { -+ label = "Volume Up"; -+ linux,code = ; -+ gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>; -+ }; -+ }; -+ -+ thermal-zones { -+ conn-thermal { -+ thermal-sensors = <&pm8150b_adc_tm 0>; -+ -+ trips { -+ active-config0 { -+ temperature = <125000>; -+ hysteresis = <1000>; -+ type = "critical"; -+ }; -+ }; -+ }; -+ -+ pm8150l-pcb-thermal { -+ thermal-sensors = <&pm8150l_adc_tm 1>; -+ -+ trips { -+ active-config0 { -+ temperature = <50000>; -+ hysteresis = <4000>; -+ type = "passive"; -+ }; -+ }; -+ }; -+ -+ skin-msm-thermal { -+ thermal-sensors = <&pm8150l_adc_tm 0>; -+ -+ trips { -+ active-config0 { -+ temperature = <50000>; -+ hysteresis = <4000>; -+ type = "passive"; -+ }; -+ }; -+ }; -+ -+ wifi-thermal { -+ thermal-sensors = <&pm8150_adc_tm 1>; -+ -+ trips { -+ active-config0 { -+ temperature = <52000>; -+ hysteresis = <4000>; -+ type = "passive"; -+ }; -+ }; -+ }; -+ -+ xo-thermal { -+ thermal-sensors = <&pm8150_adc_tm 0>; -+ -+ trips { -+ active-config0 { -+ temperature = <50000>; -+ hysteresis = <4000>; -+ type = "passive"; -+ }; -+ }; -+ }; -+ }; -+ -+ vbat: vbat-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "VBAT"; -+ vin-supply = <&vreg_l11c_3p3>; -+ regulator-min-microvolt = <4200000>; -+ regulator-max-microvolt = <4200000>; -+ regulator-always-on; -+ }; -+ -+ vdc_3v3: vdc-3v3-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDC_3V3"; -+ vin-supply = <&vreg_l11c_3p3>; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ }; -+ -+ vdc_5v: vdc-5v-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "VDC_5V"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ regulator-always-on; -+ vin-supply = <&vreg_l11c_3p3>; -+ }; -+ -+ vdda_panel: vdda-panel-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vdda_panel"; -+ -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ -+ gpio = <&tlmm 4 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ regulator-boot-on; -+ }; -+ -+ vph_pwr: vph-pwr-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vph_pwr"; -+ regulator-min-microvolt = <3700000>; -+ regulator-max-microvolt = <3700000>; -+ regulator-always-on; -+ }; -+ -+ vreg_s4a_1p8: vreg-s4a-1p8 { -+ compatible = "regulator-fixed"; -+ regulator-name = "vreg_s4a_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ regulator-boot-on; -+ vin-supply = <&vph_pwr>; -+ }; -+ -+ vreg_fan_pwr: vreg-fan-pwr-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vreg_fan_pwr"; -+ -+ regulator-min-microvolt = <5000000>; -+ regulator-max-microvolt = <5000000>; -+ -+ gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; -+ enable-active-high; -+ -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vreg_mcu_3v3: vreg-mcu-3v3-regulator { -+ compatible = "regulator-fixed"; -+ regulator-name = "vreg_mcu_3v3"; -+ -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ -+ gpio = <&tlmm 3 GPIO_ACTIVE_HIGH>; -+ regulator-always-on; -+ regulator-boot-on; -+ enable-active-high; -+ }; -+ -+ qca6390-pmu { -+ compatible = "qcom,qca6390-pmu"; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&bt_en_state>, <&wlan_en_state>; -+ -+ vddaon-supply = <&vreg_s6a_0p95>; -+ vddrfa1p3-supply = <&vreg_s8c_1p3>; -+ vddrfa1p9-supply = <&vreg_s5a_1p9>; -+ vddpcie1p3-supply = <&vreg_s8c_1p3>; -+ 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"; -+ }; -+ }; -+ }; -+ -+ wcd938x: audio-codec { -+ compatible = "qcom,wcd9385-codec"; -+ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&wcd_default>; -+ -+ 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>; -+ }; -+ -+ reserved-memory { -+ cont_splash_mem: splash_region@9c000000 { -+ reg = <0x0 0x9c000000 0x0 0x2300000>; -+ no-map; -+ }; -+ }; -+}; -+ -+&adsp { -+ status = "okay"; -+ firmware-name = "qcom/sm8250/adsp.mbn"; -+}; -+ -+&apps_rsc { -+ regulators-0 { -+ 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-l2-l10-supply = <&vreg_bob>; -+ vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>; -+ vdd-l6-l9-supply = <&vreg_s8c_1p3>; -+ vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>; -+ vdd-l13-l16-l17-supply = <&vreg_bob>; -+ -+ vreg_l2a_3p1: ldo2 { -+ regulator-name = "vreg_l2a_3p1"; -+ regulator-min-microvolt = <3072000>; -+ regulator-max-microvolt = <3072000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l3a_0p9: ldo3 { -+ regulator-name = "vreg_l3a_0p9"; -+ regulator-min-microvolt = <928000>; -+ regulator-max-microvolt = <932000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l5a_0p88: ldo5 { -+ regulator-name = "vreg_l5a_0p88"; -+ regulator-min-microvolt = <880000>; -+ regulator-max-microvolt = <880000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l6a_1p2: ldo6 { -+ regulator-name = "vreg_l6a_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l7a_1p7: ldo7 { -+ regulator-name = "vreg_l7a_1p7"; -+ regulator-min-microvolt = <1704000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l9a_1p2: ldo9 { -+ regulator-name = "vreg_l9a_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l10a_1p8: ldo10 { -+ regulator-name = "vreg_l10a_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l12a_1p8: ldo12 { -+ regulator-name = "vreg_l12a_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l13a_ts_3p0: ldo13 { -+ regulator-name = "vreg_l13a_ts_3p0"; -+ regulator-min-microvolt = <3008000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l14a_1p8: ldo14 { -+ regulator-name = "vreg_l14a_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1880000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l15a_1p8: ldo15 { -+ regulator-name = "vreg_l15a_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l16a_2p7: ldo16 { -+ regulator-name = "vreg_l16a_2p7"; -+ regulator-min-microvolt = <2704000>; -+ regulator-max-microvolt = <2960000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l17a_3p0: ldo17 { -+ regulator-name = "vreg_l17a_3p0"; -+ regulator-min-microvolt = <2856000>; -+ regulator-max-microvolt = <3008000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l18a_0p92: ldo18 { -+ regulator-name = "vreg_l18a_0p92"; -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <912000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s5a_1p9: smps5 { -+ regulator-name = "vreg_s5a_1p9"; -+ regulator-min-microvolt = <1904000>; -+ regulator-max-microvolt = <2000000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_s6a_0p95: smps6 { -+ regulator-name = "vreg_s6a_0p95"; -+ regulator-min-microvolt = <920000>; -+ regulator-max-microvolt = <1128000>; -+ regulator-initial-mode = ; -+ }; -+ }; -+ -+ regulators-1 { -+ 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_1p3>; -+ 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 = ; -+ }; -+ -+ vreg_l1c_1p8: ldo1 { -+ regulator-name = "vreg_l1c_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l2c_1p2: ldo2 { -+ regulator-name = "vreg_l2c_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l3c_1p2: ldo3 { -+ regulator-name = "vreg_l3c_1p2"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l4c_1p7: ldo4 { -+ regulator-name = "vreg_l4c_1p7"; -+ regulator-min-microvolt = <1704000>; -+ regulator-max-microvolt = <2928000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l5c_1p8: ldo5 { -+ regulator-name = "vreg_l5c_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <2928000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l6c_2p96: ldo6 { -+ regulator-name = "vreg_l6c_2p96"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <2960000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l7c_cam_vcm0_2p85: ldo7 { -+ regulator-name = "vreg_l7c_cam_vcm0_2p85"; -+ regulator-min-microvolt = <2856000>; -+ regulator-max-microvolt = <3104000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l8c_1p8: ldo8 { -+ regulator-name = "vreg_l8c_1p8"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l9c_2p96: ldo9 { -+ regulator-name = "vreg_l9c_2p96"; -+ regulator-min-microvolt = <2704000>; -+ regulator-max-microvolt = <2960000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l10c_3p0: ldo10 { -+ regulator-name = "vreg_l10c_3p0"; -+ regulator-min-microvolt = <3000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-initial-mode = ; -+ }; -+ -+ vreg_l11c_3p3: ldo11 { -+ regulator-name = "vreg_l11c_3p3"; -+ regulator-min-microvolt = <3296000>; -+ regulator-max-microvolt = <3296000>; -+ regulator-initial-mode = ; -+ regulator-always-on; -+ }; -+ -+ vreg_s8c_1p3: smps8 { -+ regulator-name = "vreg_s8c_1p3"; -+ regulator-min-microvolt = <1352000>; -+ regulator-max-microvolt = <1352000>; -+ regulator-initial-mode = ; -+ }; -+ }; -+}; -+ -+&cdsp { -+ status = "okay"; -+ firmware-name = "qcom/sm8250/cdsp.mbn"; -+}; -+ -+&gmu { -+ status = "okay"; -+}; -+ -+&gpu { -+ status = "okay"; -+ -+ zap-shader { -+ memory-region = <&gpu_mem>; -+ firmware-name = "qcom/sm8250/a650_zap.mbn"; -+ }; -+}; -+ -+&i2c3 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ htr3212r: led-controller@3c { -+ compatible = "heroic,htr3212"; -+ reg = <0x3c>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ sdb-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>; -+ vdd-supply = <&vreg_mcu_3v3>; -+ -+ ledr_b1: led@1 { -+ reg = <1>; -+ label = "r:b1"; -+ color = ; -+ }; -+ ledr_g1: led@2 { -+ reg = <2>; -+ label = "r:g1"; -+ color = ; -+ }; -+ ledr_r1: led@3 { -+ reg = <3>; -+ label = "r:r1"; -+ color = ; -+ }; -+ ledr_b2: led@4 { -+ reg = <4>; -+ label = "r:b2"; -+ color = ; -+ }; -+ ledr_g2: led@5 { -+ reg = <5>; -+ label = "r:g2"; -+ color = ; -+ }; -+ ledr_r2: led@6 { -+ reg = <6>; -+ label = "r:r2"; -+ color = ; -+ }; -+ ledr_b3: led@7 { -+ reg = <7>; -+ label = "r:b3"; -+ color = ; -+ }; -+ ledr_g3: led@8 { -+ reg = <8>; -+ label = "r:g3"; -+ color = ; -+ }; -+ ledr_r3: led@9 { -+ reg = <9>; -+ label = "r:r3"; -+ color = ; -+ }; -+ ledr_b4: led@10 { -+ reg = <10>; -+ label = "r:b4"; -+ color = ; -+ }; -+ ledr_g4: led@11 { -+ reg = <11>; -+ label = "r:g4"; -+ color = ; -+ }; -+ ledr_r4: led@12 { -+ reg = <12>; -+ label = "r:r4"; -+ color = ; -+ }; -+ }; -+}; -+ -+&i2c5 { -+ clock-frequency = <400000>; -+ status = "okay"; -+ -+ htr3212l: led-controller@3c { -+ compatible = "heroic,htr3212"; -+ reg = <0x3c>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ sdb-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; -+ vdd-supply = <&vreg_mcu_3v3>; -+ -+ ledl_b1: led@1 { -+ reg = <1>; -+ label = "l:b1"; -+ color = ; -+ }; -+ ledl_g1: led@2 { -+ reg = <2>; -+ label = "l:g1"; -+ color = ; -+ }; -+ ledl_r1: led@3 { -+ reg = <3>; -+ label = "l:r1"; -+ color = ; -+ }; -+ ledl_b2: led@4 { -+ reg = <4>; -+ label = "l:b2"; -+ color = ; -+ }; -+ ledl_g2: led@5 { -+ reg = <5>; -+ label = "l:g2"; -+ color = ; -+ }; -+ ledl_r2: led@6 { -+ reg = <6>; -+ label = "l:r2"; -+ color = ; -+ }; -+ ledl_b3: led@7 { -+ reg = <7>; -+ label = "l:b3"; -+ color = ; -+ }; -+ ledl_g3: led@8 { -+ reg = <8>; -+ label = "l:g3"; -+ color = ; -+ }; -+ ledl_r3: led@9 { -+ reg = <9>; -+ label = "l:r3"; -+ color = ; -+ }; -+ ledl_b4: led@10 { -+ reg = <10>; -+ label = "l:b4"; -+ color = ; -+ }; -+ ledl_g4: led@11 { -+ reg = <11>; -+ label = "l:g4"; -+ color = ; -+ }; -+ ledl_r4: led@12 { -+ reg = <12>; -+ label = "l:r4"; -+ color = ; -+ }; -+ }; -+}; -+ -+&i2c13 { -+ status = "okay"; -+ clock-frequency = <400000>; -+ -+ touchscreen@38 { -+ compatible = "focaltech,ft5452"; -+ reg = <0x38>; -+ -+ interrupt-parent = <&tlmm>; -+ interrupts = <39 IRQ_TYPE_EDGE_FALLING>; -+ reset-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; -+ -+ vcc-supply = <&vreg_l13a_ts_3p0>; -+ iovcc-supply = <&vreg_l1c_1p8>; -+ -+ pinctrl-0 = <&ts_int_active &ts_reset_active>; -+ pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; -+ pinctrl-names = "default", "sleep"; -+ -+ touchscreen-size-x = <960>; -+ touchscreen-size-y = <1280>; -+ }; -+}; -+ -+&i2c15 { -+ status = "okay"; -+ -+ typec-mux@1c { -+ compatible = "onnn,nb7vpq904m"; -+ reg = <0x1c>; -+ -+ enable-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>; -+ -+ 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>; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&mdss { -+ status = "okay"; -+}; -+ -+&mdss_dp { -+ status = "okay"; -+}; -+ -+&mdss_dp_out { -+ data-lanes = <0 1>; -+ remote-endpoint = <&usb_1_qmpphy_dp_in>; -+}; -+ -+&mdss_dsi0 { -+ status = "okay"; -+ vdda-supply = <&vreg_l9a_1p2>; -+ -+ panel@0 { -+ reg = <0>; -+ -+ reset-gpios = <&tlmm 75 GPIO_ACTIVE_HIGH>; -+ -+ vdd1v2-supply = <&vreg_l3c_1p2>; -+ vddio-supply = <&vreg_l14a_1p8>; -+ vdd-supply = <&vreg_l11c_3p3>; -+ avdd-supply = <&vdda_panel>; -+ -+ ports { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ port@0 { -+ reg = <0>; -+ -+ 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 { -+ status = "okay"; -+ vdds-supply = <&vreg_l5a_0p88>; -+}; -+ -+&pcie0 { -+ status = "okay"; -+}; -+ -+&pcie0_phy { -+ status = "okay"; -+ vdda-phy-supply = <&vreg_l5a_0p88>; -+ vdda-pll-supply = <&vreg_l9a_1p2>; -+}; -+ -+&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>; -+ }; -+}; -+ -+&pm8150_adc { -+ channel@4c { -+ reg = ; -+ qcom,ratiometric; -+ qcom,hw-settle-time = <200>; -+ label = "xo_therm"; -+ }; -+ -+ channel@4e { -+ reg = ; -+ qcom,ratiometric; -+ qcom,hw-settle-time = <200>; -+ label = "wifi_therm"; -+ }; -+}; -+ -+&pm8150_adc_tm { -+ status = "okay"; -+ -+ xo-therm@0 { -+ reg = <0>; -+ io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>; -+ qcom,ratiometric; -+ qcom,hw-settle-time-us = <200>; -+ }; -+ -+ wifi-therm@1 { -+ reg = <1>; -+ io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>; -+ qcom,ratiometric; -+ qcom,hw-settle-time-us = <200>; -+ }; -+}; -+ -+&pm8150b_adc { -+ channel@4f { -+ reg = ; -+ 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>; -+ }; -+}; -+ -+&pm8150b_charger { -+ monitored-battery = <&battery>; -+ status = "okay"; -+}; -+ -+&pm8150b_fg { -+ status = "okay"; -+ monitored-battery = <&battery>; -+ power-supplies = <&pm8150b_charger>; -+}; -+ -+&pm8150b_haptics { -+ status = "okay"; -+ qcom,boost-gpios = <&pm8150b_gpios 5 GPIO_ACTIVE_HIGH>; -+ qcom,wave-play-rate-us = <5882>; -+ qcom,actuator-type = ; -+}; -+ -+&pm8150b_typec { -+ status = "okay"; -+ -+ vdd-pdphy-supply = <&vreg_l2a_3p1>; -+ -+ connector { -+ compatible = "usb-c-connector"; -+ -+ power-role = "dual"; -+ data-role = "dual"; -+ try-power-role = "sink"; -+ self-powered; -+ -+ source-pdos = ; -+ -+ sink-pdos = ; -+ -+ op-sink-microwatt = <15000000>; -+ -+ 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 = <&redriver_usb_con_sbu>; -+ }; -+ }; -+ }; -+ }; -+}; -+ -+&pm8150b_vbus { -+ regulator-min-microamp = <500000>; -+ regulator-max-microamp = <3000000>; -+ status = "okay"; -+}; -+ -+&pm8150l_adc { -+ channel@4e { -+ reg = ; -+ qcom,ratiometric; -+ qcom,hw-settle-time = <200>; -+ label = "skin_msm_therm"; -+ }; -+ -+ channel@4f { -+ reg = ; -+ 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>; -+ }; -+}; -+ -+&pm8150l_gpios { -+ fan_pwm_active: fan-pwm-active-state { -+ pins = "gpio6"; -+ function = "func1"; -+ bias-disable; -+ power-source = <0>; -+ output-low; -+ qcom,drive-strength = <3>; -+ drive-push-pull; -+ }; -+}; -+ -+&pm8150l_lpg { -+ status = "okay"; -+}; -+ -+&pon_pwrkey { -+ status = "okay"; -+}; -+ -+&pon_resin { -+ status = "okay"; -+ -+ linux,code = ; -+}; -+ -+&q6asmdai { -+ dai@0 { -+ reg = <0>; -+ }; -+ -+ dai@1 { -+ reg = <1>; -+ }; -+ -+ dai@2 { -+ reg = <2>; -+ }; -+}; -+ -+&qupv3_id_0 { -+ status = "okay"; -+}; -+ -+&qupv3_id_1 { -+ status = "okay"; -+}; -+ -+&qupv3_id_2 { -+ status = "okay"; -+}; -+ -+&qup_uart16_default { -+ drive-strength = <16>; -+ bias-pull-up; -+}; -+ -+&rxmacro { -+ status = "okay"; -+}; -+ -+&sdhc_2 { -+ status = "okay"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; -+ vmmc-supply = <&vreg_l9c_2p96>; -+ vqmmc-supply = <&vreg_l6c_2p96>; -+ cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>; -+ bus-width = <4>; -+ no-sdio; -+ no-mmc; -+}; -+ -+&sound { -+ compatible = "qcom,sm8250-sndcard"; -+ model = "RetroidPocket"; -+ audio-routing = -+ "SpkrLeft IN", "WSA_SPK1 OUT", -+ "SpkrRight IN", "WSA_SPK2 OUT", -+ "IN1_HPHL", "HPHL_OUT", -+ "IN2_HPHR", "HPHR_OUT", -+ "MM_DL1", "MultiMedia1 Playback", -+ "MM_DL2", "MultiMedia2 Playback", -+ "MultiMedia3 Capture", "MM_UL3"; -+ -+ 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>; -+ }; -+ }; -+ -+ wsa-dai-link { -+ link-name = "WSA Playback"; -+ cpu { -+ sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>; -+ }; -+ -+ codec { -+ sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 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>; -+ }; -+ }; -+}; -+ -+&swr0 { -+ status = "okay"; -+ -+ left_spkr: speaker@0,1 { -+ compatible = "sdw10217201000"; -+ reg = <0 1>; -+ powerdown-gpios = <&tlmm 129 GPIO_ACTIVE_LOW>; -+ #thermal-sensor-cells = <0>; -+ sound-name-prefix = "SpkrLeft"; -+ #sound-dai-cells = <0>; -+ }; -+ -+ right_spkr: speaker@0,2 { -+ compatible = "sdw10217201000"; -+ reg = <0 2>; -+ powerdown-gpios = <&tlmm 127 GPIO_ACTIVE_LOW>; -+ #thermal-sensor-cells = <0>; -+ sound-name-prefix = "SpkrRight"; -+ #sound-dai-cells = <0>; -+ }; -+}; -+ -+&swr1 { -+ status = "okay"; -+ -+ wcd_rx: wcd9385-rx@0,4 { -+ compatible = "sdw20217010d00"; -+ reg = <0 4>; -+ qcom,rx-port-mapping = <1 2 3 4 5>; -+ }; -+}; -+ -+&swr2 { -+ status = "okay"; -+ -+ wcd_tx: wcd9385-tx@0,3 { -+ compatible = "sdw20217010d00"; -+ reg = <0 3>; -+ qcom,tx-port-mapping = <2 3 4 5>; -+ }; -+}; -+ -+&tlmm { -+ bt_en_state: bt-default-state { -+ pins = "gpio21"; -+ function = "gpio"; -+ drive-strength = <16>; -+ output-low; -+ bias-pull-up; -+ }; -+ -+ mcu_boot_default: mcu-boot-default-state { -+ pins = "gpio110"; -+ function = "gpio"; -+ bias-pull-down; -+ }; -+ -+ mcu_en_default: mcu-en-default-state { -+ pins = "gpio111"; -+ function = "gpio"; -+ bias-pull-down; -+ }; -+ -+ mcu_rst_default: mcu-rst-default-state { -+ pins = "gpio109"; -+ function = "gpio"; -+ bias-pull-down; -+ }; -+ -+ sdc2_default_state: sdc2-default-state { -+ clk-pins { -+ pins = "sdc2_clk"; -+ bias-disable; -+ drive-strength = <16>; -+ }; -+ -+ cmd-pins { -+ pins = "sdc2_cmd"; -+ bias-pull-up; -+ drive-strength = <10>; -+ }; -+ -+ data-pins { -+ pins = "sdc2_data"; -+ bias-pull-up; -+ drive-strength = <10>; -+ }; -+ }; -+ -+ sdc2_card_det_n: sd-card-det-n-state { -+ pins = "gpio77"; -+ function = "gpio"; -+ bias-pull-up; -+ }; -+ -+ ts_int_active: ts-int-active-state { -+ pins = "gpio39"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-pull-up; -+ }; -+ -+ ts_int_suspend: ts-int-suspend-state { -+ pins = "gpio39"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ ts_reset_active: ts-reset-active-state { -+ pins = "gpio38"; -+ function = "gpio"; -+ drive-strength = <8>; -+ bias-pull-up; -+ }; -+ -+ ts_reset_suspend: ts-reset-suspend-state { -+ pins = "gpio38"; -+ function = "gpio"; -+ drive-strength = <2>; -+ bias-pull-down; -+ }; -+ -+ wcd_default: wcd-default-state { -+ reset-pins { -+ pins = "gpio32"; -+ function = "gpio"; -+ bias-disable; -+ }; -+ }; -+ -+ wlan_en_state: wlan-default-state { -+ pins = "gpio20"; -+ function = "gpio"; -+ drive-strength = <16>; -+ output-low; -+ bias-pull-up; -+ }; -+}; -+ -+&txmacro { -+ 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>; -+ }; -+}; -+ -+&uart12 { -+ status = "okay"; -+}; -+ -+&uart16 { -+ status = "okay"; -+ -+ gamepad { -+ compatible = "ayn,odin2-gamepad"; -+ -+ gamepad-name = "Retroid Pocket Controller"; -+ gamepad-bus = <0x0003>; -+ gamepad-vid = <0x2020>; -+ gamepad-pid = <0x3001>; -+ gamepad-rev = <0x0001>; -+ -+ boot-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; -+ enable-gpios = <&tlmm 111 GPIO_ACTIVE_HIGH>; -+ reset-gpios = <&tlmm 109 GPIO_ACTIVE_HIGH>; -+ pinctrl-0 = <&mcu_boot_default &mcu_en_default &mcu_rst_default>; -+ pinctrl-names = "default"; -+ }; -+}; -+ -+&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; -+}; -+ -+&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 { -+ status = "okay"; -+}; -+ -+&wsamacro { -+ status = "okay"; -+}; -diff --git a/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-rp5.dts b/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-rp5.dts -new file mode 100644 -index 000000000000..111111111111 ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-rp5.dts -@@ -0,0 +1,100 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2024, Retroid Pocket. -+ */ -+ -+/dts-v1/; -+ -+#include "sm8250-retroidpocket-common.dtsi" -+ -+/ { -+ model = "Retroid Pocket 5"; -+ compatible = "retroidpocket,rp5", "qcom,sm8250"; -+ -+ chosen { -+ #address-cells = <2>; -+ #size-cells = <2>; -+ ranges; -+ -+ framebuffer: framebuffer@9c000000 { -+ compatible = "simple-framebuffer"; -+ reg = <0x0 0x9c000000 0x0 0x2300000>; -+ width = <1080>; -+ height = <1920>; -+ stride = <(1080 * 4)>; -+ format = "a8r8g8b8"; -+ }; -+ }; -+ -+ multi-ledr1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r1"; -+ leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; -+ }; -+ -+ multi-ledl1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l1"; -+ leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; -+ }; -+ -+ multi-ledr2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r2"; -+ leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; -+ }; -+ -+ multi-ledl2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l2"; -+ leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; -+ }; -+ -+ multi-ledr3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r3"; -+ leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; -+ }; -+ -+ multi-ledl3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l3"; -+ leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; -+ }; -+ -+ multi-ledr4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r4"; -+ leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; -+ }; -+ -+ multi-ledl4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l4"; -+ leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; -+ }; -+}; -+ -+&i2c13 { -+ touchscreen@38 { -+ touchscreen-size-x = <1080>; -+ touchscreen-size-y = <1920>; -+ touchscreen-inverted-x; -+ touchscreen-inverted-y; -+ }; -+}; -+ -+&mdss_dsi0 { -+ panel@0 { -+ compatible = "ch13726a,rp5"; -+ rotation = <270>; -+ }; -+}; -diff --git a/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-rpmini.dts b/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-rpmini.dts -new file mode 100644 -index 000000000000..111111111111 ---- /dev/null -+++ b/arch/arm64/boot/dts/qcom/sm8250-retroidpocket-rpmini.dts -@@ -0,0 +1,98 @@ -+// SPDX-License-Identifier: BSD-3-Clause -+/* -+ * Copyright (c) 2024, Retroid Pocket. -+ */ -+ -+/dts-v1/; -+ -+#include "sm8250-retroidpocket-common.dtsi" -+ -+/ { -+ model = "Retroid Pocket Mini"; -+ compatible = "retroidpocket,rpmini", "qcom,sm8250"; -+ -+ chosen { -+ #address-cells = <2>; -+ #size-cells = <2>; -+ ranges; -+ -+ framebuffer: framebuffer@9c000000 { -+ compatible = "simple-framebuffer"; -+ reg = <0x0 0x9c000000 0x0 0x2300000>; -+ width = <960>; -+ height = <1280>; -+ stride = <(960 * 4)>; -+ format = "a8r8g8b8"; -+ }; -+ }; -+ -+ multi-ledr1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r1"; -+ leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; -+ }; -+ -+ multi-ledl1 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l1"; -+ leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; -+ }; -+ -+ multi-ledr2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r2"; -+ leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; -+ }; -+ -+ multi-ledl2 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l2"; -+ leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; -+ }; -+ -+ multi-ledr3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r3"; -+ leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; -+ }; -+ -+ multi-ledl3 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l3"; -+ leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; -+ }; -+ -+ multi-ledr4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "r4"; -+ leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; -+ }; -+ -+ multi-ledl4 { -+ compatible = "leds-group-multicolor"; -+ color = ; -+ function = "l4"; -+ leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; -+ }; -+}; -+ -+&i2c13 { -+ touchscreen@38 { -+ touchscreen-size-x = <960>; -+ touchscreen-size-y = <1280>; -+ }; -+}; -+ -+&mdss_dsi0 { -+ panel@0 { -+ compatible = "ch13726a,rpmini"; -+ rotation = <90>; -+ }; -+}; --- -Armbian - diff --git a/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-common.dtsi b/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-common.dtsi new file mode 100644 index 000000000000..58ca9d330a15 --- /dev/null +++ b/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-common.dtsi @@ -0,0 +1,1435 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024, Retroid Pocket. + */ + +/dts-v1/; + +#include +#include +#include +#include +#include +#include "sm8250.dtsi" +#include "pm8150.dtsi" +#include "pm8150b.dtsi" +#include "pm8150l.dtsi" + +/ { + qcom,msm-id = <356 0x20001>; + qcom,board-id = <0x01001F 0x01>; + + aliases { + serial0 = &uart12; + serial1 = &uart6; + serial2 = &uart16; + sdhc2 = &sdhc_2; + }; + + battery: battery { + compatible = "simple-battery"; + + charge-full-design-microamp-hours = <3850000>; + voltage-min-design-microvolt = <3600000>; + voltage-max-design-microvolt = <4400000>; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + fan: pwm-fan { + compatible = "pwm-fan"; + cooling-levels = <0 32 64 128 255>; + #cooling-cells = <2>; + fan-supply = <&vreg_fan_pwr>; + pwms = <&pm8150l_lpg 3 100000>; + pinctrl-names = "default"; + pinctrl-0 = <&fan_pwm_active>; + }; + + gpio-keys { + compatible = "gpio-keys"; + + key-vol-up { + label = "Volume Up"; + linux,code = ; + gpios = <&pm8150_gpios 6 GPIO_ACTIVE_LOW>; + }; + }; + + thermal-zones { + conn-thermal { + thermal-sensors = <&pm8150b_adc_tm 0>; + + trips { + active-config0 { + temperature = <125000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + pm8150l-pcb-thermal { + thermal-sensors = <&pm8150l_adc_tm 1>; + + trips { + active-config0 { + temperature = <50000>; + hysteresis = <4000>; + type = "passive"; + }; + }; + }; + + skin-msm-thermal { + thermal-sensors = <&pm8150l_adc_tm 0>; + + trips { + active-config0 { + temperature = <50000>; + hysteresis = <4000>; + type = "passive"; + }; + }; + }; + + wifi-thermal { + thermal-sensors = <&pm8150_adc_tm 1>; + + trips { + active-config0 { + temperature = <52000>; + hysteresis = <4000>; + type = "passive"; + }; + }; + }; + + xo-thermal { + thermal-sensors = <&pm8150_adc_tm 0>; + + trips { + active-config0 { + temperature = <50000>; + hysteresis = <4000>; + type = "passive"; + }; + }; + }; + }; + + vbat: vbat-regulator { + compatible = "regulator-fixed"; + regulator-name = "VBAT"; + vin-supply = <&vreg_l11c_3p3>; + regulator-min-microvolt = <4200000>; + regulator-max-microvolt = <4200000>; + regulator-always-on; + }; + + vdc_3v3: vdc-3v3-regulator { + compatible = "regulator-fixed"; + regulator-name = "VDC_3V3"; + vin-supply = <&vreg_l11c_3p3>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + vdc_5v: vdc-5v-regulator { + compatible = "regulator-fixed"; + regulator-name = "VDC_5V"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + vin-supply = <&vreg_l11c_3p3>; + }; + + vdda_panel: vdda-panel-regulator { + compatible = "regulator-fixed"; + regulator-name = "vdda_panel"; + + regulator-min-microvolt = <2800000>; + regulator-max-microvolt = <2800000>; + + gpio = <&tlmm 4 GPIO_ACTIVE_HIGH>; + enable-active-high; + regulator-boot-on; + }; + + vph_pwr: vph-pwr-regulator { + compatible = "regulator-fixed"; + regulator-name = "vph_pwr"; + regulator-min-microvolt = <3700000>; + regulator-max-microvolt = <3700000>; + regulator-always-on; + }; + + vreg_s4a_1p8: vreg-s4a-1p8 { + compatible = "regulator-fixed"; + regulator-name = "vreg_s4a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + regulator-boot-on; + vin-supply = <&vph_pwr>; + }; + + vreg_fan_pwr: vreg-fan-pwr-regulator { + compatible = "regulator-fixed"; + regulator-name = "vreg_fan_pwr"; + + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + + gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>; + enable-active-high; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vreg_mcu_3v3: vreg-mcu-3v3-regulator { + compatible = "regulator-fixed"; + regulator-name = "vreg_mcu_3v3"; + + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + + gpio = <&tlmm 3 GPIO_ACTIVE_HIGH>; + regulator-always-on; + regulator-boot-on; + enable-active-high; + }; + + qca6390-pmu { + compatible = "qcom,qca6390-pmu"; + + pinctrl-names = "default"; + pinctrl-0 = <&bt_en_state>, <&wlan_en_state>; + + vddaon-supply = <&vreg_s6a_0p95>; + vddrfa1p3-supply = <&vreg_s8c_1p3>; + vddrfa1p9-supply = <&vreg_s5a_1p9>; + vddpcie1p3-supply = <&vreg_s8c_1p3>; + 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"; + }; + }; + }; + + wcd938x: audio-codec { + compatible = "qcom,wcd9385-codec"; + + pinctrl-names = "default"; + pinctrl-0 = <&wcd_default>; + + 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>; + }; + + reserved-memory { + cont_splash_mem: splash_region@9c000000 { + reg = <0x0 0x9c000000 0x0 0x2300000>; + no-map; + }; + }; +}; + +&adsp { + status = "okay"; + firmware-name = "qcom/sm8250/adsp.mbn"; +}; + +&apps_rsc { + regulators-0 { + 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-l2-l10-supply = <&vreg_bob>; + vdd-l3-l4-l5-l18-supply = <&vreg_s6a_0p95>; + vdd-l6-l9-supply = <&vreg_s8c_1p3>; + vdd-l7-l12-l14-l15-supply = <&vreg_s5a_1p9>; + vdd-l13-l16-l17-supply = <&vreg_bob>; + + vreg_l2a_3p1: ldo2 { + regulator-name = "vreg_l2a_3p1"; + regulator-min-microvolt = <3072000>; + regulator-max-microvolt = <3072000>; + regulator-initial-mode = ; + }; + + vreg_l3a_0p9: ldo3 { + regulator-name = "vreg_l3a_0p9"; + regulator-min-microvolt = <928000>; + regulator-max-microvolt = <932000>; + regulator-initial-mode = ; + }; + + vreg_l5a_0p88: ldo5 { + regulator-name = "vreg_l5a_0p88"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <880000>; + regulator-initial-mode = ; + }; + + vreg_l6a_1p2: ldo6 { + regulator-name = "vreg_l6a_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + }; + + vreg_l7a_1p7: ldo7 { + regulator-name = "vreg_l7a_1p7"; + regulator-min-microvolt = <1704000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + }; + + vreg_l9a_1p2: ldo9 { + regulator-name = "vreg_l9a_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + }; + + vreg_l10a_1p8: ldo10 { + regulator-name = "vreg_l10a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + }; + + vreg_l12a_1p8: ldo12 { + regulator-name = "vreg_l12a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + }; + + vreg_l13a_ts_3p0: ldo13 { + regulator-name = "vreg_l13a_ts_3p0"; + regulator-min-microvolt = <3008000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + }; + + vreg_l14a_1p8: ldo14 { + regulator-name = "vreg_l14a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1880000>; + regulator-initial-mode = ; + }; + + vreg_l15a_1p8: ldo15 { + regulator-name = "vreg_l15a_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + }; + + vreg_l16a_2p7: ldo16 { + regulator-name = "vreg_l16a_2p7"; + regulator-min-microvolt = <2704000>; + regulator-max-microvolt = <2960000>; + regulator-initial-mode = ; + }; + + vreg_l17a_3p0: ldo17 { + regulator-name = "vreg_l17a_3p0"; + regulator-min-microvolt = <2856000>; + regulator-max-microvolt = <3008000>; + regulator-initial-mode = ; + }; + + vreg_l18a_0p92: ldo18 { + regulator-name = "vreg_l18a_0p92"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <912000>; + regulator-initial-mode = ; + }; + + vreg_s5a_1p9: smps5 { + regulator-name = "vreg_s5a_1p9"; + regulator-min-microvolt = <1904000>; + regulator-max-microvolt = <2000000>; + regulator-initial-mode = ; + }; + + vreg_s6a_0p95: smps6 { + regulator-name = "vreg_s6a_0p95"; + regulator-min-microvolt = <920000>; + regulator-max-microvolt = <1128000>; + regulator-initial-mode = ; + }; + }; + + regulators-1 { + 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_1p3>; + 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 = ; + }; + + vreg_l1c_1p8: ldo1 { + regulator-name = "vreg_l1c_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + }; + + vreg_l2c_1p2: ldo2 { + regulator-name = "vreg_l2c_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + }; + + vreg_l3c_1p2: ldo3 { + regulator-name = "vreg_l3c_1p2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + regulator-initial-mode = ; + }; + + vreg_l4c_1p7: ldo4 { + regulator-name = "vreg_l4c_1p7"; + regulator-min-microvolt = <1704000>; + regulator-max-microvolt = <2928000>; + regulator-initial-mode = ; + }; + + vreg_l5c_1p8: ldo5 { + regulator-name = "vreg_l5c_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2928000>; + regulator-initial-mode = ; + }; + + vreg_l6c_2p96: ldo6 { + regulator-name = "vreg_l6c_2p96"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2960000>; + regulator-initial-mode = ; + }; + + vreg_l7c_cam_vcm0_2p85: ldo7 { + regulator-name = "vreg_l7c_cam_vcm0_2p85"; + regulator-min-microvolt = <2856000>; + regulator-max-microvolt = <3104000>; + regulator-initial-mode = ; + }; + + vreg_l8c_1p8: ldo8 { + regulator-name = "vreg_l8c_1p8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-initial-mode = ; + }; + + vreg_l9c_2p96: ldo9 { + regulator-name = "vreg_l9c_2p96"; + regulator-min-microvolt = <2704000>; + regulator-max-microvolt = <2960000>; + regulator-initial-mode = ; + }; + + vreg_l10c_3p0: ldo10 { + regulator-name = "vreg_l10c_3p0"; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-initial-mode = ; + }; + + vreg_l11c_3p3: ldo11 { + regulator-name = "vreg_l11c_3p3"; + regulator-min-microvolt = <3296000>; + regulator-max-microvolt = <3296000>; + regulator-initial-mode = ; + regulator-always-on; + }; + + vreg_s8c_1p3: smps8 { + regulator-name = "vreg_s8c_1p3"; + regulator-min-microvolt = <1352000>; + regulator-max-microvolt = <1352000>; + regulator-initial-mode = ; + }; + }; +}; + +&cdsp { + status = "okay"; + firmware-name = "qcom/sm8250/cdsp.mbn"; +}; + +&gmu { + status = "okay"; +}; + +&gpu { + status = "okay"; + + zap-shader { + memory-region = <&gpu_mem>; + firmware-name = "qcom/sm8250/a650_zap.mbn"; + }; +}; + +&i2c3 { + clock-frequency = <400000>; + status = "okay"; + + htr3212r: led-controller@3c { + compatible = "heroic,htr3212"; + reg = <0x3c>; + #address-cells = <1>; + #size-cells = <0>; + sdb-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vreg_mcu_3v3>; + + ledr_b1: led@1 { + reg = <1>; + label = "r:b1"; + color = ; + }; + ledr_g1: led@2 { + reg = <2>; + label = "r:g1"; + color = ; + }; + ledr_r1: led@3 { + reg = <3>; + label = "r:r1"; + color = ; + }; + ledr_b2: led@4 { + reg = <4>; + label = "r:b2"; + color = ; + }; + ledr_g2: led@5 { + reg = <5>; + label = "r:g2"; + color = ; + }; + ledr_r2: led@6 { + reg = <6>; + label = "r:r2"; + color = ; + }; + ledr_b3: led@7 { + reg = <7>; + label = "r:b3"; + color = ; + }; + ledr_g3: led@8 { + reg = <8>; + label = "r:g3"; + color = ; + }; + ledr_r3: led@9 { + reg = <9>; + label = "r:r3"; + color = ; + }; + ledr_b4: led@10 { + reg = <10>; + label = "r:b4"; + color = ; + }; + ledr_g4: led@11 { + reg = <11>; + label = "r:g4"; + color = ; + }; + ledr_r4: led@12 { + reg = <12>; + label = "r:r4"; + color = ; + }; + }; +}; + +&i2c5 { + clock-frequency = <400000>; + status = "okay"; + + htr3212l: led-controller@3c { + compatible = "heroic,htr3212"; + reg = <0x3c>; + #address-cells = <1>; + #size-cells = <0>; + sdb-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; + vdd-supply = <&vreg_mcu_3v3>; + + ledl_b1: led@1 { + reg = <1>; + label = "l:b1"; + color = ; + }; + ledl_g1: led@2 { + reg = <2>; + label = "l:g1"; + color = ; + }; + ledl_r1: led@3 { + reg = <3>; + label = "l:r1"; + color = ; + }; + ledl_b2: led@4 { + reg = <4>; + label = "l:b2"; + color = ; + }; + ledl_g2: led@5 { + reg = <5>; + label = "l:g2"; + color = ; + }; + ledl_r2: led@6 { + reg = <6>; + label = "l:r2"; + color = ; + }; + ledl_b3: led@7 { + reg = <7>; + label = "l:b3"; + color = ; + }; + ledl_g3: led@8 { + reg = <8>; + label = "l:g3"; + color = ; + }; + ledl_r3: led@9 { + reg = <9>; + label = "l:r3"; + color = ; + }; + ledl_b4: led@10 { + reg = <10>; + label = "l:b4"; + color = ; + }; + ledl_g4: led@11 { + reg = <11>; + label = "l:g4"; + color = ; + }; + ledl_r4: led@12 { + reg = <12>; + label = "l:r4"; + color = ; + }; + }; +}; + +&i2c13 { + status = "okay"; + clock-frequency = <400000>; + + touchscreen@38 { + compatible = "focaltech,ft5452"; + reg = <0x38>; + + interrupt-parent = <&tlmm>; + interrupts = <39 IRQ_TYPE_EDGE_FALLING>; + reset-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; + + vcc-supply = <&vreg_l13a_ts_3p0>; + iovcc-supply = <&vreg_l1c_1p8>; + + pinctrl-0 = <&ts_int_active &ts_reset_active>; + pinctrl-1 = <&ts_int_suspend &ts_reset_suspend>; + pinctrl-names = "default", "sleep"; + + touchscreen-size-x = <960>; + touchscreen-size-y = <1280>; + }; +}; + +&i2c15 { + status = "okay"; + + typec-mux@1c { + compatible = "onnn,nb7vpq904m"; + reg = <0x1c>; + + enable-gpios = <&tlmm 9 GPIO_ACTIVE_LOW>; + + 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>; + }; + }; + }; + }; +}; + +&mdss { + status = "okay"; +}; + +&mdss_dp { + status = "okay"; +}; + +&mdss_dp_out { + data-lanes = <0 1>; + remote-endpoint = <&usb_1_qmpphy_dp_in>; +}; + +&mdss_dsi0 { + status = "okay"; + vdda-supply = <&vreg_l9a_1p2>; + + panel@0 { + reg = <0>; + + reset-gpios = <&tlmm 75 GPIO_ACTIVE_HIGH>; + + vdd1v2-supply = <&vreg_l3c_1p2>; + vddio-supply = <&vreg_l14a_1p8>; + vdd-supply = <&vreg_l11c_3p3>; + avdd-supply = <&vdda_panel>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + 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 { + status = "okay"; + vdds-supply = <&vreg_l5a_0p88>; +}; + +&pcie0 { + status = "okay"; +}; + +&pcie0_phy { + status = "okay"; + vdda-phy-supply = <&vreg_l5a_0p88>; + vdda-pll-supply = <&vreg_l9a_1p2>; +}; + +&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>; + }; +}; + +&pm8150_adc { + channel@4c { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + label = "xo_therm"; + }; + + channel@4e { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + label = "wifi_therm"; + }; +}; + +&pm8150_adc_tm { + status = "okay"; + + xo-therm@0 { + reg = <0>; + io-channels = <&pm8150_adc ADC5_XO_THERM_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us = <200>; + }; + + wifi-therm@1 { + reg = <1>; + io-channels = <&pm8150_adc ADC5_AMUX_THM2_100K_PU>; + qcom,ratiometric; + qcom,hw-settle-time-us = <200>; + }; +}; + +&pm8150b_adc { + channel@4f { + reg = ; + 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>; + }; +}; + +&pm8150b_charger { + monitored-battery = <&battery>; + status = "okay"; +}; + +&pm8150b_fg { + status = "okay"; + monitored-battery = <&battery>; + power-supplies = <&pm8150b_charger>; +}; + +&pm8150b_haptics { + status = "okay"; + qcom,boost-gpios = <&pm8150b_gpios 5 GPIO_ACTIVE_HIGH>; + qcom,wave-play-rate-us = <5882>; + qcom,actuator-type = ; +}; + +&pm8150b_typec { + status = "okay"; + + vdd-pdphy-supply = <&vreg_l2a_3p1>; + + connector { + compatible = "usb-c-connector"; + + power-role = "dual"; + data-role = "dual"; + try-power-role = "sink"; + self-powered; + + source-pdos = ; + + sink-pdos = ; + + op-sink-microwatt = <15000000>; + + 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 = <&redriver_usb_con_sbu>; + }; + }; + }; + }; +}; + +&pm8150b_vbus { + regulator-min-microamp = <500000>; + regulator-max-microamp = <3000000>; + status = "okay"; +}; + +&pm8150l_adc { + channel@4e { + reg = ; + qcom,ratiometric; + qcom,hw-settle-time = <200>; + label = "skin_msm_therm"; + }; + + channel@4f { + reg = ; + 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>; + }; +}; + +&pm8150l_gpios { + fan_pwm_active: fan-pwm-active-state { + pins = "gpio6"; + function = "func1"; + bias-disable; + power-source = <0>; + output-low; + qcom,drive-strength = <3>; + drive-push-pull; + }; +}; + +&pm8150l_lpg { + status = "okay"; +}; + +&pon_pwrkey { + status = "okay"; +}; + +&pon_resin { + status = "okay"; + + linux,code = ; +}; + +&q6asmdai { + dai@0 { + reg = <0>; + }; + + dai@1 { + reg = <1>; + }; + + dai@2 { + reg = <2>; + }; +}; + +&qupv3_id_0 { + status = "okay"; +}; + +&qupv3_id_1 { + status = "okay"; +}; + +&qupv3_id_2 { + status = "okay"; +}; + +&qup_uart16_default { + drive-strength = <16>; + bias-pull-up; +}; + +&rxmacro { + status = "okay"; +}; + +&sdhc_2 { + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&sdc2_default_state &sdc2_card_det_n>; + vmmc-supply = <&vreg_l9c_2p96>; + vqmmc-supply = <&vreg_l6c_2p96>; + cd-gpios = <&tlmm 77 GPIO_ACTIVE_LOW>; + bus-width = <4>; + no-sdio; + no-mmc; +}; + +&sound { + compatible = "qcom,sm8250-sndcard"; + model = "RetroidPocket"; + audio-routing = + "SpkrLeft IN", "WSA_SPK1 OUT", + "SpkrRight IN", "WSA_SPK2 OUT", + "IN1_HPHL", "HPHL_OUT", + "IN2_HPHR", "HPHR_OUT", + "MM_DL1", "MultiMedia1 Playback", + "MM_DL2", "MultiMedia2 Playback", + "MultiMedia3 Capture", "MM_UL3"; + + 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>; + }; + }; + + wsa-dai-link { + link-name = "WSA Playback"; + cpu { + sound-dai = <&q6afedai WSA_CODEC_DMA_RX_0>; + }; + + codec { + sound-dai = <&left_spkr>, <&right_spkr>, <&swr0 0>, <&wsamacro 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>; + }; + }; +}; + +&swr0 { + status = "okay"; + + left_spkr: speaker@0,1 { + compatible = "sdw10217201000"; + reg = <0 1>; + powerdown-gpios = <&tlmm 129 GPIO_ACTIVE_LOW>; + #thermal-sensor-cells = <0>; + sound-name-prefix = "SpkrLeft"; + #sound-dai-cells = <0>; + }; + + right_spkr: speaker@0,2 { + compatible = "sdw10217201000"; + reg = <0 2>; + powerdown-gpios = <&tlmm 127 GPIO_ACTIVE_LOW>; + #thermal-sensor-cells = <0>; + sound-name-prefix = "SpkrRight"; + #sound-dai-cells = <0>; + }; +}; + +&swr1 { + status = "okay"; + + wcd_rx: wcd9385-rx@0,4 { + compatible = "sdw20217010d00"; + reg = <0 4>; + qcom,rx-port-mapping = <1 2 3 4 5>; + }; +}; + +&swr2 { + status = "okay"; + + wcd_tx: wcd9385-tx@0,3 { + compatible = "sdw20217010d00"; + reg = <0 3>; + qcom,tx-port-mapping = <2 3 4 5>; + }; +}; + +&tlmm { + bt_en_state: bt-default-state { + pins = "gpio21"; + function = "gpio"; + drive-strength = <16>; + output-low; + bias-pull-up; + }; + + mcu_boot_default: mcu-boot-default-state { + pins = "gpio110"; + function = "gpio"; + bias-pull-down; + }; + + mcu_en_default: mcu-en-default-state { + pins = "gpio111"; + function = "gpio"; + bias-pull-down; + }; + + mcu_rst_default: mcu-rst-default-state { + pins = "gpio109"; + function = "gpio"; + bias-pull-down; + }; + + sdc2_default_state: sdc2-default-state { + clk-pins { + pins = "sdc2_clk"; + bias-disable; + drive-strength = <16>; + }; + + cmd-pins { + pins = "sdc2_cmd"; + bias-pull-up; + drive-strength = <10>; + }; + + data-pins { + pins = "sdc2_data"; + bias-pull-up; + drive-strength = <10>; + }; + }; + + sdc2_card_det_n: sd-card-det-n-state { + pins = "gpio77"; + function = "gpio"; + bias-pull-up; + }; + + ts_int_active: ts-int-active-state { + pins = "gpio39"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + + ts_int_suspend: ts-int-suspend-state { + pins = "gpio39"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + ts_reset_active: ts-reset-active-state { + pins = "gpio38"; + function = "gpio"; + drive-strength = <8>; + bias-pull-up; + }; + + ts_reset_suspend: ts-reset-suspend-state { + pins = "gpio38"; + function = "gpio"; + drive-strength = <2>; + bias-pull-down; + }; + + wcd_default: wcd-default-state { + reset-pins { + pins = "gpio32"; + function = "gpio"; + bias-disable; + }; + }; + + wlan_en_state: wlan-default-state { + pins = "gpio20"; + function = "gpio"; + drive-strength = <16>; + output-low; + bias-pull-up; + }; +}; + +&txmacro { + 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>; + }; +}; + +&uart12 { + status = "okay"; +}; + +&uart16 { + status = "okay"; + + gamepad { + compatible = "ayn,odin2-gamepad"; + + gamepad-name = "Retroid Pocket Controller"; + gamepad-bus = <0x0003>; + gamepad-vid = <0x2020>; + gamepad-pid = <0x3001>; + gamepad-rev = <0x0001>; + + boot-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; + enable-gpios = <&tlmm 111 GPIO_ACTIVE_HIGH>; + reset-gpios = <&tlmm 109 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&mcu_boot_default &mcu_en_default &mcu_rst_default>; + pinctrl-names = "default"; + }; +}; + +&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; +}; + +&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 { + status = "okay"; +}; + +&wsamacro { + status = "okay"; +}; diff --git a/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-rp5.dts b/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-rp5.dts new file mode 100644 index 000000000000..a059378fcbea --- /dev/null +++ b/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-rp5.dts @@ -0,0 +1,100 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024, Retroid Pocket. + */ + +/dts-v1/; + +#include "sm8250-retroidpocket-common.dtsi" + +/ { + model = "Retroid Pocket 5"; + compatible = "retroidpocket,rp5", "qcom,sm8250"; + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + framebuffer: framebuffer@9c000000 { + compatible = "simple-framebuffer"; + reg = <0x0 0x9c000000 0x0 0x2300000>; + width = <1080>; + height = <1920>; + stride = <(1080 * 4)>; + format = "a8r8g8b8"; + }; + }; + + multi-ledr1 { + compatible = "leds-group-multicolor"; + color = ; + function = "r1"; + leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; + }; + + multi-ledl1 { + compatible = "leds-group-multicolor"; + color = ; + function = "l1"; + leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; + }; + + multi-ledr2 { + compatible = "leds-group-multicolor"; + color = ; + function = "r2"; + leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; + }; + + multi-ledl2 { + compatible = "leds-group-multicolor"; + color = ; + function = "l2"; + leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; + }; + + multi-ledr3 { + compatible = "leds-group-multicolor"; + color = ; + function = "r3"; + leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; + }; + + multi-ledl3 { + compatible = "leds-group-multicolor"; + color = ; + function = "l3"; + leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; + }; + + multi-ledr4 { + compatible = "leds-group-multicolor"; + color = ; + function = "r4"; + leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; + }; + + multi-ledl4 { + compatible = "leds-group-multicolor"; + color = ; + function = "l4"; + leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; + }; +}; + +&i2c13 { + touchscreen@38 { + touchscreen-size-x = <1080>; + touchscreen-size-y = <1920>; + touchscreen-inverted-x; + touchscreen-inverted-y; + }; +}; + +&mdss_dsi0 { + panel@0 { + compatible = "ch13726a,rp5"; + rotation = <270>; + }; +}; diff --git a/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-rpmini.dts b/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-rpmini.dts new file mode 100644 index 000000000000..9f572e87b84e --- /dev/null +++ b/patch/kernel/archive/sm8250-6.19/dt/sm8250-retroidpocket-rpmini.dts @@ -0,0 +1,98 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2024, Retroid Pocket. + */ + +/dts-v1/; + +#include "sm8250-retroidpocket-common.dtsi" + +/ { + model = "Retroid Pocket Mini"; + compatible = "retroidpocket,rpmini", "qcom,sm8250"; + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + framebuffer: framebuffer@9c000000 { + compatible = "simple-framebuffer"; + reg = <0x0 0x9c000000 0x0 0x2300000>; + width = <960>; + height = <1280>; + stride = <(960 * 4)>; + format = "a8r8g8b8"; + }; + }; + + multi-ledr1 { + compatible = "leds-group-multicolor"; + color = ; + function = "r1"; + leds = <&ledr_r1>, <&ledr_g1>, <&ledr_b1>; + }; + + multi-ledl1 { + compatible = "leds-group-multicolor"; + color = ; + function = "l1"; + leds = <&ledl_r1>, <&ledl_g1>, <&ledl_b1>; + }; + + multi-ledr2 { + compatible = "leds-group-multicolor"; + color = ; + function = "r2"; + leds = <&ledr_r2>, <&ledr_g2>, <&ledr_b2>; + }; + + multi-ledl2 { + compatible = "leds-group-multicolor"; + color = ; + function = "l2"; + leds = <&ledl_r2>, <&ledl_g2>, <&ledl_b2>; + }; + + multi-ledr3 { + compatible = "leds-group-multicolor"; + color = ; + function = "r3"; + leds = <&ledr_r3>, <&ledr_g3>, <&ledr_b3>; + }; + + multi-ledl3 { + compatible = "leds-group-multicolor"; + color = ; + function = "l3"; + leds = <&ledl_r3>, <&ledl_g3>, <&ledl_b3>; + }; + + multi-ledr4 { + compatible = "leds-group-multicolor"; + color = ; + function = "r4"; + leds = <&ledr_r4>, <&ledr_g4>, <&ledr_b4>; + }; + + multi-ledl4 { + compatible = "leds-group-multicolor"; + color = ; + function = "l4"; + leds = <&ledl_r4>, <&ledl_g4>, <&ledl_b4>; + }; +}; + +&i2c13 { + touchscreen@38 { + touchscreen-size-x = <960>; + touchscreen-size-y = <1280>; + }; +}; + +&mdss_dsi0 { + panel@0 { + compatible = "ch13726a,rpmini"; + rotation = <90>; + }; +};