Message ID | 20241021232114.2636083-1-quic_molvera@quicinc.com (mailing list archive) |
---|---|
Headers | show |
Series | dts: qcom: Introduce SM8750 device trees | expand |
On Mon, Oct 21, 2024 at 04:21:13PM GMT, Melody Olvera wrote: 2 "and", 2 "dts" and a "dtsi" in the subject. I'd prefer a more succinct: "arm64: dts: qcom: Add SM8750 platform, mtp and qrd" > Add base dtsi for the sm8750 SoC describing the CPUs, GCC and > RPMHCC clock controllers, geni UART, interrupt controller, TLMM, > reserved memory, interconnects, regulator, and SMMU nodes. Also add > MTP and QRD board dts files for sm8750. > Nice. > Co-developed-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Taniya Das <quic_tdas@quicinc.com> > Co-developed-by: Jishnu Prakash <quic_jprakash@quicinc.com> > Signed-off-by: Jishnu Prakash <quic_jprakash@quicinc.com> > Co-developed-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com> > Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com> > Signed-off-by: Melody Olvera <quic_molvera@quicinc.com> > --- > arch/arm64/boot/dts/qcom/Makefile | 2 + > arch/arm64/boot/dts/qcom/sm8750-mtp.dts | 968 ++++++++ > arch/arm64/boot/dts/qcom/sm8750-qrd.dts | 965 ++++++++ > arch/arm64/boot/dts/qcom/sm8750.dtsi | 2903 +++++++++++++++++++++++ > 4 files changed, 4838 insertions(+) Most reviewers will prefer the platform and individual devices to be added in separate patches, to not hit 5kloc. I don't mind it... > create mode 100644 arch/arm64/boot/dts/qcom/sm8750-mtp.dts > create mode 100644 arch/arm64/boot/dts/qcom/sm8750-qrd.dts > create mode 100644 arch/arm64/boot/dts/qcom/sm8750.dtsi > > diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile > index 065bb19481c1..3bedfa6b37f2 100644 > --- a/arch/arm64/boot/dts/qcom/Makefile > +++ b/arch/arm64/boot/dts/qcom/Makefile > @@ -269,6 +269,8 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8650-hdk-display-card.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm8650-hdk.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm8650-mtp.dtb > dtb-$(CONFIG_ARCH_QCOM) += sm8650-qrd.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sm8750-mtp.dtb > +dtb-$(CONFIG_ARCH_QCOM) += sm8750-qrd.dtb > dtb-$(CONFIG_ARCH_QCOM) += x1e78100-lenovo-thinkpad-t14s.dtb > dtb-$(CONFIG_ARCH_QCOM) += x1e80100-asus-vivobook-s15.dtb > dtb-$(CONFIG_ARCH_QCOM) += x1e80100-crd.dtb > diff --git a/arch/arm64/boot/dts/qcom/sm8750-mtp.dts b/arch/arm64/boot/dts/qcom/sm8750-mtp.dts > new file mode 100644 > index 000000000000..e1a94dc76e2f > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm8750-mtp.dts > @@ -0,0 +1,968 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/leds/common.h> > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include "sm8750.dtsi" > +#include "pm8010.dtsi" > +#include "pm8550.dtsi" > +#define PMK8550VE_SID 8 > +#include "pm8550ve.dtsi" > +#include "pmd8028.dtsi" > +#include "pmih0108.dtsi" > +#include "pmk8550.dtsi" > +#include "pmr735d_a.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. SM8750 MTP"; > + compatible = "qcom,sm8750-mtp", "qcom,sm8750"; Can we please here have a: chassis-type = "handset"; > + [..] > diff --git a/arch/arm64/boot/dts/qcom/sm8750-qrd.dts b/arch/arm64/boot/dts/qcom/sm8750-qrd.dts > new file mode 100644 > index 000000000000..af0174d95e3a > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm8750-qrd.dts > @@ -0,0 +1,965 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. > + */ > + > +/dts-v1/; > + > +#include <dt-bindings/gpio/gpio.h> > +#include <dt-bindings/leds/common.h> > +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> > +#include "sm8750.dtsi" > +#include "pm8010.dtsi" > +#include "pm8550.dtsi" > +#define PMK8550VE_SID 8 > +#include "pm8550ve.dtsi" > +#include "pmd8028.dtsi" > +#include "pmih0108.dtsi" > +#include "pmk8550.dtsi" > +#include "pmr735d_a.dtsi" > + > +/ { > + model = "Qualcomm Technologies, Inc. SM8750 QRD"; > + compatible = "qcom,sm8750-qrd", "qcom,sm8750"; chassis-type please. > + > + aliases { > + serial0 = &uart7; > + }; [..] > diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi > new file mode 100644 > index 000000000000..98ab82caa007 > --- /dev/null > +++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi > @@ -0,0 +1,2903 @@ > +// SPDX-License-Identifier: BSD-3-Clause > +/* > + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. > + */ > + > +#include <dt-bindings/clock/qcom,rpmh.h> > +#include <dt-bindings/clock/qcom,sm8750-gcc.h> > +#include <dt-bindings/clock/qcom,sm8750-tcsr.h> > +#include <dt-bindings/dma/qcom-gpi.h> > +#include <dt-bindings/interconnect/qcom,icc.h> > +#include <dt-bindings/interconnect/qcom,sm8750-rpmh.h> > +#include <dt-bindings/interrupt-controller/arm-gic.h> > +#include <dt-bindings/power/qcom,rpmhpd.h> > +#include <dt-bindings/power/qcom-rpmpd.h> > +#include <dt-bindings/soc/qcom,rpmh-rsc.h> > + > +/ { > + interrupt-parent = <&intc>; > + > + #address-cells = <2>; > + #size-cells = <2>; > + > + chosen { }; You should be able to omit this... > + > + cpus { > + #address-cells = <2>; > + #size-cells = <0>; > + > + CPU0: cpu@0 { I just merged a cleanup series from Krzysztof, making all labels lower case. So, I'd unfortunately like you to do the same... > + device_type = "cpu"; > + compatible = "qcom,oryon"; > + reg = <0x0 0x0>; > + enable-method = "psci"; > + next-level-cache = <&L2_0>; > + power-domains = <&CPU_PD0>; > + power-domain-names = "psci"; > + cpu-idle-states = <&CLUSTER0_C4>; > + > + L2_0: l2-cache { > + compatible = "cache"; > + cache-level = <2>; > + cache-unified; > + }; > + }; [..] > + memory@a0000000 { > + device_type = "memory"; > + /* We expect the bootloader to fill in the size */ > + reg = <0x0 0xa0000000 0x0 0x0>; gunyah_hyp_mem below is at 0x80000000, so I presume it's not just size that's being updated? > + }; > + [..] > + soc: soc@0 { [..] > + }; > + > + Extra newline, didn't checkpatch --strict complain about that/ > + cnoc_main: interconnect@1500000 { > + compatible = "qcom,sm8750-cnoc-main"; > + reg = <0x0 0x1500000 0x0 0x16080>; Until here you padded the base address to 8 digits, making it easy for humans to keep nodes sorted (by address). Please correct the remaining 7-digit nodes as well, to make it easier for future contributors to get their ordering right. > + qcom,bcm-voters = <&apps_bcm_voter>; > + #interconnect-cells = <2>; > + }; > + > + config_noc: interconnect@1600000 { > + compatible = "qcom,sm8750-cnoc-cfg"; > + reg = <0x0 0x1600000 0x0 0x6200>; > + qcom,bcm-voters = <&apps_bcm_voter>; > + #interconnect-cells = <2>; > + }; [..] > + apps_rsc: rsc@16500000 { > + compatible = "qcom,rpmh-rsc"; > + reg = <0x0 0x16500000 0x0 0x10000>, > + <0x0 0x16510000 0x0 0x10000>, > + <0x0 0x16520000 0x0 0x10000>; > + reg-names = "drv-0", > + "drv-1", > + "drv-2"; > + qcom,drv-count = <3>; > + > + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, > + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; > + qcom,tcs-offset = <0xd00>; > + qcom,drv-id = <2>; > + qcom,tcs-config = <ACTIVE_TCS 3>, <SLEEP_TCS 2>, > + <WAKE_TCS 2>, <CONTROL_TCS 0>; Is 0 CONTROL_TCSs correct? > + > + label = "apps_rsc"; > + Regards, Bjorn
On 10/22/2024 8:12 PM, Bjorn Andersson wrote: > On Mon, Oct 21, 2024 at 04:21:13PM GMT, Melody Olvera wrote: > > 2 "and", 2 "dts" and a "dtsi" in the subject. I'd prefer a more > succinct: > > "arm64: dts: qcom: Add SM8750 platform, mtp and qrd" Ack. > >> Add base dtsi for the sm8750 SoC describing the CPUs, GCC and >> RPMHCC clock controllers, geni UART, interrupt controller, TLMM, >> reserved memory, interconnects, regulator, and SMMU nodes. Also add >> MTP and QRD board dts files for sm8750. >> > Nice. > >> Co-developed-by: Taniya Das <quic_tdas@quicinc.com> >> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> >> Co-developed-by: Jishnu Prakash <quic_jprakash@quicinc.com> >> Signed-off-by: Jishnu Prakash <quic_jprakash@quicinc.com> >> Co-developed-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com> >> Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com> >> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com> >> --- >> arch/arm64/boot/dts/qcom/Makefile | 2 + >> arch/arm64/boot/dts/qcom/sm8750-mtp.dts | 968 ++++++++ >> arch/arm64/boot/dts/qcom/sm8750-qrd.dts | 965 ++++++++ >> arch/arm64/boot/dts/qcom/sm8750.dtsi | 2903 +++++++++++++++++++++++ >> 4 files changed, 4838 insertions(+) > Most reviewers will prefer the platform and individual devices to be > added in separate patches, to not hit 5kloc. I don't mind it... I wasn't sure whether or not to split; some recent efforts had combined platform and devices into one patch. Either works for me. > >> create mode 100644 arch/arm64/boot/dts/qcom/sm8750-mtp.dts >> create mode 100644 arch/arm64/boot/dts/qcom/sm8750-qrd.dts >> create mode 100644 arch/arm64/boot/dts/qcom/sm8750.dtsi >> >> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile >> index 065bb19481c1..3bedfa6b37f2 100644 >> --- a/arch/arm64/boot/dts/qcom/Makefile >> +++ b/arch/arm64/boot/dts/qcom/Makefile >> @@ -269,6 +269,8 @@ dtb-$(CONFIG_ARCH_QCOM) += sm8650-hdk-display-card.dtb >> dtb-$(CONFIG_ARCH_QCOM) += sm8650-hdk.dtb >> dtb-$(CONFIG_ARCH_QCOM) += sm8650-mtp.dtb >> dtb-$(CONFIG_ARCH_QCOM) += sm8650-qrd.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += sm8750-mtp.dtb >> +dtb-$(CONFIG_ARCH_QCOM) += sm8750-qrd.dtb >> dtb-$(CONFIG_ARCH_QCOM) += x1e78100-lenovo-thinkpad-t14s.dtb >> dtb-$(CONFIG_ARCH_QCOM) += x1e80100-asus-vivobook-s15.dtb >> dtb-$(CONFIG_ARCH_QCOM) += x1e80100-crd.dtb >> diff --git a/arch/arm64/boot/dts/qcom/sm8750-mtp.dts b/arch/arm64/boot/dts/qcom/sm8750-mtp.dts >> new file mode 100644 >> index 000000000000..e1a94dc76e2f >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/sm8750-mtp.dts >> @@ -0,0 +1,968 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. >> + */ >> + >> +/dts-v1/; >> + >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/leds/common.h> >> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> >> +#include "sm8750.dtsi" >> +#include "pm8010.dtsi" >> +#include "pm8550.dtsi" >> +#define PMK8550VE_SID 8 >> +#include "pm8550ve.dtsi" >> +#include "pmd8028.dtsi" >> +#include "pmih0108.dtsi" >> +#include "pmk8550.dtsi" >> +#include "pmr735d_a.dtsi" >> + >> +/ { >> + model = "Qualcomm Technologies, Inc. SM8750 MTP"; >> + compatible = "qcom,sm8750-mtp", "qcom,sm8750"; > Can we please here have a: > > chassis-type = "handset"; Ack. > >> + > [..] >> diff --git a/arch/arm64/boot/dts/qcom/sm8750-qrd.dts b/arch/arm64/boot/dts/qcom/sm8750-qrd.dts >> new file mode 100644 >> index 000000000000..af0174d95e3a >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/sm8750-qrd.dts >> @@ -0,0 +1,965 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. >> + */ >> + >> +/dts-v1/; >> + >> +#include <dt-bindings/gpio/gpio.h> >> +#include <dt-bindings/leds/common.h> >> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h> >> +#include "sm8750.dtsi" >> +#include "pm8010.dtsi" >> +#include "pm8550.dtsi" >> +#define PMK8550VE_SID 8 >> +#include "pm8550ve.dtsi" >> +#include "pmd8028.dtsi" >> +#include "pmih0108.dtsi" >> +#include "pmk8550.dtsi" >> +#include "pmr735d_a.dtsi" >> + >> +/ { >> + model = "Qualcomm Technologies, Inc. SM8750 QRD"; >> + compatible = "qcom,sm8750-qrd", "qcom,sm8750"; > chassis-type please. Ack. > >> + >> + aliases { >> + serial0 = &uart7; >> + }; > [..] >> diff --git a/arch/arm64/boot/dts/qcom/sm8750.dtsi b/arch/arm64/boot/dts/qcom/sm8750.dtsi >> new file mode 100644 >> index 000000000000..98ab82caa007 >> --- /dev/null >> +++ b/arch/arm64/boot/dts/qcom/sm8750.dtsi >> @@ -0,0 +1,2903 @@ >> +// SPDX-License-Identifier: BSD-3-Clause >> +/* >> + * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. >> + */ >> + >> +#include <dt-bindings/clock/qcom,rpmh.h> >> +#include <dt-bindings/clock/qcom,sm8750-gcc.h> >> +#include <dt-bindings/clock/qcom,sm8750-tcsr.h> >> +#include <dt-bindings/dma/qcom-gpi.h> >> +#include <dt-bindings/interconnect/qcom,icc.h> >> +#include <dt-bindings/interconnect/qcom,sm8750-rpmh.h> >> +#include <dt-bindings/interrupt-controller/arm-gic.h> >> +#include <dt-bindings/power/qcom,rpmhpd.h> >> +#include <dt-bindings/power/qcom-rpmpd.h> >> +#include <dt-bindings/soc/qcom,rpmh-rsc.h> >> + >> +/ { >> + interrupt-parent = <&intc>; >> + >> + #address-cells = <2>; >> + #size-cells = <2>; >> + >> + chosen { }; > You should be able to omit this... Ack. > >> + >> + cpus { >> + #address-cells = <2>; >> + #size-cells = <0>; >> + >> + CPU0: cpu@0 { > I just merged a cleanup series from Krzysztof, making all labels lower > case. So, I'd unfortunately like you to do the same... Understood. > >> + device_type = "cpu"; >> + compatible = "qcom,oryon"; >> + reg = <0x0 0x0>; >> + enable-method = "psci"; >> + next-level-cache = <&L2_0>; >> + power-domains = <&CPU_PD0>; >> + power-domain-names = "psci"; >> + cpu-idle-states = <&CLUSTER0_C4>; >> + >> + L2_0: l2-cache { >> + compatible = "cache"; >> + cache-level = <2>; >> + cache-unified; >> + }; >> + }; > [..] >> + memory@a0000000 { >> + device_type = "memory"; >> + /* We expect the bootloader to fill in the size */ >> + reg = <0x0 0xa0000000 0x0 0x0>; > gunyah_hyp_mem below is at 0x80000000, so I presume it's not just size > that's being updated? Yes; I believe it adds some more regions as well. > >> + }; >> + > [..] >> + soc: soc@0 { > [..] >> + }; >> + >> + > Extra newline, didn't checkpatch --strict complain about that/ Didn't realize I needed to run w --strict; will remove extra line. > >> + cnoc_main: interconnect@1500000 { >> + compatible = "qcom,sm8750-cnoc-main"; >> + reg = <0x0 0x1500000 0x0 0x16080>; > Until here you padded the base address to 8 digits, making it easy for > humans to keep nodes sorted (by address). Please correct the remaining > 7-digit nodes as well, to make it easier for future contributors to get > their ordering right. Will do. > >> + qcom,bcm-voters = <&apps_bcm_voter>; >> + #interconnect-cells = <2>; >> + }; >> + >> + config_noc: interconnect@1600000 { >> + compatible = "qcom,sm8750-cnoc-cfg"; >> + reg = <0x0 0x1600000 0x0 0x6200>; >> + qcom,bcm-voters = <&apps_bcm_voter>; >> + #interconnect-cells = <2>; >> + }; > [..] >> + apps_rsc: rsc@16500000 { >> + compatible = "qcom,rpmh-rsc"; >> + reg = <0x0 0x16500000 0x0 0x10000>, >> + <0x0 0x16510000 0x0 0x10000>, >> + <0x0 0x16520000 0x0 0x10000>; >> + reg-names = "drv-0", >> + "drv-1", >> + "drv-2"; >> + qcom,drv-count = <3>; >> + >> + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, >> + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; >> + qcom,tcs-offset = <0xd00>; >> + qcom,drv-id = <2>; >> + qcom,tcs-config = <ACTIVE_TCS 3>, <SLEEP_TCS 2>, >> + <WAKE_TCS 2>, <CONTROL_TCS 0>; > Is 0 CONTROL_TCSs correct? I believe so; I have no reason to think otherwise. Thanks, Melody > >> + >> + label = "apps_rsc"; >> +
On Mon, 21 Oct 2024 16:21:09 -0700, Melody Olvera wrote: > This series adds the initial device tree support for the SM8750 SoCs > needed to boot to shell. This specifically adds support for clocks, > pinctrl, rpmhpd, regulators, interconnects, and SoC and board > compatibles. > > The Qualcomm Technologies, Inc. SM8750 SoC is the latest in the line of > consumer mobile device SoCs. See more at: > https://www.qualcomm.com/content/dam/qcomm-martech/dm-assets/images/company/news-media/media-center/press-kits/snapdragon-summit-2024/day-1/documents/Snapdragon8EliteProductBrief.pdf > > Dependencies: > clks: https://lore.kernel.org/all/20241021230359.2632414-1-quic_molvera@quicinc.com/ > interconnects: https://lore.kernel.org/all/20241021231823.2635534-1-quic_molvera@quicinc.com/ > pinctrl: https://lore.kernel.org/all/20241021230414.2632428-1-quic_molvera@quicinc.com/ > regulators: https://lore.kernel.org/all/20241021230348.2632381-1-quic_molvera@quicinc.com/ > power domains: https://lore.kernel.org/all/20241021230333.2632368-1-quic_molvera@quicinc.com/ > misc bindings: > - https://lore.kernel.org/all/20241021230427.2632466-1-quic_molvera@quicinc.com/ > - https://lore.kernel.org/all/20241021230500.2632527-1-quic_molvera@quicinc.com/ > - https://lore.kernel.org/all/20241021230439.2632480-1-quic_molvera@quicinc.com/ > - https://lore.kernel.org/all/20241021230449.2632493-1-quic_molvera@quicinc.com/ > > Jishnu Prakash (2): > dt-bindings: mfd: qcom,spmi-pmic: Document PMICs added in SM8750 > arm64: dts: qcom: Add pmd8028 and pmih0108 PMIC dtsi files > > Melody Olvera (3): > dt-bindings: arm: qcom: Document sm8750 SoC and boards > arm64: dts: qcom: Add base sm8750 dtsi and mtp and qrd dts > arm64: defconfig: Enable SM8750 SoC base configs > > .../devicetree/bindings/arm/qcom.yaml | 7 + > .../bindings/mfd/qcom,spmi-pmic.yaml | 2 + > arch/arm64/boot/dts/qcom/Makefile | 2 + > arch/arm64/boot/dts/qcom/pmd8028.dtsi | 56 + > arch/arm64/boot/dts/qcom/pmih0108.dtsi | 62 + > arch/arm64/boot/dts/qcom/sm8750-mtp.dts | 968 ++++++ > arch/arm64/boot/dts/qcom/sm8750-qrd.dts | 965 ++++++ > arch/arm64/boot/dts/qcom/sm8750.dtsi | 2903 +++++++++++++++++ > arch/arm64/configs/defconfig | 4 + > 9 files changed, 4969 insertions(+) > create mode 100644 arch/arm64/boot/dts/qcom/pmd8028.dtsi > create mode 100644 arch/arm64/boot/dts/qcom/pmih0108.dtsi > create mode 100644 arch/arm64/boot/dts/qcom/sm8750-mtp.dts > create mode 100644 arch/arm64/boot/dts/qcom/sm8750-qrd.dts > create mode 100644 arch/arm64/boot/dts/qcom/sm8750.dtsi > > > base-commit: 63b3ff03d91ae8f875fe8747c781a521f78cde17 > prerequisite-patch-id: 5a4ad7a91dffc1c63a6513736cab88404937bbc5 > prerequisite-patch-id: f98e160b22d065fef3919e807102619ef80a63fd > prerequisite-patch-id: 9df63975d51d61db536e843f261f837de613c0bb > prerequisite-patch-id: dca6974344b25b6160e6a2680c438bc59da33374 > prerequisite-patch-id: 36ad7b3a06074897abcbe9521452ed0ec632e2eb > prerequisite-patch-id: 255b9f24b2765ad6bb8fd5213b620ba2263d48f7 > prerequisite-patch-id: f458aa6a3d53924449be96609a0d1e65ec9f4854 > prerequisite-patch-id: 5bc1ec8226b52170508fd5ac30e31fec72e86f5a > prerequisite-patch-id: 2b556803a12148cc12c1edcb5e143a454679a047 > prerequisite-patch-id: 0924872ce84c0f0011d53e98e58bf61213e9df43 > prerequisite-patch-id: 3a6538f98c3ce876d8acf3a0c55ac04897cfaf43 > prerequisite-patch-id: 7e047c63eff592833642eae37492b09e1ea7ed2d > prerequisite-patch-id: cf8bef95f79c460b5b1c231a1122aa0173807a4d > prerequisite-patch-id: ba4dd339acd73f885fe3d5f018ac620997583599 > prerequisite-patch-id: 5b930049e39fbd1ace2562d7870c2af764fe4cd4 > prerequisite-patch-id: 58acef79b9bf6c2e7d69d598d24502787eddc910 > prerequisite-patch-id: 369d52ee563f34eeca4a9c36e6d2b36b24eac635 > prerequisite-patch-id: e02a35925d37a2e61abbf240cc8963208f54e1c0 > prerequisite-patch-id: e4bf91d9a22d34c567eeab5b0f6fb90913ee908b > -- > 2.46.1 > > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y qcom/sm8750-mtp.dtb qcom/sm8750-qrd.dtb' for 20241021232114.2636083-1-quic_molvera@quicinc.com: arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: domain-idle-states: cluster-sleep-0:compatible:0: 'domain-idle-state' was expected from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: domain-idle-states: cluster-sleep-0:compatible:0: 'domain-idle-state' was expected from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: pmic@7: 'eusb2-repeater@fd00' does not match any of the regexes: '(.*)?(wled|leds)@[0-9a-f]+$', '^adc-tm@[0-9a-f]+$', '^adc@[0-9a-f]+$', '^audio-codec@[0-9a-f]+$', '^battery@[0-9a-f]+$', '^charger@[0-9a-f]+$', '^led-controller@[0-9a-f]+$', '^mpps@[0-9a-f]+$', '^nvram@[0-9a-f]+$', '^pbs@[0-9a-f]+$', '^rtc@[0-9a-f]+$', '^temp-alarm@[0-9a-f]+$', '^typec@[0-9a-f]+$', '^usb-detect@[0-9a-f]+$', '^usb-vbus-regulator@[0-9a-f]+$', '^vibrator@[0-9a-f]+$', 'gpio@[0-9a-f]+$', 'phy@[0-9a-f]+$', 'pinctrl-[0-9]+', 'pon@[0-9a-f]+$' from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: pmic@7: 'eusb2-repeater@fd00' does not match any of the regexes: '(.*)?(wled|leds)@[0-9a-f]+$', '^adc-tm@[0-9a-f]+$', '^adc@[0-9a-f]+$', '^audio-codec@[0-9a-f]+$', '^battery@[0-9a-f]+$', '^charger@[0-9a-f]+$', '^led-controller@[0-9a-f]+$', '^mpps@[0-9a-f]+$', '^nvram@[0-9a-f]+$', '^pbs@[0-9a-f]+$', '^rtc@[0-9a-f]+$', '^temp-alarm@[0-9a-f]+$', '^typec@[0-9a-f]+$', '^usb-detect@[0-9a-f]+$', '^usb-vbus-regulator@[0-9a-f]+$', '^vibrator@[0-9a-f]+$', 'gpio@[0-9a-f]+$', 'phy@[0-9a-f]+$', 'pinctrl-[0-9]+', 'pon@[0-9a-f]+$' from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-0: Unevaluated properties are not allowed ('vdd-l1-supply', 'vdd-l10-supply', 'vdd-l4-supply' were unexpected) from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-0: Unevaluated properties are not allowed ('vdd-l1-supply', 'vdd-l10-supply', 'vdd-l4-supply' were unexpected) from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: 'power-domains' is a required property from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: 'qcom,drv-count' does not match any of the regexes: '^regulators(-[0-9])?$', 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: rsc@16500000: regulators-0: Unevaluated properties are not allowed ('vdd-l10-supply' was unexpected) from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: rsc@16500000: regulators-0: Unevaluated properties are not allowed ('vdd-l10-supply' was unexpected) from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: rsc@16500000: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: rsc@16500000: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: rsc@16500000: 'power-domains' is a required property from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: rsc@16500000: 'qcom,drv-count' does not match any of the regexes: '^regulators(-[0-9])?$', 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: regulators-0: Unevaluated properties are not allowed ('vdd-l1-supply', 'vdd-l10-supply', 'vdd-l4-supply' were unexpected) from schema $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: regulators-0: Unevaluated properties are not allowed ('vdd-l10-supply' was unexpected) from schema $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) from schema $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) from schema $id: http://devicetree.org/schemas/regulator/qcom,rpmh-regulator.yaml# arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: timer@16800000: #size-cells: 1 was expected from schema $id: http://devicetree.org/schemas/timer/arm,arch_timer_mmio.yaml# arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: timer@16800000: #size-cells: 1 was expected from schema $id: http://devicetree.org/schemas/timer/arm,arch_timer_mmio.yaml#
On 24.10.2024 6:33 PM, Rob Herring (Arm) wrote: > > On Mon, 21 Oct 2024 16:21:09 -0700, Melody Olvera wrote: >> This series adds the initial device tree support for the SM8750 SoCs >> needed to boot to shell. This specifically adds support for clocks, >> pinctrl, rpmhpd, regulators, interconnects, and SoC and board >> compatibles. >> [...] > New warnings running 'make CHECK_DTBS=y qcom/sm8750-mtp.dtb qcom/sm8750-qrd.dtb' for 20241021232114.2636083-1-quic_molvera@quicinc.com: > > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+' > from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: domain-idle-states: cluster-sleep-0:compatible:0: 'domain-idle-state' was expected > from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# > arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+' > from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# > arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: domain-idle-states: cluster-sleep-0:compatible:0: 'domain-idle-state' was expected > from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# These were recently dropped across the board, please drop them here as well. > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: pmic@7: 'eusb2-repeater@fd00' does not match any of the regexes: '(.*)?(wled|leds)@[0-9a-f]+$', '^adc-tm@[0-9a-f]+$', '^adc@[0-9a-f]+$', '^audio-codec@[0-9a-f]+$', '^battery@[0-9a-f]+$', '^charger@[0-9a-f]+$', '^led-controller@[0-9a-f]+$', '^mpps@[0-9a-f]+$', '^nvram@[0-9a-f]+$', '^pbs@[0-9a-f]+$', '^rtc@[0-9a-f]+$', '^temp-alarm@[0-9a-f]+$', '^typec@[0-9a-f]+$', '^usb-detect@[0-9a-f]+$', '^usb-vbus-regulator@[0-9a-f]+$', '^vibrator@[0-9a-f]+$', 'gpio@[0-9a-f]+$', 'phy@[0-9a-f]+$', 'pinctrl-[0-9]+', 'pon@[0-9a-f]+$' > from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# > arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: pmic@7: 'eusb2-repeater@fd00' does not match any of the regexes: '(.*)?(wled|leds)@[0-9a-f]+$', '^adc-tm@[0-9a-f]+$', '^adc@[0-9a-f]+$', '^audio-codec@[0-9a-f]+$', '^battery@[0-9a-f]+$', '^charger@[0-9a-f]+$', '^led-controller@[0-9a-f]+$', '^mpps@[0-9a-f]+$', '^nvram@[0-9a-f]+$', '^pbs@[0-9a-f]+$', '^rtc@[0-9a-f]+$', '^temp-alarm@[0-9a-f]+$', '^typec@[0-9a-f]+$', '^usb-detect@[0-9a-f]+$', '^usb-vbus-regulator@[0-9a-f]+$', '^vibrator@[0-9a-f]+$', 'gpio@[0-9a-f]+$', 'phy@[0-9a-f]+$', 'pinctrl-[0-9]+', 'pon@[0-9a-f]+$' phy@ (as seen in x1e80100-pmics.dtsi) > from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-0: Unevaluated properties are not allowed ('vdd-l1-supply', 'vdd-l10-supply', 'vdd-l4-supply' were unexpected) > from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-0: Unevaluated properties are not allowed ('vdd-l1-supply', 'vdd-l10-supply', 'vdd-l4-supply' were unexpected) > from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) > from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) > from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# These need bindings updates > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: 'power-domains' is a required property > from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# This I'll address when reviewing the dt [...] (skipping a bunch of duplicates) > arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: timer@16800000: #size-cells: 1 was expected > from schema $id: http://devicetree.org/schemas/timer/arm,arch_timer_mmio.yaml# > arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: timer@16800000: #size-cells: 1 was expected > from schema $id: http://devicetree.org/schemas/timer/arm,arch_timer_mmio.yaml# #address-cells <2> is fine, #size-cells must be 1, apparently Konrad
On 10/24/2024 10:22 AM, Konrad Dybcio wrote: > On 24.10.2024 6:33 PM, Rob Herring (Arm) wrote: >> On Mon, 21 Oct 2024 16:21:09 -0700, Melody Olvera wrote: >>> This series adds the initial device tree support for the SM8750 SoCs >>> needed to boot to shell. This specifically adds support for clocks, >>> pinctrl, rpmhpd, regulators, interconnects, and SoC and board >>> compatibles. >>> > [...] > >> New warnings running 'make CHECK_DTBS=y qcom/sm8750-mtp.dtb qcom/sm8750-qrd.dtb' for 20241021232114.2636083-1-quic_molvera@quicinc.com: >> >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+' >> from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: domain-idle-states: cluster-sleep-0:compatible:0: 'domain-idle-state' was expected >> from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# >> arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: domain-idle-states: cluster-sleep-0: 'idle-state-name' does not match any of the regexes: 'pinctrl-[0-9]+' >> from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# >> arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: domain-idle-states: cluster-sleep-0:compatible:0: 'domain-idle-state' was expected >> from schema $id: http://devicetree.org/schemas/power/domain-idle-state.yaml# > These were recently dropped across the board, please drop them > here as well. Ack. > >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: pmic@7: 'eusb2-repeater@fd00' does not match any of the regexes: '(.*)?(wled|leds)@[0-9a-f]+$', '^adc-tm@[0-9a-f]+$', '^adc@[0-9a-f]+$', '^audio-codec@[0-9a-f]+$', '^battery@[0-9a-f]+$', '^charger@[0-9a-f]+$', '^led-controller@[0-9a-f]+$', '^mpps@[0-9a-f]+$', '^nvram@[0-9a-f]+$', '^pbs@[0-9a-f]+$', '^rtc@[0-9a-f]+$', '^temp-alarm@[0-9a-f]+$', '^typec@[0-9a-f]+$', '^usb-detect@[0-9a-f]+$', '^usb-vbus-regulator@[0-9a-f]+$', '^vibrator@[0-9a-f]+$', 'gpio@[0-9a-f]+$', 'phy@[0-9a-f]+$', 'pinctrl-[0-9]+', 'pon@[0-9a-f]+$' >> from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# >> arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: pmic@7: 'eusb2-repeater@fd00' does not match any of the regexes: '(.*)?(wled|leds)@[0-9a-f]+$', '^adc-tm@[0-9a-f]+$', '^adc@[0-9a-f]+$', '^audio-codec@[0-9a-f]+$', '^battery@[0-9a-f]+$', '^charger@[0-9a-f]+$', '^led-controller@[0-9a-f]+$', '^mpps@[0-9a-f]+$', '^nvram@[0-9a-f]+$', '^pbs@[0-9a-f]+$', '^rtc@[0-9a-f]+$', '^temp-alarm@[0-9a-f]+$', '^typec@[0-9a-f]+$', '^usb-detect@[0-9a-f]+$', '^usb-vbus-regulator@[0-9a-f]+$', '^vibrator@[0-9a-f]+$', 'gpio@[0-9a-f]+$', 'phy@[0-9a-f]+$', 'pinctrl-[0-9]+', 'pon@[0-9a-f]+$' > phy@ (as seen in x1e80100-pmics.dtsi) Ack. > >> from schema $id: http://devicetree.org/schemas/mfd/qcom,spmi-pmic.yaml# >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-0: Unevaluated properties are not allowed ('vdd-l1-supply', 'vdd-l10-supply', 'vdd-l4-supply' were unexpected) >> from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-0: Unevaluated properties are not allowed ('vdd-l1-supply', 'vdd-l10-supply', 'vdd-l4-supply' were unexpected) These actually needed to be combined; they should be vdd-l1-l4-l10-supply. Will fix. >> from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) >> from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: regulators-4: Unevaluated properties are not allowed ('vdd-s7-supply', 'vdd-s8-supply' were unexpected) >> from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# > These need bindings updates Agreed; this regulator is not documented correctly. Will address in a v2 ps. > >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: 'power-domains' is a required property >> from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# > This I'll address when reviewing the dt So for this, let me know if the following seems about right. The rsc node needs a system-wide power domain defined. To accomplish this, I would define a system_pd node and point both cluster pd nodes to it via power-domains, similar to what you did here: https://lore.kernel.org/all/20240102-topic-x1e_fixes-v1-3-70723e08d5f6@linaro.org/ Then, extrapolating from that, I can define a system-wide idle-state under the domain-idle-state node as follows: domain_ss3: domain-sleep-0 { compatible = "domain-idle-state"; [...] (omitting a bunch of details, but you get the point) }; And then point to that from the new system_pd node under the psci node: system_pd: power-domain-system { #power-domain-cells = <0>; domain-idle-states = <&domain_ss3>; }; And then of course in the rsc node, have power-domains = <&system_pd>; Is that correct? > > [...] (skipping a bunch of duplicates) > >> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: timer@16800000: #size-cells: 1 was expected >> from schema $id: http://devicetree.org/schemas/timer/arm,arch_timer_mmio.yaml# >> arch/arm64/boot/dts/qcom/sm8750-qrd.dtb: timer@16800000: #size-cells: 1 was expected >> from schema $id: http://devicetree.org/schemas/timer/arm,arch_timer_mmio.yaml# > #address-cells <2> is fine, #size-cells must be 1, apparently Ack. Thanks, Melody
On 22.10.2024 1:21 AM, Melody Olvera wrote: > Add base dtsi for the sm8750 SoC describing the CPUs, GCC and > RPMHCC clock controllers, geni UART, interrupt controller, TLMM, > reserved memory, interconnects, regulator, and SMMU nodes. Also add > MTP and QRD board dts files for sm8750. > > Co-developed-by: Taniya Das <quic_tdas@quicinc.com> > Signed-off-by: Taniya Das <quic_tdas@quicinc.com> > Co-developed-by: Jishnu Prakash <quic_jprakash@quicinc.com> > Signed-off-by: Jishnu Prakash <quic_jprakash@quicinc.com> > Co-developed-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com> > Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com> > Signed-off-by: Melody Olvera <quic_molvera@quicinc.com> > --- [...] > +&spmi_bus { > + pm8550ve_d: pmic@3 { These usually go to a separate file each.. But I see why that would be difficult here. Lately I've been a fan of <socname>-pmics.dtsi. WDYT, Bjorn? [...] > + apps_smmu: iommu@15000000 { > + compatible = "qcom,sm8750-smmu-500", "qcom,smmu-500", "arm,mmu-500"; > + reg = <0x0 0x15000000 0x0 0x100000>; > + [...] > + #iommu-cells = <2>; > + #global-interrupts = <1>; This is usually dma-coherent, you can determine that through a smoke test > + }; > + > + intc: interrupt-controller@16000000 { > + compatible = "arm,gic-v3"; > + reg = <0x0 0x16000000 0x0 0x10000>, /* GICD */ > + <0x0 0x16080000 0x0 0x200000>; /* GICR * 12 */ These comments are copypasted gen to gen and don't bring much information atop what's in bindings Konrad
On 25.10.2024 12:46 AM, Melody Olvera wrote: > > > On 10/24/2024 10:22 AM, Konrad Dybcio wrote: >> On 24.10.2024 6:33 PM, Rob Herring (Arm) wrote: >>> On Mon, 21 Oct 2024 16:21:09 -0700, Melody Olvera wrote: >>>> This series adds the initial device tree support for the SM8750 SoCs >>>> needed to boot to shell. This specifically adds support for clocks, >>>> pinctrl, rpmhpd, regulators, interconnects, and SoC and board >>>> compatibles. [...] >>> arch/arm64/boot/dts/qcom/sm8750-mtp.dtb: rsc@16500000: 'power-domains' is a required property >>> from schema $id: http://devicetree.org/schemas/soc/qcom/qcom,rpmh-rsc.yaml# >> This I'll address when reviewing the dt > > So for this, let me know if the following seems about right. > The rsc node needs a system-wide power domain defined. To accomplish this, I would define > a system_pd node and point both cluster pd nodes to it via power-domains, similar to what you did here: > https://lore.kernel.org/all/20240102-topic-x1e_fixes-v1-3-70723e08d5f6@linaro.org/ > > Then, extrapolating from that, I can define a system-wide idle-state under the domain-idle-state node as follows: > domain_ss3: domain-sleep-0 { > compatible = "domain-idle-state"; > [...] (omitting a bunch of details, but you get the point) > }; > > And then point to that from the new system_pd node under the psci node: > system_pd: power-domain-system { > #power-domain-cells = <0>; > domain-idle-states = <&domain_ss3>; > }; > > And then of course in the rsc node, have power-domains = <&system_pd>; > > Is that correct? Yes, please go ahead with this Konrad
On 11/2/2024 2:36 AM, Konrad Dybcio wrote: > On 22.10.2024 1:21 AM, Melody Olvera wrote: >> Add base dtsi for the sm8750 SoC describing the CPUs, GCC and >> RPMHCC clock controllers, geni UART, interrupt controller, TLMM, >> reserved memory, interconnects, regulator, and SMMU nodes. Also add >> MTP and QRD board dts files for sm8750. >> >> Co-developed-by: Taniya Das <quic_tdas@quicinc.com> >> Signed-off-by: Taniya Das <quic_tdas@quicinc.com> >> Co-developed-by: Jishnu Prakash <quic_jprakash@quicinc.com> >> Signed-off-by: Jishnu Prakash <quic_jprakash@quicinc.com> >> Co-developed-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com> >> Signed-off-by: Raviteja Laggyshetty <quic_rlaggysh@quicinc.com> >> Signed-off-by: Melody Olvera <quic_molvera@quicinc.com> >> --- > [...] > >> +&spmi_bus { >> + pm8550ve_d: pmic@3 { > These usually go to a separate file each.. But I see why that would > be difficult here. > > Lately I've been a fan of <socname>-pmics.dtsi. WDYT, Bjorn? SGTM, if Bjorn is fine w it, I can make that change; I'll do it similar to x1e80100-pmics.dtsi. > > [...] > >> + apps_smmu: iommu@15000000 { >> + compatible = "qcom,sm8750-smmu-500", "qcom,smmu-500", "arm,mmu-500"; >> + reg = <0x0 0x15000000 0x0 0x100000>; >> + > [...] > >> + #iommu-cells = <2>; >> + #global-interrupts = <1>; > This is usually dma-coherent, you can determine that through a smoke > test Ah yes good catch; this is supposed to be dma-coherent. Will add. > >> + }; >> + >> + intc: interrupt-controller@16000000 { >> + compatible = "arm,gic-v3"; >> + reg = <0x0 0x16000000 0x0 0x10000>, /* GICD */ >> + <0x0 0x16080000 0x0 0x200000>; /* GICR * 12 */ > These comments are copypasted gen to gen and don't bring much > information atop what's in bindings > Ack. Will remove. Thanks, Melody