ARM: dts: msm: Add support for parrot variants with PM8350B

Add support for IDP and QRD platforms with PM8350B on parrot.

Change-Id: Ib6cc605ef2d49b98d35d78bc9b88d1159a999375
This commit is contained in:
Jishnu Prakash
2023-03-03 17:40:20 +05:30
parent 1e44f623c9
commit 3839f07d9b
10 changed files with 401 additions and 2 deletions

View File

@@ -413,11 +413,13 @@ dtbo-$(CONFIG_ARCH_PARROT) += parrot-rumi-overlay.dtbo \
parrot-idp-wcn6750-amoled-overlay.dtbo \
parrot-idp-wcn6750-amoled-4gb-overlay.dtbo \
parrot-idp-nopmi-overlay.dtbo \
parrot-idp-pm8350b-overlay.dtbo \
parrot-qrd-overlay.dtbo \
parrot-qrd-4gb-overlay.dtbo \
parrot-qrd-wcn6750-overlay.dtbo \
parrot-qrd-wcn6750-4gb-overlay.dtbo \
parrot-qrd-nopmi-overlay.dtbo
parrot-qrd-nopmi-overlay.dtbo \
parrot-qrd-pm8350b-overlay.dtbo
parrot-rumi-overlay.dtbo-base := parrot.dtb
parrot-atp-overlay.dtbo-base := parrot.dtb parrotp.dtb
@@ -432,11 +434,13 @@ parrot-idp-wcn6750-amoled-rcm-4gb-overlay.dtbo-base := parrot-4gb.dtb
parrot-idp-wcn6750-amoled-overlay.dtbo-base := parrot.dtb parrotp.dtb
parrot-idp-wcn6750-amoled-4gb-overlay.dtbo-base := parrot-4gb.dtb
parrot-idp-nopmi-overlay.dtbo-base := parrot.dtb parrotp.dtb
parrot-idp-pm8350b-overlay.dtbo-base := parrot.dtb parrotp.dtb
parrot-qrd-overlay.dtbo-base := parrot.dtb parrotp.dtb
parrot-qrd-4gb-overlay.dtbo-base := parrot-4gb.dtb
parrot-qrd-wcn6750-overlay.dtbo-base := parrot.dtb parrotp.dtb
parrot-qrd-wcn6750-4gb-overlay.dtbo-base := parrot-4gb.dtb
parrot-qrd-nopmi-overlay.dtbo-base := parrot.dtb parrotp.dtb
parrot-qrd-pm8350b-overlay.dtbo-base := parrot.dtb parrotp.dtb
else
dtb-$(CONFIG_ARCH_PARROT) += parrot-rumi.dtb \
parrot-atp.dtb \
@@ -449,6 +453,7 @@ dtb-$(CONFIG_ARCH_PARROT) += parrot-rumi.dtb \
parrot-idp-wcn6750-amoled.dtb \
parrot-idp-wcn6750-amoled-4gb.dtb \
parrot-idp-nopmi.dtb \
parrot-idp-pm8350b.dtb \
parrot-idp-wcn6750-amoled-rcm.dtb \
parrot-idp-wcn6750-amoled-rcm-4gb.dtb \
parrot-qrd.dtb \
@@ -456,6 +461,7 @@ dtb-$(CONFIG_ARCH_PARROT) += parrot-rumi.dtb \
parrot-qrd-wcn6750.dtb \
parrot-qrd-wcn6750-4gb.dtb \
parrot-qrd-nopmi.dtb \
parrot-qrd-pm8350b.dtb \
parrotp-atp.dtb \
parrotp-idp.dtb \
parrotp-idp-wcn3990.dtb \
@@ -463,9 +469,11 @@ dtb-$(CONFIG_ARCH_PARROT) += parrot-rumi.dtb \
parrotp-idp-wcn6750-amoled.dtb \
parrotp-idp-wcn6750-amoled-rcm.dtb \
parrotp-idp-nopmi.dtb \
parrotp-idp-pm8350b.dtb \
parrotp-qrd.dtb \
parrotp-qrd-wcn6750.dtb \
parrotp-qrd-nopmi.dtb
parrotp-qrd-nopmi.dtb \
parrotp-qrd-pm8350b.dtb
endif
ifeq ($(CONFIG_BUILD_ARM64_DT_OVERLAY),y)

