Add initial support for Qualcomm Halliday and Samsung Galaxy XR
Subsystems (18)
cover Add initial support for Qualcomm Halliday and Samsung Galaxy XR
This series introduces initial Devicetree support for the Qualcomm Halliday (SXR2250P / Snapdragon XR2+ Gen 2) and the Samsung Galaxy XR headset (board compatible "samsung,xrvst2").
With this DT and the driver series, the headset boots to an initramfs with a shell over USB NCM.
UFS, cpufreq and the thermal zones work too. PCIe with Wi-Fi and more will follow.
Dependencies:
- The dts patches only need the Halliday TLMM, clock and interconnect series:
https://lore.kernel.org/r/[email protected]
https://lore.kernel.org/r/[email protected]
https://lore.kernel.org/r/[email protected]
The SoC ID was sent separately:
https://lore.kernel.org/r/[email protected]
This work was made together with Claude, ChatGPT and Gemini. Reviewed and tested on my Galaxy XR.
---
Stanislav Aleksandrov (17):
dt-bindings: arm: qcom-soc: Add Halliday
dt-bindings: firmware: qcom,scm: Document Halliday SCM
dt-bindings: interrupt-controller: qcom,pdc: Document Halliday PDC
dt-bindings: power: qcom,rpmpd: document the Halliday RPMh Power Domains
dt-bindings: mfd: qcom,tcsr: Add Halliday TCSR
dt-bindings: arm-smmu: Add Halliday SMMU
dt-bindings: usb: qcom,snps-dwc3: Add Halliday
dt-bindings: phy: qcom,usb-snps-femto-v2: Add Halliday HS PHY
dt-bindings: ufs: qcom,sc7180-ufshc: Add Halliday UFS
dt-bindings: phy: qcom,sc8280xp-qmp-ufs-phy: Add Halliday
dt-bindings: crypto: qcom,inline-crypto-engine: Add Halliday
dt-bindings: cpufreq: qcom-hw: Document Halliday CPUFREQ hardware
dt-bindings: thermal: qcom-tsens: Document the Halliday Temperature Sensor
dt-bindings: interconnect: OSM L3: Add Halliday EPSS L3 compatible
dt-bindings: arm: qcom: Add Samsung Galaxy XR
arm64: dts: qcom: Add initial Halliday dtsi
arm64: dts: qcom: Add Samsung Galaxy XR
.../devicetree/bindings/arm/qcom-soc.yaml | 4 +- Documentation/devicetree/bindings/arm/qcom.yaml | 5 + .../bindings/cpufreq/cpufreq-qcom-hw.yaml | 2 + .../bindings/crypto/qcom,inline-crypto-engine.yaml | 1 + .../devicetree/bindings/firmware/qcom,scm.yaml | 2 + .../bindings/interconnect/qcom,osm-l3.yaml | 1 + .../bindings/interrupt-controller/qcom,pdc.yaml | 1 + .../devicetree/bindings/iommu/arm,smmu.yaml | 2 + .../devicetree/bindings/mfd/qcom,tcsr.yaml | 1 + .../bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml | 4 + .../bindings/phy/qcom,usb-snps-femto-v2.yaml | 1 + .../devicetree/bindings/power/qcom,rpmpd.yaml | 4 + .../devicetree/bindings/thermal/qcom-tsens.yaml | 1 + .../devicetree/bindings/ufs/qcom,sc7180-ufshc.yaml | 2 + .../devicetree/bindings/usb/qcom,snps-dwc3.yaml | 3 + arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/halliday-samsung-xrvst2.dts | 218 +++ arch/arm64/boot/dts/qcom/halliday.dtsi | 1859 ++++++++++++++++++++ 18 files changed, 2110 insertions(+), 2 deletions(-)
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20261108-halliday-dts-e6ed3a2b5cd0
prerequisite-change-id: 20261108-halliday-tlmm-f250374110e0:v1
prerequisite-patch-id: 5a614cbb038d4083d1ce56b413923dfb4e7c2fd7
prerequisite-patch-id: 36f2dcc3de10d5ccba9eee25b73736189559162a
prerequisite-change-id: 20261108-halliday-clk-362190f4f5dd:v1
prerequisite-patch-id: 765d40b7543dba6580852939a5c3d177f12d0a1e
prerequisite-patch-id: f12c958fceb125bcefd8dc9de139f30a371f85a4
prerequisite-patch-id: a6559b14fa1badec8e7752940362d68306523557
prerequisite-patch-id: 3574a3f99dc1a987a61b4e4a73e0204142604a73
prerequisite-patch-id: 5ff25f591783dea61a6719bffe3961070f7167e1
prerequisite-change-id: 20261108-halliday-icc-65a5442be859:v1
prerequisite-patch-id: 94cd5dee75e96876c6a42852cf6d1b52df1c7ace
prerequisite-patch-id: 730c6d80310f7472ecbcfbdb84dff4cc864d99af
Best regards,
Signature · 1 line
Stanislav Aleksandrov <[email protected]>
PATCH 1/17 dt-bindings: arm: qcom-soc: Add Halliday
Add Halliday to the SoC codenames allowed in Qualcomm compatibles.
--- Documentation/devicetree/bindings/arm/qcom-soc.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
Documentation/devicetree/bindings/arm/qcom-soc.yaml +2 -2
@@ -30,7 +30,7 @@ select: contains: oneOf: - pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sar|sc|sd[amx]|sm|x1[ep])[0-9]+.*$" - - pattern: "^qcom,.*(eliza|kaanapali|kuno|glymur|hawi|mahua|maili|milos|nord|shikra).*$" + - pattern: "^qcom,.*(eliza|kaanapali|kuno|glymur|halliday|hawi|mahua|maili|milos|nord|shikra).*$" required: - compatible
@@ -42,7 +42,7 @@ properties: - pattern: "^qcom,(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+(pro)?-.*$" - pattern: "^qcom,sar[0-9]+[a-z]?-.*$" - pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$" - - pattern: "^qcom,(eliza|kaanapali|kuno|glymur|hawi|mahua|maili|milos|nord|shikra)-.+$" + - pattern: "^qcom,(eliza|kaanapali|kuno|glymur|halliday|hawi|mahua|maili|milos|nord|shikra)-.+$" # Legacy namings - variations of existing patterns/compatibles are OK, # but do not add completely new entries to these:
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 01/17] dt-bindings: arm: qcom-soc: Add Halliday
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Add Halliday to the SoC codenames allowed in Qualcomm compatibles.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=1
Re: [PATCH 01/17] dt-bindings: arm: qcom-soc: Add Halliday
In reply to Stanislav AleksandrovQuoted 6 lines · Stanislav Aleksandrov
Add Halliday to the SoC codenames allowed in Qualcomm compatibles.
Signed-off-by Stanislav Aleksandrov <[email protected]>--- Documentation/devicetree/bindings/arm/qcom-soc.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
This should be squashed with patch #15. Also, there is no benefit in organizing patches within patchset where patches to the SAME subsystem are split all over. #1 and #2 targets SoC, then there is a break and again we are at SoC at #15.
Best regards,
Krzysztof
Re: [PATCH 01/17] dt-bindings: arm: qcom-soc: Add Halliday
Quoted 4 lines · Krzysztof Kozlowski
This should be squashed with patch #15. Also, there is no benefit in organizing patches within patchset where patches to the SAME subsystem are split all over. #1 and #2 targets SoC, then there is a break and again we are at SoC at #15.
Thanks, I'll squash it into #15 and keep the SoC patches together in v2.
Stanislav
PATCH 2/17 dt-bindings: firmware: qcom,scm: Document Halliday SCM
In reply to Stanislav AleksandrovDocument the SCM on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/firmware/qcom,scm.yaml | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/firmware/qcom,scm.yaml +2 -0
@@ -25,6 +25,7 @@ properties: - qcom,scm-apq8084 - qcom,scm-eliza - qcom,scm-glymur + - qcom,scm-halliday - qcom,scm-hawi - qcom,scm-ipq4019 - qcom,scm-ipq5018
@@ -225,6 +226,7 @@ allOf: contains: enum: - qcom,scm-eliza + - qcom,scm-halliday - qcom,scm-hawi - qcom,scm-kaanapali - qcom,scm-maili
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 02/17] dt-bindings: firmware: qcom,scm: Document Halliday SCM
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the SCM on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=2
PATCH 3/17 dt-bindings: interrupt-controller: qcom,pdc: Document Halliday PDC
In reply to Stanislav AleksandrovDocument the Power Domain Controller on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/interrupt-controller/qcom,pdc.yaml +1 -0
@@ -28,6 +28,7 @@ properties: - enum: - qcom,eliza-pdc - qcom,glymur-pdc + - qcom,halliday-pdc - qcom,hawi-pdc - qcom,kaanapali-pdc - qcom,kuno-pdc
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 03/17] dt-bindings: interrupt-controller: qcom,pdc: Document Halliday PDC
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the Power Domain Controller on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=3
PATCH 4/17 dt-bindings: power: qcom,rpmpd: document the Halliday RPMh Power Domains
In reply to Stanislav AleksandrovDocument the RPMh Power Domains on the Qualcomm Halliday SoC (SXR2250P). Its command DB has the same power domains as SM8450 (CX, EBI, GFX, LCX, LMX, MMCX, MSS, MX and MXC), so use qcom,sm8450-rpmhpd as the fallback compatible.
--- Documentation/devicetree/bindings/power/qcom,rpmpd.yaml | 4 ++++ 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/power/qcom,rpmpd.yaml +4 -0
@@ -82,6 +82,10 @@ properties: - enum: - qcom,maili-rpmhpd - const: qcom,hawi-rpmhpd + - items: + - enum: + - qcom,halliday-rpmhpd + - const: qcom,sm8450-rpmhpd '#power-domain-cells': const: 1
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 04/17] dt-bindings: power: qcom,rpmpd: document the Halliday RPMh Power Domains
Sashiko has reviewed this patch and found no issues.
Quoted 6 lines
Document the RPMh Power Domains on the Qualcomm Halliday SoC (SXR2250P). Its command DB has the same power domains as SM8450 (CX, EBI, GFX, LCX, LMX, MMCX, MSS, MX and MXC), so use qcom,sm8450-rpmhpd as the fallback compatible.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=4
PATCH 5/17 dt-bindings: mfd: qcom,tcsr: Add Halliday TCSR
In reply to Stanislav AleksandrovDocument the TCSR block on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/mfd/qcom,tcsr.yaml +1 -0
@@ -17,6 +17,7 @@ properties: compatible: items: - enum: + - qcom,halliday-tcsr - qcom,hawi-tcsr - qcom,maili-tcsr - qcom,msm8976-tcsr
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 05/17] dt-bindings: mfd: qcom,tcsr: Add Halliday TCSR
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the TCSR block on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=5
PATCH 6/17 dt-bindings: arm-smmu: Add Halliday SMMU
In reply to Stanislav AleksandrovDocument the SMMU-500 on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/iommu/arm,smmu.yaml | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/iommu/arm,smmu.yaml +2 -0
@@ -37,6 +37,7 @@ properties: - enum: - qcom,eliza-smmu-500 - qcom,glymur-smmu-500 + - qcom,halliday-smmu-500 - qcom,hawi-smmu-500 - qcom,ipq9650-smmu-500 - qcom,kaanapali-smmu-500
@@ -629,6 +630,7 @@ allOf: - enum: - qcom,eliza-smmu-500 - qcom,glymur-smmu-500 + - qcom,halliday-smmu-500 - qcom,hawi-smmu-500 - qcom,ipq9650-smmu-500 - qcom,kaanapali-smmu-500
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 06/17] dt-bindings: arm-smmu: Add Halliday SMMU
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the SMMU-500 on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=6
PATCH 7/17 dt-bindings: usb: qcom,snps-dwc3: Add Halliday
In reply to Stanislav AleksandrovDocument the DWC3 USB controller on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/usb/qcom,snps-dwc3.yaml | 3 +++ 1 file changed, 3 insertions(+)
Documentation/devicetree/bindings/usb/qcom,snps-dwc3.yaml +3 -0
@@ -27,6 +27,7 @@ properties: - qcom,eliza-dwc3 - qcom,glymur-dwc3 - qcom,glymur-dwc3-mp + - qcom,halliday-dwc3 - qcom,hawi-dwc3 - qcom,ipq4019-dwc3 - qcom,ipq5018-dwc3
@@ -209,6 +210,7 @@ allOf: compatible: contains: enum: + - qcom,halliday-dwc3 - qcom,hawi-dwc3 - qcom,ipq5210-dwc3 - qcom,ipq5424-dwc3
@@ -570,6 +572,7 @@ allOf: contains: enum: - qcom,eliza-dwc3 + - qcom,halliday-dwc3 - qcom,hawi-dwc3 - qcom,ipq4019-dwc3 - qcom,ipq8064-dwc3
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 07/17] dt-bindings: usb: qcom,snps-dwc3: Add Halliday
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the DWC3 USB controller on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=7
PATCH 8/17 dt-bindings: phy: qcom,usb-snps-femto-v2: Add Halliday HS PHY
In reply to Stanislav AleksandrovDocument the Synopsys femto USB high-speed PHY on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/phy/qcom,usb-snps-femto-v2.yaml +1 -0
@@ -22,6 +22,7 @@ properties: - const: qcom,usb-snps-hs-5nm-phy - items: - enum: + - qcom,halliday-usb-hs-phy - qcom,qcs8300-usb-hs-phy - qcom,qdu1000-usb-hs-phy - qcom,sc7280-usb-hs-phy
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 08/17] dt-bindings: phy: qcom,usb-snps-femto-v2: Add Halliday HS PHY
Sashiko has reviewed this patch and found no issues.
Quoted 4 lines
Document the Synopsys femto USB high-speed PHY on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=8
PATCH 9/17 dt-bindings: ufs: qcom,sc7180-ufshc: Add Halliday UFS
In reply to Stanislav AleksandrovDocument the UFS host controller on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/ufs/qcom,sc7180-ufshc.yaml | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/ufs/qcom,sc7180-ufshc.yaml +2 -0
@@ -15,6 +15,7 @@ select: compatible: contains: enum: + - qcom,halliday-ufshc - qcom,milos-ufshc - qcom,msm8998-ufshc - qcom,qcs8300-ufshc
@@ -40,6 +41,7 @@ properties: - const: qcom,ufshc - items: - enum: + - qcom,halliday-ufshc - qcom,milos-ufshc - qcom,msm8998-ufshc - qcom,qcs8300-ufshc
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 09/17] dt-bindings: ufs: qcom,sc7180-ufshc: Add Halliday UFS
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the UFS host controller on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=9
PATCH 10/17 dt-bindings: phy: qcom,sc8280xp-qmp-ufs-phy: Add Halliday
In reply to Stanislav AleksandrovDocument the QMP UFS PHY on the Qualcomm Halliday SoC, which is compatible with the SM8450 one.
--- Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml | 4 ++++ 1 file changed, 4 insertions(+)
Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-ufs-phy.yaml +4 -0
@@ -28,6 +28,10 @@ properties: - enum: - qcom,qcs615-qmp-ufs-phy - const: qcom,sm6115-qmp-ufs-phy + - items: + - enum: + - qcom,halliday-qmp-ufs-phy + - const: qcom,sm8450-qmp-ufs-phy - items: - enum: - qcom,x1e80100-qmp-ufs-phy
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 10/17] dt-bindings: phy: qcom,sc8280xp-qmp-ufs-phy: Add Halliday
Sashiko has reviewed this patch and found no issues.
Quoted 4 lines
Document the QMP UFS PHY on the Qualcomm Halliday SoC, which is compatible with the SM8450 one.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=10
PATCH 11/17 dt-bindings: crypto: qcom,inline-crypto-engine: Add Halliday
In reply to Stanislav AleksandrovDocument the Inline Crypto Engine on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/crypto/qcom,inline-crypto-engine.yaml +1 -0
@@ -14,6 +14,7 @@ properties: items: - enum: - qcom,eliza-inline-crypto-engine + - qcom,halliday-inline-crypto-engine - qcom,hawi-inline-crypto-engine - qcom,kaanapali-inline-crypto-engine - qcom,maili-inline-crypto-engine
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 11/17] dt-bindings: crypto: qcom,inline-crypto-engine: Add Halliday
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the Inline Crypto Engine on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=11
PATCH 12/17 dt-bindings: cpufreq: qcom-hw: Document Halliday CPUFREQ hardware
In reply to Stanislav AleksandrovDocument the CPUFREQ hardware (EPSS) on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml | 2 ++ 1 file changed, 2 insertions(+)
Documentation/devicetree/bindings/cpufreq/cpufreq-qcom-hw.yaml +2 -0
@@ -36,6 +36,7 @@ properties: items: - enum: - qcom,eliza-cpufreq-epss + - qcom,halliday-cpufreq-epss - qcom,milos-cpufreq-epss - qcom,qcs8300-cpufreq-epss - qcom,qdu1000-cpufreq-epss
@@ -135,6 +136,7 @@ allOf: compatible: contains: enum: + - qcom,halliday-cpufreq-epss - qcom,qcs615-cpufreq-hw - qcom,qdu1000-cpufreq-epss - qcom,sa8255p-cpufreq-epss
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 12/17] dt-bindings: cpufreq: qcom-hw: Document Halliday CPUFREQ hardware
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the CPUFREQ hardware (EPSS) on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=12
PATCH 13/17 dt-bindings: thermal: qcom-tsens: Document the Halliday Temperature Sensor
In reply to Stanislav AleksandrovDocument the Temperature Sensor (TSENS) on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/thermal/qcom-tsens.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/thermal/qcom-tsens.yaml +1 -0
@@ -57,6 +57,7 @@ properties: - enum: - qcom,eliza-tsens - qcom,glymur-tsens + - qcom,halliday-tsens - qcom,hawi-tsens - qcom,kaanapali-tsens - qcom,maili-tsens
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 13/17] dt-bindings: thermal: qcom-tsens: Document the Halliday Temperature Sensor
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the Temperature Sensor (TSENS) on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=13
PATCH 14/17 dt-bindings: interconnect: OSM L3: Add Halliday EPSS L3 compatible
In reply to Stanislav AleksandrovDocument the EPSS L3 interconnect on the Qualcomm Halliday SoC.
--- Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml | 1 + 1 file changed, 1 insertion(+)
Documentation/devicetree/bindings/interconnect/qcom,osm-l3.yaml +1 -0
@@ -31,6 +31,7 @@ properties: - items: - enum: - qcom,eliza-epss-l3 + - qcom,halliday-epss-l3 - qcom,milos-epss-l3 - qcom,sa8775p-epss-l3 - qcom,sc7280-epss-l3
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 14/17] dt-bindings: interconnect: OSM L3: Add Halliday EPSS L3 compatible
Sashiko has reviewed this patch and found no issues.
Quoted 3 lines
Document the EPSS L3 interconnect on the Qualcomm Halliday SoC.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=14
PATCH 15/17 dt-bindings: arm: qcom: Add Samsung Galaxy XR
In reply to Stanislav AleksandrovDocument the Samsung Galaxy XR headset, which is based on the Qualcomm Halliday SoC (SXR2250P).
--- Documentation/devicetree/bindings/arm/qcom.yaml | 5 +++++ 1 file changed, 5 insertions(+)
Documentation/devicetree/bindings/arm/qcom.yaml +5 -0
@@ -94,6 +94,11 @@ properties: - qcom,glymur-qcb - const: qcom,glymur + - items: + - enum: + - samsung,xrvst2 + - const: qcom,halliday + - items: - enum: - 8dev,jalapeno
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 15/17] dt-bindings: arm: qcom: Add Samsung Galaxy XR
Sashiko has reviewed this patch and found no issues.
Quoted 4 lines
Document the Samsung Galaxy XR headset, which is based on the Qualcomm Halliday SoC (SXR2250P).
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=15
PATCH 16/17 arm64: dts: qcom: Add initial Halliday dtsi
In reply to Stanislav AleksandrovAdd the device tree for the Qualcomm Halliday SoC
(SXR2250P / Snapdragon XR2+ Gen 2).
It describes the CPUs with their idle states, cpufreq and OPP tables, the GIC and the PDC, the timers, SCM, SMEM, RPMh with its clocks, power domains and interconnects, TLMM, GCC, SPMI, the apps SMMU, USB, UFS with ICE, TSENS with the thermal zones and the PMU.
--- arch/arm64/boot/dts/qcom/halliday.dtsi | 1859 ++++++++++++++++++++++++++++++++ 1 file changed, 1859 insertions(+)
arch/arm64/boot/dts/qcom/halliday.dtsi new file +1859 -0
@@ -0,0 +1,1859 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2026, Stanislav Aleksandrov <[email protected]> + */ + +#include <dt-bindings/clock/qcom,halliday-gcc.h> +#include <dt-bindings/clock/qcom,rpmh.h> +#include <dt-bindings/interconnect/qcom,halliday-rpmh.h> +#include <dt-bindings/interconnect/qcom,icc.h> +#include <dt-bindings/interconnect/qcom,osm-l3.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/power/qcom,rpmhpd.h> +#include <dt-bindings/soc/qcom,rpmh-rsc.h> + +/ { + interrupt-parent = <&intc>; + + #address-cells = <2>; + #size-cells = <2>; + + chosen { + }; + + clocks { + sleep_clk: sleep-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; + + xo_board: xo-board { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; + }; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + cpu0: cpu@0 { + device_type = "cpu"; + compatible = "arm,cortex-a78c"; + reg = <0 0>; + clocks = <&cpufreq_hw 0>; + enable-method = "psci"; + next-level-cache = <&l2_0>; + power-domains = <&cpu_pd0>; + power-domain-names = "psci"; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + operating-points-v2 = <&cpu0_opp_table>; + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &gem_noc SLAVE_LLCC QCOM_ICC_TAG_ACTIVE_ONLY>, + <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ACTIVE_ONLY + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>, + <&epss_l3 MASTER_EPSS_L3_APPS + &epss_l3 SLAVE_EPSS_L3_SHARED>; + #cooling-cells = <2>; + qcom,freq-domain = <&cpufreq_hw 0>; + + l2_0: l2-cache { + compatible = "cache"; + cache-level = <2>; + cache-unified; + next-level-cache = <&l3_0>; + + l3_0: l3-cache { + compatible = "cache"; + cache-level = <3>; + cache-unified; + }; + }; + }; + + cpu1: cpu@100 { + device_type = "cpu"; + compatible = "arm,cortex-a78c"; + reg = <0 0x100>; + clocks = <&cpufreq_hw 0>; + enable-method = "psci"; + next-level-cache = <&l2_100>; + power-domains = <&cpu_pd1>; + power-domain-names = "psci"; + capacity-dmips-mhz = <1024>; + dynamic-power-coefficient = <100>; + operating-points-v2 = <&cpu0_opp_table>; + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &gem_noc SLAVE_LLCC QCOM_ICC_TAG_ACTIVE_ONLY>, + <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ACTIVE_ONLY + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>, + <&epss_l3 MASTER_EPSS_L3_APPS + &epss_l3 SLAVE_EPSS_L3_SHARED>; + #cooling-cells = <2>; + qcom,freq-domain = <&cpufreq_hw 0>; + + l2_100: l2-cache { + compatible = "cache"; + cache-level = <2>; + cache-unified; + next-level-cache = <&l3_0>; + }; + }; + + cpu2: cpu@200 { + device_type = "cpu"; + compatible = "arm,cortex-a78c"; + reg = <0 0x200>; + clocks = <&cpufreq_hw 1>; + enable-method = "psci"; + next-level-cache = <&l2_200>; + power-domains = <&cpu_pd2>; + power-domain-names = "psci"; + capacity-dmips-mhz = <1075>; + dynamic-power-coefficient = <85>; + operating-points-v2 = <&cpu2_opp_table>; + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &gem_noc SLAVE_LLCC QCOM_ICC_TAG_ACTIVE_ONLY>, + <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ACTIVE_ONLY + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>, + <&epss_l3 MASTER_EPSS_L3_APPS + &epss_l3 SLAVE_EPSS_L3_SHARED>; + #cooling-cells = <2>; + qcom,freq-domain = <&cpufreq_hw 1>; + + l2_200: l2-cache { + compatible = "cache"; + cache-level = <2>; + cache-unified; + next-level-cache = <&l3_0>; + }; + }; + + cpu3: cpu@300 { + device_type = "cpu"; + compatible = "arm,cortex-a78c"; + reg = <0 0x300>; + clocks = <&cpufreq_hw 1>; + enable-method = "psci"; + next-level-cache = <&l2_300>; + power-domains = <&cpu_pd3>; + power-domain-names = "psci"; + capacity-dmips-mhz = <1075>; + dynamic-power-coefficient = <85>; + operating-points-v2 = <&cpu2_opp_table>; + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &gem_noc SLAVE_LLCC QCOM_ICC_TAG_ACTIVE_ONLY>, + <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ACTIVE_ONLY + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>, + <&epss_l3 MASTER_EPSS_L3_APPS + &epss_l3 SLAVE_EPSS_L3_SHARED>; + #cooling-cells = <2>; + qcom,freq-domain = <&cpufreq_hw 1>; + + l2_300: l2-cache { + compatible = "cache"; + cache-level = <2>; + cache-unified; + next-level-cache = <&l3_0>; + }; + }; + + cpu4: cpu@400 { + device_type = "cpu"; + compatible = "arm,cortex-a78c"; + reg = <0 0x400>; + clocks = <&cpufreq_hw 1>; + enable-method = "psci"; + next-level-cache = <&l2_400>; + power-domains = <&cpu_pd4>; + power-domain-names = "psci"; + capacity-dmips-mhz = <1075>; + dynamic-power-coefficient = <85>; + operating-points-v2 = <&cpu2_opp_table>; + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &gem_noc SLAVE_LLCC QCOM_ICC_TAG_ACTIVE_ONLY>, + <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ACTIVE_ONLY + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>, + <&epss_l3 MASTER_EPSS_L3_APPS + &epss_l3 SLAVE_EPSS_L3_SHARED>; + #cooling-cells = <2>; + qcom,freq-domain = <&cpufreq_hw 1>; + + l2_400: l2-cache { + compatible = "cache"; + cache-level = <2>; + cache-unified; + next-level-cache = <&l3_0>; + }; + }; + + cpu5: cpu@500 { + device_type = "cpu"; + compatible = "arm,cortex-a78c"; + reg = <0 0x500>; + clocks = <&cpufreq_hw 1>; + enable-method = "psci"; + next-level-cache = <&l2_500>; + power-domains = <&cpu_pd5>; + power-domain-names = "psci"; + capacity-dmips-mhz = <1075>; + dynamic-power-coefficient = <85>; + operating-points-v2 = <&cpu2_opp_table>; + interconnects = <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &gem_noc SLAVE_LLCC QCOM_ICC_TAG_ACTIVE_ONLY>, + <&mc_virt MASTER_LLCC QCOM_ICC_TAG_ACTIVE_ONLY + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ACTIVE_ONLY>, + <&epss_l3 MASTER_EPSS_L3_APPS + &epss_l3 SLAVE_EPSS_L3_SHARED>; + #cooling-cells = <2>; + qcom,freq-domain = <&cpufreq_hw 1>; + + l2_500: l2-cache { + compatible = "cache"; + cache-level = <2>; + cache-unified; + next-level-cache = <&l3_0>; + }; + }; + + cpu-map { + cluster0 { + core0 { + cpu = <&cpu0>; + }; + + core1 { + cpu = <&cpu1>; + }; + + core2 { + cpu = <&cpu2>; + }; + + core3 { + cpu = <&cpu3>; + }; + + core4 { + cpu = <&cpu4>; + }; + + core5 { + cpu = <&cpu5>; + }; + }; + }; + + domain-idle-states { + cluster_sleep_0: cluster-sleep-0 { + compatible = "domain-idle-state"; + entry-latency-us = <1050>; + exit-latency-us = <2500>; + min-residency-us = <9309>; + arm,psci-suspend-param = <0x41000044>; + }; + + cluster_sleep_1: cluster-sleep-1 { + compatible = "domain-idle-state"; + entry-latency-us = <2700>; + exit-latency-us = <3500>; + min-residency-us = <13959>; + arm,psci-suspend-param = <0x4100c344>; + }; + }; + + idle-states { + entry-method = "psci"; + + gold_cpu_sleep_0: cpu-sleep-0-0 { + compatible = "arm,idle-state"; + idle-state-name = "gold-power-collapse"; + entry-latency-us = <400>; + exit-latency-us = <1400>; + min-residency-us = <2207>; + local-timer-stop; + arm,psci-suspend-param = <0x40000003>; + }; + + gold_cpu_sleep_1: cpu-sleep-0-1 { + compatible = "arm,idle-state"; + idle-state-name = "gold-rail-power-collapse"; + entry-latency-us = <600>; + exit-latency-us = <1300>; + min-residency-us = <8136>; + local-timer-stop; + arm,psci-suspend-param = <0x40000004>; + }; + + gold_plus_cpu_sleep_0: cpu-sleep-1-0 { + compatible = "arm,idle-state"; + idle-state-name = "gold-plus-power-collapse"; + entry-latency-us = <300>; + exit-latency-us = <1450>; + min-residency-us = <3230>; + local-timer-stop; + arm,psci-suspend-param = <0x40000003>; + }; + + gold_plus_cpu_sleep_1: cpu-sleep-1-1 { + compatible = "arm,idle-state"; + idle-state-name = "gold-plus-rail-power-collapse"; + entry-latency-us = <500>; + exit-latency-us = <1350>; + min-residency-us = <7480>; + local-timer-stop; + arm,psci-suspend-param = <0x40000004>; + }; + }; + }; + + firmware { + scm: scm { + compatible = "qcom,scm-halliday", "qcom,scm"; + qcom,dload-mode = <&tcsr 0x13000>; + interconnects = <&aggre2_noc MASTER_CRYPTO QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>; + }; + }; + + clk_virt: interconnect-0 { + compatible = "qcom,halliday-clk-virt"; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + mc_virt: interconnect-1 { + compatible = "qcom,halliday-mc-virt"; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + memory@a0000000 { + device_type = "memory"; + /* We expect the bootloader to fill in the size */ + reg = <0 0xa0000000 0 0>; + }; + + cpu0_opp_table: opp-table-cpu0 { + compatible = "operating-points-v2"; + opp-shared; + + opp-691200000 { + opp-hz = /bits/ 64 <691200000>; + opp-peak-kBps = <(300000 * 16) (547000 * 4) (422400 * 32)>; + }; + + opp-960000000 { + opp-hz = /bits/ 64 <960000000>; + opp-peak-kBps = <(466500 * 16) (547000 * 4) (691200 * 32)>; + }; + + opp-1094400000 { + opp-hz = /bits/ 64 <1094400000>; + opp-peak-kBps = <(466500 * 16) (547000 * 4) (825600 * 32)>; + }; + + opp-1228800000 { + opp-hz = /bits/ 64 <1228800000>; + opp-peak-kBps = <(600000 * 16) (768000 * 4) (1075200 * 32)>; + }; + + opp-1382400000 { + opp-hz = /bits/ 64 <1382400000>; + opp-peak-kBps = <(600000 * 16) (1555000 * 4) (1209600 * 32)>; + }; + + opp-1516800000 { + opp-hz = /bits/ 64 <1516800000>; + opp-peak-kBps = <(600000 * 16) (2092000 * 4) (1401600 * 32)>; + }; + + opp-1651200000 { + opp-hz = /bits/ 64 <1651200000>; + opp-peak-kBps = <(806000 * 16) (2736000 * 4) (1612800 * 32)>; + }; + + opp-1920000000 { + opp-hz = /bits/ 64 <1920000000>; + opp-peak-kBps = <(806000 * 16) (3196000 * 4) (1708800 * 32)>; + }; + + opp-2054400000 { + opp-hz = /bits/ 64 <2054400000>; + opp-peak-kBps = <(1066000 * 16) (3196000 * 4) (1708800 * 32)>; + }; + + opp-2208000000 { + opp-hz = /bits/ 64 <2208000000>; + opp-peak-kBps = <(1066000 * 16) (3196000 * 4) (1708800 * 32)>; + }; + + opp-2361600000 { + opp-hz = /bits/ 64 <2361600000>; + opp-peak-kBps = <(1066000 * 16) (3196000 * 4) (1708800 * 32)>; + }; + }; + + cpu2_opp_table: opp-table-cpu2 { + compatible = "operating-points-v2"; + opp-shared; + + opp-691200000 { + opp-hz = /bits/ 64 <691200000>; + opp-peak-kBps = <(300000 * 16) (547000 * 4) (422400 * 32)>; + }; + + opp-960000000 { + opp-hz = /bits/ 64 <960000000>; + opp-peak-kBps = <(466500 * 16) (547000 * 4) (691200 * 32)>; + }; + + opp-1094400000 { + opp-hz = /bits/ 64 <1094400000>; + opp-peak-kBps = <(466500 * 16) (547000 * 4) (825600 * 32)>; + }; + + opp-1228800000 { + opp-hz = /bits/ 64 <1228800000>; + opp-peak-kBps = <(600000 * 16) (768000 * 4) (1075200 * 32)>; + }; + + opp-1382400000 { + opp-hz = /bits/ 64 <1382400000>; + opp-peak-kBps = <(600000 * 16) (1555000 * 4) (1209600 * 32)>; + }; + + opp-1516800000 { + opp-hz = /bits/ 64 <1516800000>; + opp-peak-kBps = <(600000 * 16) (2092000 * 4) (1401600 * 32)>; + }; + + opp-1651200000 { + opp-hz = /bits/ 64 <1651200000>; + opp-peak-kBps = <(806000 * 16) (2736000 * 4) (1612800 * 32)>; + }; + + opp-1920000000 { + opp-hz = /bits/ 64 <1920000000>; + opp-peak-kBps = <(806000 * 16) (3196000 * 4) (1708800 * 32)>; + }; + + opp-2054400000 { + opp-hz = /bits/ 64 <2054400000>; + opp-peak-kBps = <(806000 * 16) (3196000 * 4) (1708800 * 32)>; + }; + + opp-2208000000 { + opp-hz = /bits/ 64 <2208000000>; + opp-peak-kBps = <(933000 * 16) (3196000 * 4) (1708800 * 32)>; + }; + + opp-2361600000 { + opp-hz = /bits/ 64 <2361600000>; + opp-peak-kBps = <(1066000 * 16) (3196000 * 4) (1708800 * 32)>; + }; + }; + + pmu { + compatible = "arm,cortex-a78-pmu"; + interrupts = <GIC_PPI 7 IRQ_TYPE_LEVEL_LOW>; + }; + + psci { + compatible = "arm,psci-1.0"; + method = "smc"; + + cluster_pd: power-domain-cluster { + #power-domain-cells = <0>; + domain-idle-states = <&cluster_sleep_0>, <&cluster_sleep_1>; + }; + + cpu_pd0: power-domain-cpu0 { + #power-domain-cells = <0>; + power-domains = <&cluster_pd>; + domain-idle-states = <&gold_cpu_sleep_0>, <&gold_cpu_sleep_1>; + }; + + cpu_pd1: power-domain-cpu1 { + #power-domain-cells = <0>; + power-domains = <&cluster_pd>; + domain-idle-states = <&gold_cpu_sleep_0>, <&gold_cpu_sleep_1>; + }; + + cpu_pd2: power-domain-cpu2 { + #power-domain-cells = <0>; + power-domains = <&cluster_pd>; + domain-idle-states = <&gold_plus_cpu_sleep_0>, <&gold_plus_cpu_sleep_1>; + }; + + cpu_pd3: power-domain-cpu3 { + #power-domain-cells = <0>; + power-domains = <&cluster_pd>; + domain-idle-states = <&gold_plus_cpu_sleep_0>, <&gold_plus_cpu_sleep_1>; + }; + + cpu_pd4: power-domain-cpu4 { + #power-domain-cells = <0>; + power-domains = <&cluster_pd>; + domain-idle-states = <&gold_plus_cpu_sleep_0>, <&gold_plus_cpu_sleep_1>; + }; + + cpu_pd5: power-domain-cpu5 { + #power-domain-cells = <0>; + power-domains = <&cluster_pd>; + domain-idle-states = <&gold_plus_cpu_sleep_0>, <&gold_plus_cpu_sleep_1>; + }; + }; + + reserved_memory: reserved-memory { + ranges; + #address-cells = <2>; + #size-cells = <2>; + + hyp_qheebsp_mem: hyp-qheebsp-region@80000000 { + reg = <0 0x80000000 0 0x200000>; + no-map; + }; + + hyp_data_mem: hyp-data-region@80200000 { + reg = <0 0x80200000 0 0x400000>; + no-map; + }; + + hyp_rm_hypx_mem: hyp-rm-hypx-region@80600000 { + reg = <0 0x80600000 0 0x200000>; + no-map; + }; + + cpusys_vm_mem: cpusys-vm-region@80800000 { + reg = <0 0x80800000 0 0x400000>; + no-map; + }; + + hyp_heap_mem: hyp-heap-region@80c00000 { + reg = <0 0x80c00000 0 0x200000>; + no-map; + }; + + hyp_tags_mem: hyp-tags-region@80e00000 { + reg = <0 0x80e00000 0 0x3d0000>; + no-map; + }; + + xbl_dt_log_mem: xbl-dt-log-region@81a00000 { + reg = <0 0x81a00000 0 0x40000>; + no-map; + }; + + xbl_ramdump_mem: xbl-ramdump-region@81a40000 { + reg = <0 0x81a40000 0 0x1c0000>; + no-map; + }; + + aop_image_mem: aop-image-region@81c00000 { + reg = <0 0x81c00000 0 0x60000>; + no-map; + }; + + aop_cmd_db_mem: aop-cmd-db-region@81c60000 { + compatible = "qcom,cmd-db"; + reg = <0 0x81c60000 0 0x20000>; + no-map; + }; + + aop_config_mem: aop-config-region@81c80000 { + reg = <0 0x81c80000 0 0x20000>; + no-map; + }; + + tme_crash_dump_mem: tme-crash-dump-region@81ca0000 { + reg = <0 0x81ca0000 0 0x40000>; + no-map; + }; + + tme_log_mem: tme-log-region@81ce0000 { + reg = <0 0x81ce0000 0 0x4000>; + no-map; + }; + + uefi_log_mem: uefi-log-region@81ce4000 { + reg = <0 0x81ce4000 0 0x10000>; + no-map; + }; + + chipinfo_mem: chipinfo-region@81cf4000 { + reg = <0 0x81cf4000 0 0x1000>; + no-map; + }; + + secdata_apss_mem: secdata-apss-region@81cff000 { + reg = <0 0x81cff000 0 0x1000>; + no-map; + }; + + smem_mem: smem@81d00000 { + compatible = "qcom,smem"; + reg = <0 0x81d00000 0 0x200000>; + hwlocks = <&tcsr_mutex 3>; + no-map; + }; + + global_sync_mem: global-sync-region@82600000 { + reg = <0 0x82600000 0 0x100000>; + no-map; + }; + + tz_stat_mem: tz-stat-region@82700000 { + reg = <0 0x82700000 0 0x100000>; + no-map; + }; + + video_mem: video-region@88d00000 { + reg = <0 0x88d00000 0 0x700000>; + no-map; + }; + + adsp_mem: adsp-region@89400000 { + reg = <0 0x89400000 0 0x2100000>; + no-map; + }; + + cdsp_mem: cdsp-region@8b500000 { + reg = <0 0x8b500000 0 0xf00000>; + no-map; + }; + + ipa_fw_mem: ipa-fw-region@8d500000 { + reg = <0 0x8d500000 0 0x10000>; + no-map; + }; + + ipa_gsi_mem: ipa-gsi-region@8d510000 { + reg = <0 0x8d510000 0 0xa000>; + no-map; + }; + + gpu_microcode_mem: gpu-microcode-region@8d51a000 { + reg = <0 0x8d51a000 0 0x2000>; + no-map; + }; + + spss_mem: spss-region@8d600000 { + reg = <0 0x8d600000 0 0x180000>; + no-map; + }; + + spu_tz_shared_mem: spu-tz-shared-region@8d780000 { + reg = <0 0x8d780000 0 0x80000>; + no-map; + }; + + cvp_mem: cvp-region@8d800000 { + reg = <0 0x8d800000 0 0x700000>; + no-map; + }; + + camera_mem: camera-region@8df00000 { + reg = <0 0x8df00000 0 0x800000>; + no-map; + }; + + cpucp_fw_mem: cpucp-fw-region@d8000000 { + reg = <0 0xd8000000 0 0x100000>; + no-map; + }; + + xbl_sc_mem: xbl-sc-region@d8100000 { + reg = <0 0xd8100000 0 0x40000>; + no-map; + }; + + tz_reserved_mem: tz-reserved-region@d8140000 { + reg = <0 0xd8140000 0 0x1c0000>; + no-map; + }; + + qtee_mem: qtee-region@d8300000 { + reg = <0 0xd8300000 0 0x500000>; + no-map; + }; + + ta_mem: ta-region@d8800000 { + reg = <0 0xd8800000 0 0x3000000>; + no-map; + }; + + tz_tags_mem: tz-tags-region@db800000 { + reg = <0 0xdb800000 0 0xf00000>; + no-map; + }; + }; + + soc: soc@0 { + compatible = "simple-bus"; + ranges = <0 0 0 0 0x10 0>; + dma-ranges = <0 0 0 0 0x10 0>; + #address-cells = <2>; + #size-cells = <2>; + + gcc: clock-controller@100000 { + compatible = "qcom,halliday-gcc"; + reg = <0 0x00100000 0 0x1f4200>; + clocks = <&rpmhcc RPMH_CXO_CLK>, + <&sleep_clk>, + <0>, + <0>, + <0>, + <0>, + <&ufs_mem_phy 0>, + <&ufs_mem_phy 1>, + <&ufs_mem_phy 2>, + <0>; + power-domains = <&rpmhpd RPMHPD_CX>; + #clock-cells = <1>; + #reset-cells = <1>; + #power-domain-cells = <1>; + }; + + config_noc: interconnect@1500000 { + compatible = "qcom,halliday-config-noc"; + reg = <0 0x01500000 0 0x13080>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + system_noc: interconnect@1680000 { + compatible = "qcom,halliday-system-noc"; + reg = <0 0x01680000 0 0x13080>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + pcie_anoc: interconnect@16c0000 { + compatible = "qcom,halliday-pcie-anoc"; + reg = <0 0x016c0000 0 0xc080>; + clocks = <&gcc GCC_AGGRE_NOC_PCIE_AXI_CLK>, + <&gcc GCC_CFG_NOC_PCIE_ANOC_AHB_CLK>, + <&gcc GCC_AGGRE_NOC_PCIE_SF_AXI_CLK>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + aggre1_noc: interconnect@16e0000 { + compatible = "qcom,halliday-aggre1-noc"; + reg = <0 0x016e0000 0 0x9080>; + clocks = <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, + <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + aggre2_noc: interconnect@1700000 { + compatible = "qcom,halliday-aggre2-noc"; + reg = <0 0x01700000 0 0x15080>; + clocks = <&rpmhcc RPMH_IPA_CLK>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + mmss_noc: interconnect@1740000 { + compatible = "qcom,halliday-mmss-noc"; + reg = <0 0x01740000 0 0x1c100>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + ufs_mem_hc: ufshc@1d84000 { + compatible = "qcom,halliday-ufshc", "qcom,ufshc", + "jedec,ufs-2.0"; + reg = <0 0x01d84000 0 0x3000>; + interrupts = <GIC_SPI 265 IRQ_TYPE_LEVEL_HIGH>; + + clocks = <&gcc GCC_UFS_PHY_AXI_CLK>, + <&gcc GCC_AGGRE_UFS_PHY_AXI_CLK>, + <&gcc GCC_UFS_PHY_AHB_CLK>, + <&gcc GCC_UFS_PHY_UNIPRO_CORE_CLK>, + <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_UFS_PHY_TX_SYMBOL_0_CLK>, + <&gcc GCC_UFS_PHY_RX_SYMBOL_0_CLK>, + <&gcc GCC_UFS_PHY_RX_SYMBOL_1_CLK>; + clock-names = "core_clk", + "bus_aggr_clk", + "iface_clk", + "core_clk_unipro", + "ref_clk", + "tx_lane0_sync_clk", + "rx_lane0_sync_clk", + "rx_lane1_sync_clk"; + operating-points-v2 = <&ufs_opp_table>; + + resets = <&gcc GCC_UFS_PHY_BCR>; + reset-names = "rst"; + #reset-cells = <1>; + + interconnects = <&aggre1_noc MASTER_UFS_MEM QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &config_noc SLAVE_UFS_MEM_CFG QCOM_ICC_TAG_ACTIVE_ONLY>; + interconnect-names = "ufs-ddr", + "cpu-ufs"; + + power-domains = <&gcc UFS_PHY_GDSC>; + required-opps = <&rpmhpd_opp_nom>; + + iommus = <&apps_smmu 0x60 0x0>; + dma-coherent; + + lanes-per-direction = <2>; + phys = <&ufs_mem_phy>; + phy-names = "ufsphy"; + + qcom,ice = <&ice>; + + status = "disabled"; + + ufs_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-75000000 { + opp-hz = /bits/ 64 <75000000 0 0 75000000 0 0 0 0>; + required-opps = <&rpmhpd_opp_low_svs>; + }; + + opp-150000000 { + opp-hz = /bits/ 64 <150000000 0 0 150000000 0 0 0 0>; + required-opps = <&rpmhpd_opp_svs>; + }; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000 0 0 300000000 0 0 0 0>; + required-opps = <&rpmhpd_opp_nom>; + }; + }; + }; + + ufs_mem_phy: phy@1d87000 { + compatible = "qcom,halliday-qmp-ufs-phy", "qcom,sm8450-qmp-ufs-phy"; + reg = <0 0x01d87000 0 0x1000>; + + clocks = <&rpmhcc RPMH_CXO_CLK>, + <&gcc GCC_UFS_PHY_PHY_AUX_CLK>, + <&gcc GCC_UFS_0_CLKREF_EN>; + clock-names = "ref", + "ref_aux", + "qref"; + + resets = <&ufs_mem_hc 0>; + reset-names = "ufsphy"; + + power-domains = <&gcc UFS_PHY_GDSC>; + + #clock-cells = <1>; + #phy-cells = <0>; + + status = "disabled"; + }; + + ice: crypto@1d88000 { + compatible = "qcom,halliday-inline-crypto-engine", + "qcom,inline-crypto-engine"; + reg = <0 0x01d88000 0 0x18000>; + + clocks = <&gcc GCC_UFS_PHY_ICE_CORE_CLK>, + <&gcc GCC_UFS_PHY_AHB_CLK>; + clock-names = "core", + "iface"; + + operating-points-v2 = <&ice_opp_table>; + + power-domains = <&gcc UFS_PHY_GDSC>; + + ice_opp_table: opp-table { + compatible = "operating-points-v2"; + + opp-100000000 { + opp-hz = /bits/ 64 <100000000>; + required-opps = <&rpmhpd_opp_low_svs>; + }; + + opp-201500000 { + opp-hz = /bits/ 64 <201500000>; + required-opps = <&rpmhpd_opp_svs>; + }; + + opp-403000000 { + opp-hz = /bits/ 64 <403000000>; + required-opps = <&rpmhpd_opp_nom>; + }; + }; + }; + + tcsr_mutex: hwlock@1f40000 { + compatible = "qcom,tcsr-mutex"; + reg = <0 0x01f40000 0 0x20000>; + #hwlock-cells = <1>; + }; + + tcsr: syscon@1fc0000 { + compatible = "qcom,halliday-tcsr", "syscon"; + reg = <0 0x01fc0000 0 0x30000>; + }; + + lpass_ag_noc: interconnect@3c40000 { + compatible = "qcom,halliday-lpass-ag-noc"; + reg = <0 0x03c40000 0 0x17200>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + usb_1_hsphy: phy@88e3000 { + compatible = "qcom,halliday-usb-hs-phy", + "qcom,usb-snps-hs-7nm-phy"; + reg = <0 0x088e3000 0 0x400>; + + clocks = <&gcc GCC_USB2_0_CLKREF_EN>; + clock-names = "ref"; + + resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; + + #phy-cells = <0>; + + status = "disabled"; + }; + + usb_1: usb@a600000 { + compatible = "qcom,halliday-dwc3", "qcom,snps-dwc3"; + reg = <0 0x0a600000 0 0xfc100>; + + clocks = <&gcc GCC_CFG_NOC_USB3_PRIM_AXI_CLK>, + <&gcc GCC_USB30_PRIM_MASTER_CLK>, + <&gcc GCC_AGGRE_USB3_PRIM_AXI_CLK>, + <&gcc GCC_USB30_PRIM_SLEEP_CLK>, + <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>; + clock-names = "cfg_noc", + "core", + "iface", + "sleep", + "mock_utmi"; + + assigned-clocks = <&gcc GCC_USB30_PRIM_MOCK_UTMI_CLK>, + <&gcc GCC_USB30_PRIM_MASTER_CLK>; + assigned-clock-rates = <19200000>, <200000000>; + + interrupts-extended = <&intc GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>, + <&intc GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>, + <&pdc 14 IRQ_TYPE_EDGE_BOTH>, + <&pdc 15 IRQ_TYPE_EDGE_BOTH>, + <&pdc 17 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "dwc_usb3", + "pwr_event", + "hs_phy_irq", + "dp_hs_phy_irq", + "dm_hs_phy_irq", + "ss_phy_irq"; + + power-domains = <&gcc USB30_PRIM_GDSC>; + required-opps = <&rpmhpd_opp_nom>; + + resets = <&gcc GCC_USB30_PRIM_BCR>; + + iommus = <&apps_smmu 0x40 0x0>; + dma-coherent; + + interconnects = <&aggre1_noc MASTER_USB3_0 QCOM_ICC_TAG_ALWAYS + &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>, + <&gem_noc MASTER_APPSS_PROC QCOM_ICC_TAG_ACTIVE_ONLY + &config_noc SLAVE_USB3_0 QCOM_ICC_TAG_ACTIVE_ONLY>; + interconnect-names = "usb-ddr", + "apps-usb"; + + phys = <&usb_1_hsphy>; + phy-names = "usb2-phy"; + + snps,dis_u2_susphy_quirk; + snps,dis_u3_susphy_quirk; + snps,dis_enblslpm_quirk; + snps,dis-u1-entry-quirk; + snps,dis-u2-entry-quirk; + + status = "disabled"; + }; + + pdc: interrupt-controller@b220000 { + compatible = "qcom,halliday-pdc", "qcom,pdc"; + reg = <0 0x0b220000 0 0x30000>, + <0 0x174000f0 0 0x64>; + #interrupt-cells = <2>; + interrupt-parent = <&intc>; + interrupt-controller; + qcom,pdc-ranges = <0 480 94>, + <94 609 31>, + <125 63 1>, + <126 716 12>; + }; + + tsens0: thermal-sensor@c263000 { + compatible = "qcom,halliday-tsens", "qcom,tsens-v2"; + reg = <0 0x0c263000 0 0x1000>, + <0 0x0c222000 0 0x1000>; + interrupts = <GIC_SPI 506 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 508 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "uplow", "critical"; + #thermal-sensor-cells = <1>; + #qcom,sensors = <16>; + }; + + tsens1: thermal-sensor@c265000 { + compatible = "qcom,halliday-tsens", "qcom,tsens-v2"; + reg = <0 0x0c265000 0 0x1000>, + <0 0x0c223000 0 0x1000>; + interrupts = <GIC_SPI 507 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 509 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "uplow", "critical"; + #thermal-sensor-cells = <1>; + #qcom,sensors = <15>; + }; + + spmi_bus: spmi@c400000 { + compatible = "qcom,spmi-pmic-arb"; + reg = <0 0x0c400000 0 0x3000>, + <0 0x0c500000 0 0x400000>, + <0 0x0c440000 0 0x80000>, + <0 0x0c4c0000 0 0x20000>, + <0 0x0c42d000 0 0x4000>; + reg-names = "core", "chnls", "obsrvr", "intr", "cnfg"; + interrupt-names = "periph_irq"; + interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; + #address-cells = <2>; + #size-cells = <0>; + interrupt-controller; + #interrupt-cells = <4>; + qcom,ee = <0>; + qcom,channel = <0>; + }; + + tlmm: pinctrl@f100000 { + compatible = "qcom,halliday-tlmm"; + reg = <0 0x0f100000 0 0x300000>; + interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + gpio-ranges = <&tlmm 0 0 225>; + wakeup-parent = <&pdc>; + }; + + apps_smmu: iommu@15000000 { + compatible = "qcom,halliday-smmu-500", "qcom,smmu-500", "arm,mmu-500"; + reg = <0 0x15000000 0 0x100000>; + #iommu-cells = <2>; + #global-interrupts = <1>; + interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 181 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 182 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 183 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 184 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 185 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 186 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 187 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 315 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 316 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 317 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 318 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 319 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 320 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 321 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 322 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 323 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 324 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 325 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 326 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 327 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 328 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 329 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 330 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 331 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 332 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 333 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 334 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 335 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 336 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 337 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 338 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 339 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 340 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 341 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 344 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 345 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 397 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 398 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 399 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 400 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 401 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 402 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 403 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 404 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 405 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 406 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 407 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 409 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 412 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 707 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 690 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 691 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 692 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 693 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 694 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 695 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 696 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 697 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 410 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 708 IRQ_TYPE_LEVEL_HIGH>; + dma-coherent; + }; + + intc: interrupt-controller@17200000 { + compatible = "arm,gic-v3"; + reg = <0 0x17200000 0 0x10000>, + <0 0x17260000 0 0x100000>; + #interrupt-cells = <3>; + interrupt-controller; + #redistributor-regions = <1>; + redistributor-stride = <0 0x20000>; + interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_LOW>; + }; + + timer@17420000 { + compatible = "arm,armv7-timer-mem"; + reg = <0 0x17420000 0 0x1000>; + ranges = <0 0 0 0x20000000>; + #address-cells = <1>; + #size-cells = <1>; + + frame@17421000 { + reg = <0x17421000 0x1000>, + <0x17422000 0x1000>; + frame-number = <0>; + interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>; + }; + + frame@17423000 { + reg = <0x17423000 0x1000>; + frame-number = <1>; + interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; + + status = "disabled"; + }; + + frame@17425000 { + reg = <0x17425000 0x1000>; + frame-number = <2>; + interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>; + + status = "disabled"; + }; + + frame@17427000 { + reg = <0x17427000 0x1000>; + frame-number = <3>; + interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>; + + status = "disabled"; + }; + + frame@17429000 { + reg = <0x17429000 0x1000>; + frame-number = <4>; + interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>; + + status = "disabled"; + }; + + frame@1742b000 { + reg = <0x1742b000 0x1000>; + frame-number = <5>; + interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>; + + status = "disabled"; + }; + + frame@1742d000 { + reg = <0x1742d000 0x1000>; + frame-number = <6>; + interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; + + status = "disabled"; + }; + }; + + apps_rsc: rsc@17a00000 { + compatible = "qcom,rpmh-rsc"; + reg = <0 0x17a00000 0 0x10000>, + <0 0x17a10000 0 0x10000>, + <0 0x17a20000 0 0x10000>; + reg-names = "drv-0", "drv-1", "drv-2"; + label = "apps_rsc"; + interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>; + power-domains = <&cluster_pd>; + qcom,tcs-offset = <0xd00>; + qcom,drv-id = <2>; + qcom,tcs-config = <ACTIVE_TCS 3>, <SLEEP_TCS 2>, + <WAKE_TCS 2>, <CONTROL_TCS 0>; + + apps_bcm_voter: bcm-voter { + compatible = "qcom,bcm-voter"; + }; + + rpmhcc: clock-controller { + compatible = "qcom,halliday-rpmh-clk"; + #clock-cells = <1>; + clocks = <&xo_board>; + clock-names = "xo"; + }; + + rpmhpd: power-controller { + compatible = "qcom,halliday-rpmhpd", "qcom,sm8450-rpmhpd"; + #power-domain-cells = <1>; + operating-points-v2 = <&rpmhpd_opp_table>; + + rpmhpd_opp_table: opp-table { + compatible = "operating-points-v2"; + + rpmhpd_opp_ret: opp-16 { + opp-level = <RPMH_REGULATOR_LEVEL_RETENTION>; + }; + + rpmhpd_opp_low_svs: opp-64 { + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS>; + }; + + rpmhpd_opp_low_svs_l1: opp-80 { + opp-level = <RPMH_REGULATOR_LEVEL_LOW_SVS_L1>; + }; + + rpmhpd_opp_svs: opp-128 { + opp-level = <RPMH_REGULATOR_LEVEL_SVS>; + }; + + rpmhpd_opp_svs_l0: opp-144 { + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L0>; + }; + + rpmhpd_opp_svs_l1: opp-192 { + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L1>; + }; + + rpmhpd_opp_svs_l2: opp-224 { + opp-level = <RPMH_REGULATOR_LEVEL_SVS_L2>; + }; + + rpmhpd_opp_nom: opp-256 { + opp-level = <RPMH_REGULATOR_LEVEL_NOM>; + }; + + rpmhpd_opp_nom_l0: opp-288 { + opp-level = <RPMH_REGULATOR_LEVEL_NOM_L0>; + }; + + rpmhpd_opp_nom_l1: opp-320 { + opp-level = <RPMH_REGULATOR_LEVEL_NOM_L1>; + }; + + rpmhpd_opp_nom_l2: opp-336 { + opp-level = <RPMH_REGULATOR_LEVEL_NOM_L2>; + }; + + rpmhpd_opp_turbo: opp-384 { + opp-level = <RPMH_REGULATOR_LEVEL_TURBO>; + }; + + rpmhpd_opp_turbo_l0: opp-400 { + opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L0>; + }; + + rpmhpd_opp_turbo_l1: opp-416 { + opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L1>; + }; + + rpmhpd_opp_turbo_l2: opp-432 { + opp-level = <RPMH_REGULATOR_LEVEL_TURBO_L2>; + }; + }; + }; + }; + + epss_l3: interconnect@17d90000 { + compatible = "qcom,halliday-epss-l3", "qcom,epss-l3"; + reg = <0 0x17d90000 0 0x1000>; + clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>; + clock-names = "xo", "alternate"; + #interconnect-cells = <1>; + }; + + cpufreq_hw: cpufreq@17d91000 { + compatible = "qcom,halliday-cpufreq-epss", "qcom,cpufreq-epss"; + reg = <0 0x17d91000 0 0x1000>, + <0 0x17d92000 0 0x1000>; + reg-names = "freq-domain0", "freq-domain1"; + clocks = <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_GPLL0>; + clock-names = "xo", "alternate"; + interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "dcvsh-irq-0", "dcvsh-irq-1"; + #freq-domain-cells = <1>; + #clock-cells = <1>; + }; + + gem_noc: interconnect@19100000 { + compatible = "qcom,halliday-gem-noc"; + reg = <0 0x19100000 0 0xa9080>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + + nsp_noc: interconnect@320c0000 { + compatible = "qcom,halliday-nsp-noc"; + reg = <0 0x320c0000 0 0x10000>; + #interconnect-cells = <2>; + qcom,bcm-voters = <&apps_bcm_voter>; + }; + }; + + thermal-zones { + aoss0-thermal { + thermal-sensors = <&tsens0 0>; + + trips { + aoss0-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + aoss0-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + aoss1-thermal { + thermal-sensors = <&tsens1 0>; + + trips { + aoss1-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + aoss1-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + camera0-thermal { + thermal-sensors = <&tsens1 5>; + + trips { + camera0-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + camera0-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + camera1-thermal { + thermal-sensors = <&tsens1 6>; + + trips { + camera1-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + camera1-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + cpu0-0-thermal { + thermal-sensors = <&tsens0 3>; + + trips { + cpu0-0-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu0-1-thermal { + thermal-sensors = <&tsens0 4>; + + trips { + cpu0-1-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu1-0-thermal { + thermal-sensors = <&tsens0 5>; + + trips { + cpu1-0-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu1-1-thermal { + thermal-sensors = <&tsens0 6>; + + trips { + cpu1-1-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu2-0-thermal { + thermal-sensors = <&tsens0 7>; + + trips { + cpu2-0-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu2-1-thermal { + thermal-sensors = <&tsens0 8>; + + trips { + cpu2-1-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu3-0-thermal { + thermal-sensors = <&tsens0 9>; + + trips { + cpu3-0-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu3-1-thermal { + thermal-sensors = <&tsens0 10>; + + trips { + cpu3-1-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu4-0-thermal { + thermal-sensors = <&tsens0 11>; + + trips { + cpu4-0-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu4-1-thermal { + thermal-sensors = <&tsens0 12>; + + trips { + cpu4-1-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu5-0-thermal { + thermal-sensors = <&tsens0 13>; + + trips { + cpu5-0-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpu5-1-thermal { + thermal-sensors = <&tsens0 14>; + + trips { + cpu5-1-critical { + temperature = <110000>; + hysteresis = <1000>; + type = "critical"; + }; + }; + }; + + cpuss0_thermal: cpuss0-thermal { + thermal-sensors = <&tsens0 1>; + + trips { + cpuss0-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + cpuss0-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + cpuss1_thermal: cpuss1-thermal { + thermal-sensors = <&tsens0 2>; + + trips { + cpuss1-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + cpuss1-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + ddr-thermal { + thermal-sensors = <&tsens0 15>; + + trips { + ddr-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + ddr-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + gpuss0-thermal { + thermal-sensors = <&tsens1 7>; + + trips { + gpuss0-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + gpuss0-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + gpuss1-thermal { + thermal-sensors = <&tsens1 8>; + + trips { + gpuss1-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + gpuss1-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + gpuss2-thermal { + thermal-sensors = <&tsens1 9>; + + trips { + gpuss2-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + gpuss2-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + gpuss3-thermal { + thermal-sensors = <&tsens1 10>; + + trips { + gpuss3-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + gpuss3-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + gpuss4-thermal { + thermal-sensors = <&tsens1 11>; + + trips { + gpuss4-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + gpuss4-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + gpuss5-thermal { + thermal-sensors = <&tsens1 12>; + + trips { + gpuss5-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + gpuss5-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + gpuss6-thermal { + thermal-sensors = <&tsens1 13>; + + trips { + gpuss6-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + gpuss6-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + gpuss7-thermal { + thermal-sensors = <&tsens1 14>; + + trips { + gpuss7-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + gpuss7-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + nsp0-thermal { + thermal-sensors = <&tsens1 1>; + + trips { + nsp0-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + nsp0-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + nsp1-thermal { + thermal-sensors = <&tsens1 2>; + + trips { + nsp1-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + nsp1-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + nsp2-thermal { + thermal-sensors = <&tsens1 3>; + + trips { + nsp2-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + nsp2-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + + video-thermal { + thermal-sensors = <&tsens1 4>; + + trips { + video-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + video-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot"; + }; + }; + }; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = <GIC_PPI 13 IRQ_TYPE_LEVEL_LOW>, + <GIC_PPI 14 IRQ_TYPE_LEVEL_LOW>, + <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, + <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; + }; +};
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 16/17] arm64: dts: qcom: Add initial Halliday dtsi
Sashiko has reviewed this patch and found no issues.
Quoted 9 lines
Add the device tree for the Qualcomm Halliday SoC
(SXR2250P / Snapdragon XR2+ Gen 2).It describes the CPUs with their idle states, cpufreq and OPP tables, the GIC and the PDC, the timers, SCM, SMEM, RPMh with its clocks, power domains and interconnects, TLMM, GCC, SPMI, the apps SMMU, USB, UFS with ICE, TSENS with the thermal zones and the PMU.
Signed-off-by Stanislav Aleksandrov <[email protected]>
Sashiko has reviewed this patch and found no issues.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=16
Re: [PATCH 16/17] arm64: dts: qcom: Add initial Halliday dtsi
In reply to Stanislav AleksandrovQuoted 19 lines · Stanislav Aleksandrov
Add the device tree for the Qualcomm Halliday SoC
(SXR2250P / Snapdragon XR2+ Gen 2).It describes the CPUs with their idle states, cpufreq and OPP tables, the GIC and the PDC, the timers, SCM, SMEM, RPMh with its clocks, power domains and interconnects, TLMM, GCC, SPMI, the apps SMMU, USB, UFS with ICE, TSENS with the thermal zones and the PMU.
Signed-off-by Stanislav Aleksandrov <[email protected]>--- arch/arm64/boot/dts/qcom/halliday.dtsi | 1859 ++++++++++++++++++++++++++++++++ 1 file changed, 1859 insertions(+)arch/arm64/boot/dts/qcom/halliday.dtsi new file +0
-0
arch/arm64/boot/dts/qcom/halliday.dtsi line 1
Quoted 1 line
arch/arm64/boot/dts/qcom/halliday.dtsi new file +1
-0@@ -0,0 +1,1859 @@ +// SPDX-License-Identifier: BSD-3-Clause
Odd license, suggests you copied it.
arch/arm64/boot/dts/qcom/halliday.dtsi line 3
Quoted 2 lines
arch/arm64/boot/dts/qcom/halliday.dtsi new file +2
-0+/* + * Copyright (c) 2026, Stanislav Aleksandrov <[email protected]>
You should retain original copyrights as well.
Quoted 9 lines
arch/arm64/boot/dts/qcom/halliday.dtsi new file +9
-0+ */ + +#include <dt-bindings/clock/qcom,halliday-gcc.h> +#include <dt-bindings/clock/qcom,rpmh.h> +#include <dt-bindings/interconnect/qcom,halliday-rpmh.h> +#include <dt-bindings/interconnect/qcom,icc.h> +#include <dt-bindings/interconnect/qcom,osm-l3.h> +#include <dt-bindings/interrupt-controller/arm-gic.h> +#include <dt-bindings/power/qcom,rpmhpd.h>
arch/arm64/boot/dts/qcom/halliday.dtsi line 22
Quoted 10 lines
arch/arm64/boot/dts/qcom/halliday.dtsi new file +10
-0+#include <dt-bindings/soc/qcom,rpmh-rsc.h> + +/ { + interrupt-parent = <&intc>; + + #address-cells = <2>; + #size-cells = <2>; + + chosen { + };
Drop node.
Quoted 13 lines
arch/arm64/boot/dts/qcom/halliday.dtsi new file +13
-0+ + clocks { + sleep_clk: sleep-clk { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; + + xo_board: xo-board { + compatible = "fixed-clock"; + #clock-cells = <0>; + }; + }; +
...
Quoted 6 lines
arch/arm64/boot/dts/qcom/halliday.dtsi new file +6
-0+ + thermal-zones { + aoss0-thermal { + thermal-sensors = <&tsens0 0>; + + trips {
arch/arm64/boot/dts/qcom/halliday.dtsi line 1378
Quoted 10 lines
arch/arm64/boot/dts/qcom/halliday.dtsi new file +10
-0+ aoss0-critical { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + + aoss0-hot { + temperature = <110000>; + hysteresis = <1000>; + type = "hot";
Oddly ordered. These are sorted by temperature, even if dt-check-style disagrees.
Best regards,
Krzysztof
Re: [PATCH 16/17] arm64: dts: qcom: Add initial Halliday dtsi
Quoted 3 lines · Krzysztof Kozlowski
Odd license, suggests you copied it.
You should retain original copyrights as well.
The license is BSD-3-Clause because I used sm8550.dtsi as the template for the node layout. The values come from Qualcomm's downstream anorak.dtsi, which has no license or copyright header. v2 will add the Linaro copyright from sm8550.dtsi. I'll fix the other comments in v2 too.
Stanislav
Re: [PATCH 16/17] arm64: dts: qcom: Add initial Halliday dtsi
Quoted 10 lines · Stanislav Aleksandrov
Quoted 3 lines · Krzysztof Kozlowski
Odd license, suggests you copied it.
You should retain original copyrights as well.
The license is BSD-3-Clause because I used
sm8550.dtsias the template for the node layout. The values come from Qualcomm's downstreamanorak.dtsi, which has no license or copyright header. v2 will add the Linaro copyright fromsm8550.dtsi. I'll fix the other comments in v2 too.
Sounds good.
Best regards,
Krzysztof
PATCH 17/17 arm64: dts: qcom: Add Samsung Galaxy XR
In reply to Stanislav AleksandrovAdd the device tree for the Samsung Galaxy XR headset, which is based on the Qualcomm Halliday SoC (SXR2250P).
Supported so far: the PMICs and their regulators, the power and volume down keys, USB in high-speed peripheral mode and UFS storage.
--- arch/arm64/boot/dts/qcom/Makefile | 1 + .../boot/dts/qcom/halliday-samsung-xrvst2.dts | 218 +++++++++++++++++++++ 2 files changed, 219 insertions(+)
arch/arm64/boot/dts/qcom/Makefile +1 -0
@@ -22,6 +22,7 @@ dtb-$(CONFIG_ARCH_QCOM) += glymur-crd.dtb dtb-$(CONFIG_ARCH_QCOM) += glymur-hp-elitebook-x-g2q.dtb dtb-$(CONFIG_ARCH_QCOM) += glymur-lenovo-yoga-slim7x.dtb dtb-$(CONFIG_ARCH_QCOM) += glymur-qcb.dtb +dtb-$(CONFIG_ARCH_QCOM) += halliday-samsung-xrvst2.dtb dtb-$(CONFIG_ARCH_QCOM) += hamoa-advantech-som-db5830.dtb dtb-$(CONFIG_ARCH_QCOM) += hamoa-iot-evk.dtb
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts new file +218 -0
218 lines not on this page · raw message
Signature · 1 line
2.55.0
[email protected]
AI reviewRe: [PATCH 17/17] arm64: dts: qcom: Add Samsung Galaxy XR
Thank you for your contribution! Sashiko AI review found 1 potential issue to consider: - [Low] arm64: dts: qcom: invalid chassis-type value in halliday-samsung-xrvst2.dts --
Thank you for your contribution! Sashiko AI review found 1 potential issue to consider:
- [Low] arm64: dts: qcom: invalid chassis-type value in halliday-samsung-xrvst2.dts
--
commit d2d9cbc7744fd9c3d95a63b1d3df85d5cbe99afb
Author: Stanislav Aleksandrov <[email protected]>
arm64: dts: qcom: Add Samsung Galaxy XR
This commit adds the device tree for the Samsung Galaxy XR headset based on the Qualcomm Halliday SoC (SXR2250P).
Quoted 6 lines
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts new file +0
-0@@ -0,0 +1,218 @@
[ ... ]
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts line 27
Quoted 4 lines
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts new file +4
-0+/ { + model = "Samsung Galaxy XR"; + compatible = "samsung,xrvst2", "qcom,halliday"; + chassis-type = "headset";
[Severity: Low]
Is "headset" a valid value for chassis-type in the root node? The Devicetree Specification and dtschema (schemas/root-node.yaml) only permit desktop, laptop, convertible, server, tablet, handset, watch, embedded, television, and all-in-one, so dtbs_check fails on this DTB unless a standard value (such as "embedded") is used or chassis-type is omitted.
Signature · 1 line
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=17
Re: [PATCH 17/17] arm64: dts: qcom: Add Samsung Galaxy XR
"headset" was added to dt-schema recently:
https://github.com/devicetree-org/dt-schema/commit/bcb597bbb0c988b490fdd6ed08d023d6ddc538b9
пн, 9 нояб. 2026 г. в 00:57, <[email protected]>:
Quoted 36 lines
Thank you for your contribution! Sashiko AI review found 1 potential issue to consider:
- [Low] arm64: dts: qcom: invalid chassis-type value inhalliday-samsung-xrvst2.dts
--commit
d2d9cbc7744fd9c3d95a63b1d3df85d5cbe99afb
Author: Stanislav Aleksandrov <[email protected]>arm64: dts: qcom: Add Samsung Galaxy XR
This commit adds the device tree for the Samsung Galaxy XR headset based on the Qualcomm Halliday SoC (SXR2250P).
Quoted 6 lines
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts new file +0
-0@@ -0,0 +1,218 @@[ ... ]
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts line 27
Quoted 4 lines
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts new file +4
-0+/ { + model = "Samsung Galaxy XR"; + compatible = "samsung,xrvst2", "qcom,halliday"; + chassis-type = "headset";[Severity: Low]
Is "headset" a valid value for chassis-type in the root node? The Devicetree Specification and dtschema (schemas/root-node.yaml) only permit desktop, laptop, convertible, server, tablet, handset, watch, embedded, television, and all-in-one, sodtbs_checkfails on this DTB unless a standard value (such as "embedded") is used or chassis-type is omitted.--
Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=17
Re: [PATCH 17/17] arm64: dts: qcom: Add Samsung Galaxy XR
In reply to Stanislav AleksandrovQuoted 8 lines · Stanislav Aleksandrov
Add the device tree for the Samsung Galaxy XR headset, which is based on the Qualcomm Halliday SoC (SXR2250P).
Supported so far: the PMICs and their regulators, the power and volume down keys, USB in high-speed peripheral mode and UFS storage.
Signed-off-by Stanislav Aleksandrov <[email protected]>---
[...]
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts line 203
Quoted 4 lines
+&usb_1 {
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts new file +3
-0+ dr_mode = "peripheral"; + maximum-speed = "high-speed"; + qcom,select-utmi-as-pipe-clk;
Is there no superspeed / dp altmode in hardware?
Konrad
Re: [PATCH 17/17] arm64: dts: qcom: Add Samsung Galaxy XR
Quoted 7 lines · Konrad Dybcio
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts line 203
Quoted 4 lines · Stanislav Aleksandrov
+&usb_1 {
arch/arm64/boot/dts/qcom/halliday-samsung-xrvst2.dts new file +3
-0+ dr_mode = "peripheral"; + maximum-speed = "high-speed"; + qcom,select-utmi-as-pipe-clk;Is there no superspeed / dp altmode in hardware?
The headset supports USB SuperSpeed and DisplayPort via its USB Type-C port, I just haven't brought them up yet. It seems we need a new driver for the Type-C controller.
Stanislav