[PATCH v2 00/24] dt-bindings/dts: qcom: Fix PDC OS Direct Resource Voter region window size
From: Mukesh Ojha
Date: Wed May 27 2026 - 05:45:22 EST
The Qualcomm PDC (Power Domain Controller) hardware exposes multiple
Direct Resource Voter (DRV) regions, each 0x10000 bytes in size, where
each region serves a specific system client like TZ, HYP, OS etc. Linux
only needs access to the OS DRV region.
Despite this, most platform DTS files described the PDC reg window as
0x30000 bytes three DRV regions which was wider than necessary and
matched the driver's QCOM_PDC_SIZE ioremap clamp introduced as a
workaround for early sm8150 DTs that under-reported the window.
v1 of this series [1] addressed this in two parts: driver cleanup
(tightening the ioremap clamp to 0x10000, refactoring version-specific
interrupt enable paths, etc.) and DT corrections. The driver portion
will be send separately depending on this series. This v2 sends the
remaining DT-only portion.
Patch 1 corrects the binding example, which still showed the old 0x30000
window and would mislead anyone writing a new PDC node.
Patches 2-24 correct the PDC reg size to 0x10000 across 23 platforms:
sdm845, sdm670, sc7180, sc7280, sc8180x, sm8150, sc8280xp, sm8250,
sm8350, sm8450, sm8550, sm8650, sm4450, x1e80100, sm6350, sar2130p,
talos, monaco, lemans, sdx75, milos, qdu1000 and eliza.
The net result is that every PDC node in the tree now describes exactly
one register region of 0x10000 bytes — the OS DRV region that the
driver actually maps.
[1] https://lore.kernel.org/lkml/20260410184124.1068210-1-mukesh.ojha@xxxxxxxxxxxxxxxx/
Changes in v2:
- Dropped driver patches and send them separately so that it can be
picked by irqchip maintainer.
- Rebased on linux-next (next-20260518)
- Dropped the changes which was removing second reg field in pdc.
Mukesh Ojha (24):
dt-bindings: qcom,pdc: Fix OS DRV reg size in example
arm64: dts: qcom: sdm845: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sdm670: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sc7180: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sc7280: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sc8180x: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sm8150: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sc8280xp: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sm8250: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sm8350: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sm8450: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sm8550: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sm8650: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sm4450: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: x1e80100: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sm6350: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sar2130p: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: talos: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: monaco: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: lemans: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: sdx75: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: milos: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: qdu1000: Reduce OS PDC DRV span to 0x10000
arm64: dts: qcom: eliza: Reduce OS PDC DRV span to 0x10000
.../devicetree/bindings/interrupt-controller/qcom,pdc.yaml | 2 +-
arch/arm64/boot/dts/qcom/eliza.dtsi | 2 +-
arch/arm64/boot/dts/qcom/hamoa.dtsi | 2 +-
arch/arm64/boot/dts/qcom/kodiak.dtsi | 2 +-
arch/arm64/boot/dts/qcom/lemans.dtsi | 2 +-
arch/arm64/boot/dts/qcom/milos.dtsi | 2 +-
arch/arm64/boot/dts/qcom/monaco.dtsi | 2 +-
arch/arm64/boot/dts/qcom/qdu1000.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sar2130p.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sc7180.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sc8180x.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sc8280xp.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sdm670.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sdm845.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sdx75.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sm4450.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sm6350.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sm8150.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sm8250.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sm8350.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sm8450.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sm8550.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sm8650.dtsi | 2 +-
arch/arm64/boot/dts/qcom/talos.dtsi | 2 +-
24 files changed, 24 insertions(+), 24 deletions(-)
--
2.53.0