View File

@@ -0,0 +1,13 @@
/dts-v1/;
/plugin/;
#include "parrot-wcn6750.dtsi"
#include "parrot-idp.dtsi"
#include "parrot-idp-pm8350b.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Parrot IDP";
compatible = "qcom,parrot-idp", "qcom,parrot", "qcom,idp";
qcom,msm-id = <537 0x10000>, <583 0x10000>, <613 0x10000>;
qcom,board-id = <34 0>;
};

View File

@@ -0,0 +1,12 @@
/dts-v1/;
#include "parrot.dtsi"
#include "parrot-wcn6750.dtsi"
#include "parrot-idp.dtsi"
#include "parrot-idp-pm8350b.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Parrot IDP";
compatible = "qcom,parrot-idp", "qcom,parrot", "qcom,idp";
qcom,board-id = <34 0>;
};

View File

@@ -0,0 +1,36 @@
#include "parrot-pm8350b.dtsi"
/ {
qcom,pmic-id-size = <9>;
qcom,pmic-id = <0x0 0x0 0x0 0x32 0x0 0x0 0x0 0x0 0x0>;
};
&battery_charger {
qcom,thermal-mitigation = <3000000 1500000 1000000 500000>;
};
&usb0 {
usb-role-switch;
extcon = <&eud>;
dwc3@a600000 {
usb-role-switch;
dr_mode = "otg";
};
port {
usb_port0: endpoint {
remote-endpoint = <&usb_port0_connector>;
};
};
};
&ucsi {
connector {
port {
usb_port0_connector: endpoint {
remote-endpoint = <&usb_port0>;
};
};
};
};

245
qcom/parrot-pm8350b.dtsi Normal file
View File

