Hi! > Move all the common device tree bits for both sc7280 IDPs into a > sc7280-idp.dtsi and create 2 different dts files (sc7280-idp.dts > and sc7280-idp2.dts) in order to manage differences across the > IDP SKU1 and SKU2 Boards. > PMR735A is present on IDP board only and is not present on IDP2. > > Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> > --- > arch/arm64/boot/dts/qcom/Makefile | 1 + > arch/arm64/boot/dts/qcom/sc7280-idp.dts | 352 +-------------------- At this point, wouldn't it be more clear to rename it to sc7280-idp-sku1.dts and the other one to sc7280-idp-sku2.dts? > .../dts/qcom/{sc7280-idp.dts => sc7280-idp.dtsi} | 48 +-- > arch/arm64/boot/dts/qcom/sc7280-idp2.dts | 24 ++ > 4 files changed, 29 insertions(+), 396 deletions(-) > copy arch/arm64/boot/dts/qcom/{sc7280-idp.dts => sc7280-idp.dtsi} (87%) > create mode 100644 arch/arm64/boot/dts/qcom/sc7280-idp2.dts > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index a571bfdd..50cf2cf 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -61,6 +61,7 @@ dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-pompom-r3-lte.dtb > dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-r1.dtb > dtb-$(CONFIG_ARCH_QCOM) += sc7180-trogdor-r1-lte.dtb > dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sc7280-idp2.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-ganges-kirin.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-discovery.dtb > dtb-$(CONFIG_ARCH_QCOM) += sdm630-sony-xperia-nile-pioneer.dtb > diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts b/arch/arm64/boot/dts/qcom/sc7280-idp.dts > index 73225e3..f014cda 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts > +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts > @@ -7,19 +7,12 @@ > > /dts-v1/; > > -#include <dt-bindings/gpio/gpio.h> > -#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h> > -#include <dt-bindings/iio/qcom,spmi-adc7-pmr735b.h> Don't you want pmr735a include to stay here in SKU1 and not be included in the common one, as the hw is not present on sku2? > -#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h> > -#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> > #include "sc7280.dtsi" > -#include "pm7325.dtsi" > +#include "sc7280-idp.dtsi" > #include "pmr735a.dtsi" > -#include "pm8350c.dtsi" > -#include "pmk8350.dtsi" > > / { > - model = "Qualcomm Technologies, Inc. sc7280 IDP platform"; > + model = "Qualcomm Technologies, Inc. sc7280 IDP SKU1 platform"; > compatible = "qcom,sc7280-idp", "google,senor", "qcom,sc7280"; > > aliases { > @@ -31,187 +24,7 @@ > }; > }; > > -&apps_rsc { > - pm7325-regulators { > - compatible = "qcom,pm7325-rpmh-regulators"; > - qcom,pmic-id = "b"; > - > - vreg_s1b_1p8: smps1 { > - regulator-min-microvolt = <1856000>; > - regulator-max-microvolt = <2040000>; > - }; > - > - vreg_s7b_0p9: smps7 { > - regulator-min-microvolt = <535000>; > - regulator-max-microvolt = <1120000>; > - }; > - > - vreg_s8b_1p2: smps8 { > - regulator-min-microvolt = <1256000>; > - regulator-max-microvolt = <1500000>; > - }; > - > - vreg_l1b_0p8: ldo1 { > - regulator-min-microvolt = <825000>; > - regulator-max-microvolt = <925000>; > - }; > - > - vreg_l2b_3p0: ldo2 { > - regulator-min-microvolt = <2700000>; > - regulator-max-microvolt = <3544000>; > - }; > - > - vreg_l6b_1p2: ldo6 { > - regulator-min-microvolt = <1140000>; > - regulator-max-microvolt = <1260000>; > - }; > - > - vreg_l7b_2p9: ldo7 { > - regulator-min-microvolt = <2960000>; > - regulator-max-microvolt = <2960000>; > - }; > - > - vreg_l8b_0p9: ldo8 { > - regulator-min-microvolt = <870000>; > - regulator-max-microvolt = <970000>; > - }; > - > - vreg_l9b_1p2: ldo9 { > - regulator-min-microvolt = <1080000>; > - regulator-max-microvolt = <1304000>; > - }; > - > - vreg_l11b_1p7: ldo11 { > - regulator-min-microvolt = <1504000>; > - regulator-max-microvolt = <2000000>; > - }; > - > - vreg_l12b_0p8: ldo12 { > - regulator-min-microvolt = <751000>; > - regulator-max-microvolt = <824000>; > - }; > - > - vreg_l13b_0p8: ldo13 { > - regulator-min-microvolt = <530000>; > - regulator-max-microvolt = <824000>; > - }; > - > - vreg_l14b_1p2: ldo14 { > - regulator-min-microvolt = <1080000>; > - regulator-max-microvolt = <1304000>; > - }; > - > - vreg_l15b_0p8: ldo15 { > - regulator-min-microvolt = <765000>; > - regulator-max-microvolt = <1020000>; > - }; > - > - vreg_l16b_1p2: ldo16 { > - regulator-min-microvolt = <1100000>; > - regulator-max-microvolt = <1300000>; > - }; > - > - vreg_l17b_1p8: ldo17 { > - regulator-min-microvolt = <1700000>; > - regulator-max-microvolt = <1900000>; > - }; > - > - vreg_l18b_1p8: ldo18 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <2000000>; > - }; > - > - vreg_l19b_1p8: ldo19 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1800000>; > - }; > - }; > - > - pm8350c-regulators { > - compatible = "qcom,pm8350c-rpmh-regulators"; > - qcom,pmic-id = "c"; > - > - vreg_s1c_2p2: smps1 { > - regulator-min-microvolt = <2190000>; > - regulator-max-microvolt = <2210000>; > - }; > - > - vreg_s9c_1p0: smps9 { > - regulator-min-microvolt = <1010000>; > - regulator-max-microvolt = <1170000>; > - }; > - > - vreg_l1c_1p8: ldo1 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <1980000>; > - }; > - > - vreg_l2c_1p8: ldo2 { > - regulator-min-microvolt = <1620000>; > - regulator-max-microvolt = <1980000>; > - }; > - > - vreg_l3c_3p0: ldo3 { > - regulator-min-microvolt = <2800000>; > - regulator-max-microvolt = <3540000>; > - }; > - > - vreg_l4c_1p8: ldo4 { > - regulator-min-microvolt = <1620000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - vreg_l5c_1p8: ldo5 { > - regulator-min-microvolt = <1620000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - vreg_l6c_2p9: ldo6 { > - regulator-min-microvolt = <1800000>; > - regulator-max-microvolt = <2950000>; > - }; > - > - vreg_l7c_3p0: ldo7 { > - regulator-min-microvolt = <3000000>; > - regulator-max-microvolt = <3544000>; > - }; > - > - vreg_l8c_1p8: ldo8 { > - regulator-min-microvolt = <1620000>; > - regulator-max-microvolt = <2000000>; > - }; > - > - vreg_l9c_2p9: ldo9 { > - regulator-min-microvolt = <2960000>; > - regulator-max-microvolt = <2960000>; > - }; > - > - vreg_l10c_0p8: ldo10 { > - regulator-min-microvolt = <720000>; > - regulator-max-microvolt = <1050000>; > - }; > - > - vreg_l11c_2p8: ldo11 { > - regulator-min-microvolt = <2800000>; > - regulator-max-microvolt = <3544000>; > - }; > - > - vreg_l12c_1p8: ldo12 { > - regulator-min-microvolt = <1650000>; > - regulator-max-microvolt = <2000000>; > - }; > - > - vreg_l13c_3p0: ldo13 { > - regulator-min-microvolt = <2700000>; > - regulator-max-microvolt = <3544000>; > - }; > - > - vreg_bob: bob { > - regulator-min-microvolt = <3008000>; > - regulator-max-microvolt = <3960000>; > - }; > - }; > - > +&apps_rsc{ > pmr735a-regulators { > compatible = "qcom,pmr735a-rpmh-regulators"; > qcom,pmic-id = "e"; > @@ -242,162 +55,3 @@ > }; > }; > }; > - > -&pmk8350_vadc { > - pm8350_die_temp { > - reg = <PM8350_ADC7_DIE_TEMP>; > - label = "pm8350_die_temp"; > - qcom,pre-scaling = <1 1>; > - }; > - > - pmk8350_die_temp { > - reg = <PMK8350_ADC7_DIE_TEMP>; > - label = "pmk8350_die_temp"; > - qcom,pre-scaling = <1 1>; > - }; > - > - pmr735a_die_temp { > - reg = <PMR735A_ADC7_DIE_TEMP>; > - label = "pmr735a_die_temp"; > - qcom,pre-scaling = <1 1>; > - }; > - > - pmr735b_die_temp { > - reg = <PMR735B_ADC7_DIE_TEMP>; > - label = "pmr735b_die_temp"; > - qcom,pre-scaling = <1 1>; > - }; > -}; It may be Thunderbird messing with me again, but it looks like there's a tab too many in this block. > - > -&qupv3_id_0 { > - status = "okay"; > -}; > - > -&sdhc_1 { > - status = "okay"; > - > - pinctrl-names = "default", "sleep"; > - pinctrl-0 = <&sdc1_on>; > - pinctrl-1 = <&sdc1_off>; > - > - non-removable; > - no-sd; > - no-sdio; > - > - vmmc-supply = <&vreg_l7b_2p9>; > - vqmmc-supply = <&vreg_l19b_1p8>; > -}; > - > -&sdhc_2 { > - status = "okay"; > - > - pinctrl-names = "default", "sleep"; > - pinctrl-0 = <&sdc2_on>; > - pinctrl-1 = <&sdc2_off>; > - > - vmmc-supply = <&vreg_l9c_2p9>; > - vqmmc-supply = <&vreg_l6c_2p9>; > - > - cd-gpios = <&tlmm 91 GPIO_ACTIVE_LOW>; > -}; > - > -&uart5 { > - status = "okay"; > -}; > - > -&usb_1 { > - status = "okay"; > -}; > - > -&usb_1_dwc3 { > - dr_mode = "host"; > -}; > - > -&usb_1_hsphy { > - status = "okay"; > - > - vdda-pll-supply = <&vreg_l10c_0p8>; > - vdda33-supply = <&vreg_l2b_3p0>; > - vdda18-supply = <&vreg_l1c_1p8>; > -}; > - > -&usb_1_qmpphy { > - status = "okay"; > - > - vdda-phy-supply = <&vreg_l6b_1p2>; > - vdda-pll-supply = <&vreg_l1b_0p8>; > -}; > - > -&usb_2 { > - status = "okay"; > -}; > - > -&usb_2_dwc3 { > - dr_mode = "peripheral"; > -}; > - > -&usb_2_hsphy { > - status = "okay"; > - > - vdda-pll-supply = <&vreg_l10c_0p8>; > - vdda33-supply = <&vreg_l2b_3p0>; > - vdda18-supply = <&vreg_l1c_1p8>; > -}; > - > -/* PINCTRL - additions to nodes defined in sc7280.dtsi */ > - > -&qup_uart5_default { > - tx { > - pins = "gpio46"; > - drive-strength = <2>; > - bias-disable; > - }; > - > - rx { > - pins = "gpio47"; > - drive-strength = <2>; > - bias-pull-up; > - }; > -}; > - > -&sdc1_on { > - clk { > - bias-disable; > - drive-strength = <16>; > - }; > - > - cmd { > - bias-pull-up; > - drive-strength = <10>; > - }; > - > - data { > - bias-pull-up; > - drive-strength = <10>; > - }; > - > - rclk { > - bias-pull-down; > - }; > -}; > - > -&sdc2_on { > - clk { > - bias-disable; > - drive-strength = <16>; > - }; > - > - cmd { > - bias-pull-up; > - drive-strength = <10>; > - }; > - > - data { > - bias-pull-up; > - drive-strength = <10>; > - }; > - > - sd-cd { > - bias-pull-up; > - }; > -}; > diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi > similarity index 87% > copy from arch/arm64/boot/dts/qcom/sc7280-idp.dts > copy to arch/arm64/boot/dts/qcom/sc7280-idp.dtsi > index 73225e3..295d88a 100644 > --- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts > +++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi > @@ -1,12 +1,10 @@ > // SPDX-License-Identifier: BSD-3-Clause > /* > - * sc7280 IDP board device tree source > + * sc7280 IDP board device tree source (common between SKU1 and SKU2) > * > * Copyright (c) 2021, The Linux Foundation. All rights reserved. > */ > > -/dts-v1/; > - > #include <dt-bindings/gpio/gpio.h> > #include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h> > #include <dt-bindings/iio/qcom,spmi-adc7-pmr735b.h> > @@ -14,23 +12,9 @@ > #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> > #include "sc7280.dtsi" > #include "pm7325.dtsi" > -#include "pmr735a.dtsi" > #include "pm8350c.dtsi" > #include "pmk8350.dtsi" > > -/ { > - model = "Qualcomm Technologies, Inc. sc7280 IDP platform"; > - compatible = "qcom,sc7280-idp", "google,senor", "qcom,sc7280"; > - > - aliases { > - serial0 = &uart5; > - }; > - > - chosen { > - stdout-path = "serial0:115200n8"; > - }; > -}; Shouldn't these be common if they were there before on SKU1 and now are there on SKU2? > - > &apps_rsc { > pm7325-regulators { > compatible = "qcom,pm7325-rpmh-regulators"; > @@ -211,36 +195,6 @@ > regulator-max-microvolt = <3960000>; > }; > }; > - > - pmr735a-regulators { > - compatible = "qcom,pmr735a-rpmh-regulators"; > - qcom,pmic-id = "e"; > - > - vreg_l2e_1p2: ldo2 { > - regulator-min-microvolt = <1200000>; > - regulator-max-microvolt = <1200000>; > - }; > - > - vreg_l3e_0p9: ldo3 { > - regulator-min-microvolt = <912000>; > - regulator-max-microvolt = <1020000>; > - }; > - > - vreg_l4e_1p7: ldo4 { > - regulator-min-microvolt = <1776000>; > - regulator-max-microvolt = <1890000>; > - }; > - > - vreg_l5e_0p8: ldo5 { > - regulator-min-microvolt = <800000>; > - regulator-max-microvolt = <800000>; > - }; > - > - vreg_l6e_0p8: ldo6 { > - regulator-min-microvolt = <480000>; > - regulator-max-microvolt = <904000>; > - }; > - }; > }; > > &pmk8350_vadc { > diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp2.dts b/arch/arm64/boot/dts/qcom/sc7280-idp2.dts > new file mode 100644 > index 0000000..c842da6 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sc7280-idp2.dts > @@ -0,0 +1,24 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * sc7280 IDP2 board device tree source > + * > + * Copyright (c) 2021, The Linux Foundation. All rights reserved. > + */ > + > +/dts-v1/; > + > +#include "sc7280.dtsi" sc7280.dtsi is already included in the sc7280-idp.dtsi file. > +#include "sc7280-idp.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. sc7280 IDP SKU2 platform"; > + compatible = "qcom,sc7280-idp2", "qcom,sc7280"; No "google,something" compatible on SKU2? > + > + aliases { > + serial0 = &uart5; > + }; > + > + chosen { > + stdout-path = "serial0:115200n8"; > + }; > +}; > Konrad