From a44d58bbc2871961db1a2cb4c915b42099dcc91c Mon Sep 17 00:00:00 2001 From: Sayan Dey Date: Mon, 14 Mar 2022 19:05:57 +0530 Subject: [PATCH 1/2] ARM: dts: msm: Add initial device tree for sdxpinn target Add initial device tree support for sdxpinn target. Change-Id: I8c1c6b1c4d23d4cf0cd4dc26fcbc4aa73dfeb583 --- bindings/arm/msm/msm.txt | 4 + qcom/Makefile | 3 + qcom/sdxpinn-rumi.dts | 11 +++ qcom/sdxpinn-rumi.dtsi | 7 ++ qcom/sdxpinn.dts | 9 ++ qcom/sdxpinn.dtsi | 193 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 227 insertions(+) create mode 100644 qcom/sdxpinn-rumi.dts create mode 100644 qcom/sdxpinn-rumi.dtsi create mode 100644 qcom/sdxpinn.dts create mode 100644 qcom/sdxpinn.dtsi diff --git a/bindings/arm/msm/msm.txt b/bindings/arm/msm/msm.txt index 489ac2de..9858b875 100644 --- a/bindings/arm/msm/msm.txt +++ b/bindings/arm/msm/msm.txt @@ -98,6 +98,9 @@ SoCs: - DIWALI compatible = "qcom,diwali" +- SDXPINN + compatible = "qcom,sdxpinn" + Generic board variants: - CDP device: @@ -290,3 +293,4 @@ compatible = "qcom,sa6155p-adp-star" compatible = "qcom,khaje-idp" compatible = "qcom,khaje-qrd" compatible = "qcom,khaje-atp" +compatible = "qcom,sdxpinn-rumi" diff --git a/qcom/Makefile b/qcom/Makefile index cc56e5f1..63beddda 100644 --- a/qcom/Makefile +++ b/qcom/Makefile @@ -113,6 +113,9 @@ sdmsteppeauto-overlays-dtb-$(CONFIG_ARCH_SA6155) += $(SA6155_BOARDS) $(SA6155P_B dtb-y += $(sdmsteppeauto-dtb-y) +sdxpinn-dtb-$(CONFIG_ARCH_SDXPINN) += sdxpinn-rumi.dtb +dtb-y += $(sdxpinn-dtb-y) + endif ifeq ($(CONFIG_ARCH_KALAMA), y) diff --git a/qcom/sdxpinn-rumi.dts b/qcom/sdxpinn-rumi.dts new file mode 100644 index 00000000..d8d4ee1d --- /dev/null +++ b/qcom/sdxpinn-rumi.dts @@ -0,0 +1,11 @@ +/dts-v1/; +/memreserve/ 0x90f00000 0x00010000; + +#include "sdxpinn.dtsi" +#include "sdxpinn-rumi.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. SDXPINN RUMI"; + compatible = "qcom,sdxpinn-rumi", "qcom,sdxpinn", "qcom,rumi"; + qcom,board-id = <15 0>; +}; diff --git a/qcom/sdxpinn-rumi.dtsi b/qcom/sdxpinn-rumi.dtsi new file mode 100644 index 00000000..95fcd374 --- /dev/null +++ b/qcom/sdxpinn-rumi.dtsi @@ -0,0 +1,7 @@ +&arch_timer { + clock-frequency = <500000>; +}; + +&memtimer { + clock-frequency = <500000>; +}; diff --git a/qcom/sdxpinn.dts b/qcom/sdxpinn.dts new file mode 100644 index 00000000..5edac0b8 --- /dev/null +++ b/qcom/sdxpinn.dts @@ -0,0 +1,9 @@ +/dts-v1/; + +#include "sdxpinn.dtsi" + +/ { + model = "Qualcomm Technologies, Inc. SDXPINN SoC"; + compatible = "qcom,sdxpinn"; + qcom,board-id = <0 0>; +}; diff --git a/qcom/sdxpinn.dtsi b/qcom/sdxpinn.dtsi new file mode 100644 index 00000000..295c351d --- /dev/null +++ b/qcom/sdxpinn.dtsi @@ -0,0 +1,193 @@ +#include + +/ { + model = "Qualcomm Technologies, Inc. SDXPINN"; + compatible = "qcom,sdxpinn"; + qcom,msm-id = <556 0x10000>; + interrupt-parent = <&intc>; + + #address-cells = <2>; + #size-cells = <2>; + memory { device_type = "memory"; reg = <0 0 0 0>; }; + + reserved_memory: reserved-memory { }; + + chosen: chosen { }; + + aliases { }; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + CPU0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a55"; + reg = <0x0 0x0>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0x90f00000>; + next-level-cache = <&L2_0>; + L2_0: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + + L3_0: l3-cache { + compatible = "arm,arch-cache"; + cache-level = <3>; + }; + }; + }; + + CPU1: cpu@100 { + device_type = "cpu"; + compatible = "arm,cortex-a55"; + reg = <0x0 0x100>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0x90f00000>; + + L2_1: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + }; + }; + + CPU2: cpu@200 { + device_type = "cpu"; + compatible = "arm,cortex-a55"; + reg = <0x0 0x200>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0x90f00000>; + + L2_2: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + }; + }; + + CPU3: cpu@300 { + device_type = "cpu"; + compatible = "arm,cortex-a55"; + reg = <0x0 0x300>; + enable-method = "spin-table"; + cpu-release-addr = <0x0 0x90f00000>; + + L2_3: l2-cache { + compatible = "arm,arch-cache"; + cache-level = <2>; + next-level-cache = <&L3_0>; + }; + }; + + cpu-map { + cluster0 { + core0 { + cpu = <&CPU0>; + }; + + core1 { + cpu = <&CPU1>; + }; + + core2 { + cpu = <&CPU2>; + }; + + core3 { + cpu = <&CPU3>; + }; + }; + + }; + }; + + soc: soc { }; +}; + +&soc { + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0xffffffff>; + compatible = "simple-bus"; + + intc: interrupt-controller@17200000 { + compatible = "arm,gic-v3"; + #interrupt-cells = <3>; + interrupt-controller; + #redistributor-regions = <1>; + redistributor-stride = <0x0 0x20000>; + reg = <0x17200000 0x10000>,/* GICD */ + <0x17260000 0x80000>;/* GICR * 4 */ + interrupts = ; + }; + + arch_timer: timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + clock-frequency = <19200000>; + }; + + memtimer: timer@17420000 { + #address-cells = <1>; + #size-cells = <1>; + ranges; + compatible = "arm,armv7-timer-mem"; + reg = <0x17420000 0x1000>; + clock-frequency = <19200000>; + + frame@17421000 { + frame-number = <0>; + interrupts = , + ; + reg = <0x17421000 0x1000>, + <0x17422000 0x1000>; + }; + + frame@17423000 { + frame-number = <1>; + interrupts = ; + reg = <0x17423000 0x1000>; + status = "disabled"; + }; + + frame@17425000 { + frame-number = <2>; + interrupts = ; + reg = <0x17425000 0x1000>; + status = "disabled"; + }; + + frame@17427000 { + frame-number = <3>; + interrupts = ; + reg = <0x17427000 0x1000>; + status = "disabled"; + }; + + frame@17429000 { + frame-number = <4>; + interrupts = ; + reg = <0x17429000 0x1000>; + status = "disabled"; + }; + + frame@1742b000 { + frame-number = <5>; + interrupts = ; + reg = <0x1742b000 0x1000>; + status = "disabled"; + }; + + frame@1742d000 { + frame-number = <6>; + interrupts = ; + reg = <0x1742d000 0x1000>; + status = "disabled"; + }; + }; +}; From 292aa27e8d9644e71c66a20952bd13ee1ecbf338 Mon Sep 17 00:00:00 2001 From: David Collins Date: Wed, 30 Mar 2022 16:53:34 -0700 Subject: [PATCH 2/2] ARM: dts: qcom: add stub regulator devices for sdxpinn Add stub regulator devices for the SMPS and LDO regulators found on the PMIC chips which are used on sdxpinn boards. This ensures that consumers can use the regulators successfully. Change-Id: Iecbd5d82bbce98351082d76f2af22b1d14b4f63e --- qcom/sdxpinn-regulators.dtsi | 372 +++++++++++++++++++++++++++++++++++ qcom/sdxpinn.dtsi | 2 + 2 files changed, 374 insertions(+) create mode 100644 qcom/sdxpinn-regulators.dtsi diff --git a/qcom/sdxpinn-regulators.dtsi b/qcom/sdxpinn-regulators.dtsi new file mode 100644 index 00000000..28d8157f --- /dev/null +++ b/qcom/sdxpinn-regulators.dtsi @@ -0,0 +1,372 @@ +#include + +/ { + VDD_MODEM_LEVEL: VDD_MSS_LEVEL: + S1B_LEVEL: pmx75_s1_level: regulator-pmx75-s1-level { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_s1_level"; + regulator-min-microvolt = ; + regulator-max-microvolt = ; + }; + + VDD_MXC_LEVEL: S3B_LEVEL: pmx75_s3_level: regulator-pmx75-s3-level { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_s3_level"; + regulator-min-microvolt = ; + regulator-max-microvolt = ; + }; + + VDD_CX_LEVEL: S5B_LEVEL: pmx75_s5_level: regulator-pmx75-s5-level { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_s5_level"; + regulator-min-microvolt = ; + regulator-max-microvolt = ; + }; + + VDD_MXA_LEVEL: L17B_LEVEL: pmx75_l17_level: regulator-pmx75-l17-level { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l17_level"; + regulator-min-microvolt = ; + regulator-max-microvolt = ; + }; + + S2B: pmx75_s2: regulator-pmx75-s2 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_s2"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1350000>; + }; + + S4B: pmx75_s4: regulator-pmx75-s4 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_s4"; + regulator-min-microvolt = <1824000>; + regulator-max-microvolt = <1904000>; + }; + + S7B: pmx75_s7: regulator-pmx75-s7 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_s7"; + regulator-min-microvolt = <352000>; + regulator-max-microvolt = <976000>; + }; + + S8B: pmx75_s8: regulator-pmx75-s8 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_s8"; + regulator-min-microvolt = <544000>; + regulator-max-microvolt = <936000>; + }; + + S9B: pmx75_s9: regulator-pmx75-s9 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_s9"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <800000>; + }; + + L1B: pmx75_l1: regulator-pmx75-l1 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l1"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + qcom,hpm-min-load = <30000>; + }; + + L2B: pmx75_l2: regulator-pmx75-l2 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l2"; + regulator-min-microvolt = <1050000>; + regulator-max-microvolt = <1128000>; + qcom,hpm-min-load = <30000>; + }; + + L3B: pmx75_l3: regulator-pmx75-l3 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l3"; + regulator-min-microvolt = <352000>; + regulator-max-microvolt = <952000>; + qcom,hpm-min-load = <30000>; + }; + + L4B: pmx75_l4: regulator-pmx75-l4 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l4"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <912000>; + qcom,hpm-min-load = <30000>; + }; + + L5B: pmx75_l5: regulator-pmx75-l5 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l5"; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1776000>; + qcom,hpm-min-load = <10000>; + }; + + L6B: pmx75_l6: regulator-pmx75-l6 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l6"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + qcom,hpm-min-load = <10000>; + }; + + L7B: pmx75_l7: regulator-pmx75-l7 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l7"; + regulator-min-microvolt = <728000>; + regulator-max-microvolt = <904000>; + qcom,hpm-min-load = <30000>; + }; + + L8B: pmx75_l8: regulator-pmx75-l8 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l8"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <800000>; + qcom,hpm-min-load = <30000>; + }; + + L9B: pmx75_l9: regulator-pmx75-l9 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l9"; + regulator-min-microvolt = <752000>; + regulator-max-microvolt = <752000>; + qcom,hpm-min-load = <30000>; + }; + + L10B: pmx75_l10: regulator-pmx75-l10 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l10"; + regulator-min-microvolt = <3080000>; + regulator-max-microvolt = <3080000>; + qcom,hpm-min-load = <10000>; + }; + + L11B: pmx75_l11: regulator-pmx75-l11 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l11"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2848000>; + qcom,hpm-min-load = <10000>; + }; + + L12B: pmx75_l12: regulator-pmx75-l12 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l12"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + qcom,hpm-min-load = <30000>; + }; + + L13B: pmx75_l13: regulator-pmx75-l13 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l13"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <2848000>; + qcom,hpm-min-load = <10000>; + }; + + L14B: pmx75_l14: regulator-pmx75-l14 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l14"; + regulator-min-microvolt = <500000>; + regulator-max-microvolt = <624000>; + qcom,hpm-min-load = <30000>; + }; + + L15B: pmx75_l15: regulator-pmx75-l15 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l15"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + qcom,hpm-min-load = <30000>; + }; + + L16B: pmx75_l16: regulator-pmx75-l16 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l16"; + regulator-min-microvolt = <912000>; + regulator-max-microvolt = <912000>; + qcom,hpm-min-load = <30000>; + }; + + L18B: pmx75_l18: regulator-pmx75-l18 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l18"; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; + qcom,hpm-min-load = <30000>; + }; + + L19B: pmx75_l19: regulator-pmx75-l19 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l19"; + regulator-min-microvolt = <952000>; + regulator-max-microvolt = <952000>; + qcom,hpm-min-load = <30000>; + }; + + L20B: pmx75_l20: regulator-pmx75-l20 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l20"; + regulator-min-microvolt = <912000>; + regulator-max-microvolt = <912000>; + qcom,hpm-min-load = <30000>; + }; + + L21B: pmx75_l21: regulator-pmx75-l21 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmx75_l21"; + regulator-min-microvolt = <856000>; + regulator-max-microvolt = <856000>; + qcom,hpm-min-load = <30000>; + }; + + S1M: pmg1110_s1: regulator-pmg1110-s1 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmg1110_s1"; + regulator-min-microvolt = <800000>; + regulator-max-microvolt = <1000000>; + }; + + S1R: pmr545_0_s1: regulator-pmr545-0-s1 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_0_s1"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <1024000>; + }; + + S2R: pmr545_0_s2: regulator-pmr545-0-s2 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_0_s2"; + regulator-min-microvolt = <1552000>; + regulator-max-microvolt = <1552000>; + }; + + L1R: pmr545_0_l1: regulator-pmr545-0-l1 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_0_l1"; + regulator-min-microvolt = <876000>; + regulator-max-microvolt = <992000>; + qcom,hpm-min-load = <30000>; + }; + + L2R: pmr545_0_l2: regulator-pmr545-0-l2 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_0_l2"; + regulator-min-microvolt = <840000>; + regulator-max-microvolt = <952000>; + qcom,hpm-min-load = <30000>; + }; + + L3R: pmr545_0_l3: regulator-pmr545-0-l3 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_0_l3"; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1776000>; + qcom,hpm-min-load = <10000>; + }; + + L4R: pmr545_0_l4: regulator-pmr545-0-l4 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_0_l4"; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1776000>; + qcom,hpm-min-load = <10000>; + }; + + S1S: pmr545_1_s1: regulator-pmr545-1-s1 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_1_s1"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <1024000>; + }; + + S2S: pmr545_1_s2: regulator-pmr545-1-s2 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_1_s2"; + regulator-min-microvolt = <1552000>; + regulator-max-microvolt = <1552000>; + }; + + L1S: pmr545_1_l1: regulator-pmr545-1-l1 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_1_l1"; + regulator-min-microvolt = <876000>; + regulator-max-microvolt = <992000>; + qcom,hpm-min-load = <30000>; + }; + + L2S: pmr545_1_l2: regulator-pmr545-1-l2 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_1_l2"; + regulator-min-microvolt = <840000>; + regulator-max-microvolt = <952000>; + qcom,hpm-min-load = <30000>; + }; + + L3S: pmr545_1_l3: regulator-pmr545-1-l3 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_1_l3"; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1776000>; + qcom,hpm-min-load = <10000>; + }; + + L4S: pmr545_1_l4: regulator-pmr545-1-l4 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_1_l4"; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1776000>; + qcom,hpm-min-load = <10000>; + }; + + S1T: pmr545_2_s1: regulator-pmr545-2-s1 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_2_s1"; + regulator-min-microvolt = <880000>; + regulator-max-microvolt = <1024000>; + }; + + S2T: pmr545_2_s2: regulator-pmr545-2-s2 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_2_s2"; + regulator-min-microvolt = <1552000>; + regulator-max-microvolt = <1552000>; + }; + + L1T: pmr545_2_l1: regulator-pmr545-2-l1 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_2_l1"; + regulator-min-microvolt = <876000>; + regulator-max-microvolt = <992000>; + qcom,hpm-min-load = <30000>; + }; + + L2T: pmr545_2_l2: regulator-pmr545-2-l2 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_2_l2"; + regulator-min-microvolt = <840000>; + regulator-max-microvolt = <952000>; + qcom,hpm-min-load = <30000>; + }; + + L3T: pmr545_2_l3: regulator-pmr545-2-l3 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_2_l3"; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1776000>; + qcom,hpm-min-load = <10000>; + }; + + L4T: pmr545_2_l4: regulator-pmr545-2-l4 { + compatible = "qcom,stub-regulator"; + regulator-name = "pmr545_2_l4"; + regulator-min-microvolt = <1776000>; + regulator-max-microvolt = <1776000>; + qcom,hpm-min-load = <10000>; + }; +}; diff --git a/qcom/sdxpinn.dtsi b/qcom/sdxpinn.dtsi index 295c351d..cb942d97 100644 --- a/qcom/sdxpinn.dtsi +++ b/qcom/sdxpinn.dtsi @@ -191,3 +191,5 @@ }; }; }; + +#include "sdxpinn-regulators.dtsi"