@@ -0,0 +1,245 @@
#include <dt-bindings/clock/qcom,rpmh.h>
#include <dt-bindings/iio/qcom,spmi-adc7-smb139x.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator-levels.h>
#include <dt-bindings/thermal/thermal_qti.h>
&pm6150a_amoled {
/delete-node/ oledb@e000;
/delete-node/ ab@de00;
/delete-node/ ibb@dc00;
};
#include "pm8350b.dtsi"
&soc {
qcom,pmic_glink {
status = "okay";
};
qcom,pmic_glink_log {
compatible = "qcom,pmic-glink";
qcom,pmic-glink-channel = "PMIC_LOGS_ADSP_APPS";
qcom,battery_debug {
compatible = "qcom,battery-debug";
};
qcom,charger_ulog_glink {
compatible = "qcom,charger-ulog-glink";
};
spmi_glink_debug: qcom,spmi_glink_debug {
compatible = "qcom,spmi-glink-debug";
#address-cells = <1>;
#size-cells = <0>;
depends-on-supply = <&spmi1_bus>;
/* Primary SPMI bus */
spmi@0 {
reg = <0>;
#address-cells = <2>;
#size-cells = <0>;
qcom,pm8350b-debug@3 {
compatible = "qcom,spmi-pmic";
reg = <3 SPMI_USID>;
qcom,can-sleep;
};
};
/* Secondary SPMI bus */
spmi@1 {
reg = <1>;
#address-cells = <2>;
#size-cells = <0>;
smb1394_glink_debug: qcom,smb1394-debug@9 {
compatible = "qcom,spmi-pmic";
reg = <9 SPMI_USID>;
qcom,can-sleep;
};
qcom,smb1394-debug@b {
compatible = "qcom,spmi-pmic";
reg = <11 SPMI_USID>;
qcom,can-sleep;
};
qcom,smb1394-debug@c {
compatible = "qcom,spmi-pmic";
reg = <12 SPMI_USID>;
qcom,can-sleep;
};
};
};
};
};
&glink_edge {
qcom,pmic_glink_rpmsg {
qcom,glink-channels = "PMIC_RTR_ADSP_APPS";
};
qcom,pmic_glink_log_rpmsg {
qcom,glink-channels = "PMIC_LOGS_ADSP_APPS";
qcom,intents = <0x800 5
0xc00 3
0x2000 1>;
};
};
&battery_charger {
status = "okay";
};
&ucsi {
status = "okay";
};
&altmode {
status = "okay";
};
&spmi0_debug_bus {
depends-on2-supply = <&smb1394_glink_debug>;
qcom,pm8350b-debug@3 {
compatible = "qcom,spmi-pmic";
reg = <3 SPMI_USID>;
#address-cells = <2>;
#size-cells = <0>;
qcom,can-sleep;
};
};
&apps_rsc {
rpmh-regulator-ldod1 {
compatible = "qcom,rpmh-vrm-regulator";
qcom,resource-name = "ldod1";
qcom,regulator-type = "pmic5-ldo";
qcom,supported-modes =
<RPMH_REGULATOR_MODE_LPM
RPMH_REGULATOR_MODE_HPM>;
qcom,mode-threshold-currents = <0 30000>;
L1D: pm8350b_l1: regulator-pm8350b-l1 {
regulator-name = "pm8350b_l1";
qcom,set = <RPMH_REGULATOR_SET_ALL>;
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1296000>;
qcom,init-voltage = <1200000>;
qcom,init-mode = <RPMH_REGULATOR_MODE_HPM>;
};
};
};
&pmk8350_sdam_2 {
hap_cl_brake: cl_brake@7c {
reg = <0x7c 0x1>;
bits = <0 8>;
};
};
&pm8350b_haptics {
nvmem-cell-names = "hap_cl_brake";
nvmem-cells = <&hap_cl_brake>;
nvmem-names = "hap_cfg_sdam";
nvmem = <&pmk8350_sdam_46>;
qcom,pbs-client = <&pm8350b_pbs2>;
};
&pmk8350_vadc {
pm8350b_ref_gnd {
reg = <PM8350B_ADC7_REF_GND>;
label = "pm8350b_ref_gnd";
qcom,pre-scaling = <1 1>;
};
pm8350b_vref_1p25 {
reg = <PM8350B_ADC7_1P25VREF>;
label = "pm8350b_vref_1p25";
qcom,pre-scaling = <1 1>;
};
pm8350b_die_temp {
reg = <PM8350B_ADC7_DIE_TEMP>;
label = "pm8350b_die_temp";
qcom,pre-scaling = <1 1>;
};
pm8350b_vph_pwr {
reg = <PM8350B_ADC7_VPH_PWR>;
label = "pm8350b_vph_pwr";
qcom,pre-scaling = <1 3>;
};
pm8350b_vbat_sns {
reg = <PM8350B_ADC7_VBAT_SNS>;
label = "pm8350b_vbat_sns";
qcom,pre-scaling = <1 3>;
};
pm8350b_chg_temp {
reg = <PM8350B_ADC7_CHG_TEMP>;
label = "pm8350b_chg_temp";
qcom,pre-scaling = <1 1>;
};
pm8350b_iin_fb {
reg = <PM8350B_ADC7_IIN_FB>;
label = "pm8350b_iin_fb";
qcom,pre-scaling = <32 100>;
};
pm8350b_ichg_fb {
reg = <PM8350B_ADC7_ICHG_FB>;
label = "pm8350b_ichg_fb";
qcom,pre-scaling = <1000 305185>;
};
pm8350b_usb_in_v_div_16 {
reg = <PM8350B_ADC7_USB_IN_V_16>;
label = "pm8350b_usb_in_v_div_16";
qcom,pre-scaling = <1 16>;
};
smb139x_1_smb_temp {
reg = <SMB1394_1_ADC7_SMB_TEMP>;
label = "smb139x_1_smb_temp";
qcom,hw-settle-time = <200>;
};
smb139x_1_ichg_smb {
reg = <SMB1394_1_ADC7_ICHG_SMB>;
label = "smb139x_1_ichg_smb";
qcom,hw-settle-time = <200>;
};
smb139x_1_iin_smb {
reg = <SMB1394_1_ADC7_IIN_SMB>;
label = "smb139x_1_iin_smb";
qcom,hw-settle-time = <200>;
};
smb139x_2_smb_temp {
reg = <SMB1394_2_ADC7_SMB_TEMP>;
label = "smb139x_2_smb_temp";
qcom,hw-settle-time = <200>;
};
smb139x_2_ichg_smb {
reg = <SMB1394_2_ADC7_ICHG_SMB>;
label = "smb139x_2_ichg_smb";
qcom,hw-settle-time = <200>;
};
smb139x_2_iin_smb {
reg = <SMB1394_2_ADC7_IIN_SMB>;
label = "smb139x_2_iin_smb";
qcom,hw-settle-time = <200>;
};
};
&pm8350b_tz {
io-channels = <&pmk8350_vadc PM8350B_ADC7_DIE_TEMP>;
io-channel-names = "thermal";
};

View File

@@ -0,0 +1,13 @@
/dts-v1/;
/plugin/;
#include "parrot-wcn3990.dtsi"
#include "parrot-qrd.dtsi"
#include "parrot-qrd-pm8350b.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Parrot QRD";
compatible = "qcom,parrot-qrd", "qcom,parrot", "qcom,qrd";
qcom,msm-id = <537 0x10000>, <583 0x10000>, <613 0x10000>;
qcom,board-id = <0x1000B 0>;
};

View File

@@ -0,0 +1,12 @@
/dts-v1/;
#include "parrot.dtsi"
#include "parrot-wcn3990.dtsi"
#include "parrot-qrd.dtsi"
#include "parrot-qrd-pm8350b.dtsi"
/ {
model = "Qualcomm Technologies, Inc. Parrot QRD";
compatible = "qcom,parrot-qrd", "qcom,parrot", "qcom,qrd";
qcom,board-id = <0x1000B 0>;
};

View File

@@ -0,0 +1,36 @@
#include "parrot-pm8350b.dtsi"
/ {
qcom,pmic-id-size = <9>;
qcom,pmic-id = <0x0 0x0 0x0 0x32 0x0 0x0 0x0 0x0 0x0>;
};
&battery_charger {
qcom,thermal-mitigation-step = <500000>;
};
&usb0 {
usb-role-switch;
extcon = <&eud>;
dwc3@a600000 {
usb-role-switch;
dr_mode = "otg";
};
port {
usb_port0: endpoint {
remote-endpoint = <&usb_port0_connector>;
};
};
};
&ucsi {
connector {
port {
usb_port0_connector: endpoint {
remote-endpoint = <&usb_port0>;
};
};
};
};

View File

@@ -0,0 +1,12 @@
/dts-v1/;
#include "parrotp.dtsi"
#include "parrot-wcn6750.dtsi"
#include "parrotp-idp.dtsi"
#include "parrot-idp-pm8350b.dtsi"
/ {
model = "Qualcomm Technologies, Inc. ParrotP IDP";
compatible = "qcom,parrotp-idp", "qcom,parrotp", "qcom,idp";
qcom,board-id = <34 0>;
};

View File

@@ -0,0 +1,12 @@
/dts-v1/;
#include "parrotp.dtsi"
#include "parrot-wcn3990.dtsi"
#include "parrotp-qrd.dtsi"
#include "parrot-qrd-pm8350b.dtsi"
/ {
model = "Qualcomm Technologies, Inc. ParrotP QRD";
compatible = "qcom,parrotp-qrd", "qcom,parrotp", "qcom,qrd";
qcom,board-id = <0x1000B 0>;
};