From 6f5b42eba076b57d769ba937b99ff71f82b30fbb Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 00:19:16 +1100 Subject: [PATCH 1/5] arm64: dts: apple: t8132: Enable CPU DVFS and deep idle on the cooled M4 Macs The M4 cluster cpufreq and cpuidle nodes are only enabled on the J713 (MacBook Air 13), where they wait for that board's thermal owner. The MacBook Pro 14 (J604), both iMacs (J623, J624) and the Mac mini (J773g) have fans and run the same SoC blocks, but booted without DVFS or deep idle. Enable cpufreq_e, cpufreq_p and cpuidle on those four boards. The J715 (MacBook Air 15) is fanless like the J713 and stays as it is until it has the same thermal owner. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- arch/arm64/boot/dts/apple/t8132-j604.dts | 16 ++++++++++++++++ arch/arm64/boot/dts/apple/t8132-j623.dts | 16 ++++++++++++++++ arch/arm64/boot/dts/apple/t8132-j624.dts | 16 ++++++++++++++++ arch/arm64/boot/dts/apple/t8132-j773g.dts | 16 ++++++++++++++++ 4 files changed, 64 insertions(+) diff --git a/arch/arm64/boot/dts/apple/t8132-j604.dts b/arch/arm64/boot/dts/apple/t8132-j604.dts index 8a065a6f47a7b..a0f6c5dc29507 100644 --- a/arch/arm64/boot/dts/apple/t8132-j604.dts +++ b/arch/arm64/boot/dts/apple/t8132-j604.dts @@ -34,3 +34,19 @@ &fpwm1 { status = "okay"; }; + +/* + * CPU DVFS and deep idle, as on the J713. This machine has a fan, so + * it does not need the board thermal owner the fanless Airs wait for. + */ +&cpufreq_e { + status = "okay"; +}; + +&cpufreq_p { + status = "okay"; +}; + +&cpuidle { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/apple/t8132-j623.dts b/arch/arm64/boot/dts/apple/t8132-j623.dts index 9b94a6ae74a20..34d5c425d4c8b 100644 --- a/arch/arm64/boot/dts/apple/t8132-j623.dts +++ b/arch/arm64/boot/dts/apple/t8132-j623.dts @@ -17,3 +17,19 @@ model = "Apple iMac (24-inch, 2x USB-C, M4, 2024)"; chassis-type = "all-in-one"; }; + +/* + * CPU DVFS and deep idle, as on the J713. This machine has a fan, so + * it does not need the board thermal owner the fanless Airs wait for. + */ +&cpufreq_e { + status = "okay"; +}; + +&cpufreq_p { + status = "okay"; +}; + +&cpuidle { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/apple/t8132-j624.dts b/arch/arm64/boot/dts/apple/t8132-j624.dts index 37e1a46f89b84..d41d359854bd2 100644 --- a/arch/arm64/boot/dts/apple/t8132-j624.dts +++ b/arch/arm64/boot/dts/apple/t8132-j624.dts @@ -17,3 +17,19 @@ model = "Apple iMac (24-inch, 4x USB-C, M4, 2024)"; chassis-type = "all-in-one"; }; + +/* + * CPU DVFS and deep idle, as on the J713. This machine has a fan, so + * it does not need the board thermal owner the fanless Airs wait for. + */ +&cpufreq_e { + status = "okay"; +}; + +&cpufreq_p { + status = "okay"; +}; + +&cpuidle { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/apple/t8132-j773g.dts b/arch/arm64/boot/dts/apple/t8132-j773g.dts index 2f16f8e62c06c..3da708213e194 100644 --- a/arch/arm64/boot/dts/apple/t8132-j773g.dts +++ b/arch/arm64/boot/dts/apple/t8132-j773g.dts @@ -24,3 +24,19 @@ &framebuffer0 { power-domains = <&ps_dispext0_fe>, <&ps_dptx_phy>; }; + +/* + * CPU DVFS and deep idle, as on the J713. This machine has a fan, so + * it does not need the board thermal owner the fanless Airs wait for. + */ +&cpufreq_e { + status = "okay"; +}; + +&cpufreq_p { + status = "okay"; +}; + +&cpuidle { + status = "okay"; +}; From 2b21ac598355512b1a5f489ec1a36053e759add6 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:48:41 +1100 Subject: [PATCH 2/5] arm64: dts: apple: describe disabled T8132 peripheral resources Add structural resource descriptions for unclaimed M4 engines and buses, with SoC-specific schemas and per-board gap ledgers. Keep these interfaces disabled until their lifecycle and firmware contracts are qualified. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/arm/apple.yaml | 4 +- .../bindings/bus/apple,t8132-dwi.yaml | 53 ++ .../clock/apple,t8132-pmgr-clocks.yaml | 39 ++ .../bindings/crypto/apple,t8132-aes.yaml | 58 +++ .../display/apple,t8132-dcp-expert.yaml | 43 ++ .../bindings/display/apple,t8132-dp-in.yaml | 48 ++ .../bindings/dma/apple,t8132-pcie-piodma.yaml | 48 ++ .../apple,t8132-aon-ptd.yaml | 57 ++ .../bindings/iommu/apple,t8132-dapf.yaml | 43 ++ .../bindings/iommu/apple,t8132-dart-smmu.yaml | 43 ++ .../bindings/iommu/apple,t8132-gapf.yaml | 43 ++ .../bindings/media/apple,t8132-ave.yaml | 62 +++ .../bindings/media/apple,t8132-jpeg.yaml | 62 +++ .../bindings/media/apple,t8132-prores.yaml | 58 +++ .../bindings/media/apple,t8132-scaler.yaml | 62 +++ .../bindings/pwm/apple,t8132-pwm.yaml | 53 ++ .../bindings/soc/apple/apple,t8132-aft.yaml | 43 ++ .../soc/apple/apple,t8132-debug-port.yaml | 48 ++ .../devicetree/bindings/spmi/apple,spmi.yaml | 6 +- .../dts/apple/t8132-peripheral-buses.dtsi | 85 +++ .../boot/dts/apple/t8132-peripherals.dtsi | 398 ++++++++++++++ arch/arm64/boot/dts/apple/t8132.dtsi | 4 + docs/devicetree/DT-GAPS-j604.md | 469 +++++++++++++++++ docs/devicetree/DT-GAPS-j623.md | 395 ++++++++++++++ docs/devicetree/DT-GAPS-j624.md | 489 ++++++++++++++++++ docs/devicetree/DT-GAPS-j713.md | 396 ++++++++++++++ docs/devicetree/DT-GAPS-j715.md | 404 +++++++++++++++ docs/devicetree/DT-GAPS-j773g.md | 419 +++++++++++++++ 28 files changed, 3929 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/bus/apple,t8132-dwi.yaml create mode 100644 Documentation/devicetree/bindings/clock/apple,t8132-pmgr-clocks.yaml create mode 100644 Documentation/devicetree/bindings/crypto/apple,t8132-aes.yaml create mode 100644 Documentation/devicetree/bindings/display/apple,t8132-dcp-expert.yaml create mode 100644 Documentation/devicetree/bindings/display/apple,t8132-dp-in.yaml create mode 100644 Documentation/devicetree/bindings/dma/apple,t8132-pcie-piodma.yaml create mode 100644 Documentation/devicetree/bindings/interrupt-controller/apple,t8132-aon-ptd.yaml create mode 100644 Documentation/devicetree/bindings/iommu/apple,t8132-dapf.yaml create mode 100644 Documentation/devicetree/bindings/iommu/apple,t8132-dart-smmu.yaml create mode 100644 Documentation/devicetree/bindings/iommu/apple,t8132-gapf.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,t8132-ave.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,t8132-jpeg.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,t8132-prores.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,t8132-scaler.yaml create mode 100644 Documentation/devicetree/bindings/pwm/apple,t8132-pwm.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8132-aft.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8132-debug-port.yaml create mode 100644 arch/arm64/boot/dts/apple/t8132-peripheral-buses.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8132-peripherals.dtsi create mode 100644 docs/devicetree/DT-GAPS-j604.md create mode 100644 docs/devicetree/DT-GAPS-j623.md create mode 100644 docs/devicetree/DT-GAPS-j624.md create mode 100644 docs/devicetree/DT-GAPS-j713.md create mode 100644 docs/devicetree/DT-GAPS-j715.md create mode 100644 docs/devicetree/DT-GAPS-j773g.md diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml index f0061e05acbef..19972afe6eb3d 100644 --- a/Documentation/devicetree/bindings/arm/apple.yaml +++ b/Documentation/devicetree/bindings/arm/apple.yaml @@ -357,8 +357,8 @@ properties: - apple,j604 # MacBook Pro (14-inch, M4, 2024) - apple,j623 # iMac (24-inch, 2x USB-C, M4, 2024) - apple,j624 # iMac (24-inch, 4x USB-C, M4, 2024) - - apple,j713 # MacBook Air (13-inch, M3, 2025) - - apple,j715 # MacBook Air (15-inch, M3, 2025) + - apple,j713 # MacBook Air (13-inch, M4, 2025) + - apple,j715 # MacBook Air (15-inch, M4, 2025) - apple,j773g # Mac mini (M4, 2024) - const: apple,t8132 - const: apple,arm-platform diff --git a/Documentation/devicetree/bindings/bus/apple,t8132-dwi.yaml b/Documentation/devicetree/bindings/bus/apple,t8132-dwi.yaml new file mode 100644 index 0000000000000..3892e402d97be --- /dev/null +++ b/Documentation/devicetree/bindings/bus/apple,t8132-dwi.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/bus/apple,t8132-dwi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC two-wire display interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC two-wire display interface. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-dwi + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-dwi + - const: apple,dwi + + reg: + minItems: 1 + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - power-domains + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/clock/apple,t8132-pmgr-clocks.yaml b/Documentation/devicetree/bindings/clock/apple,t8132-pmgr-clocks.yaml new file mode 100644 index 0000000000000..f48ab4bc18f48 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/apple,t8132-pmgr-clocks.yaml @@ -0,0 +1,39 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/apple,t8132-pmgr-clocks.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8132 peripheral clock namespace + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + PMGR peripheral clock outputs identified by the hardware clock IDs. + The provider describes the wiring without assuming fixed frequencies + or programming sequences. It remains disabled until a clock driver can + manage those outputs. The single clock specifier is the hardware clock ID. + +select: + properties: + compatible: + contains: + const: apple,t8132-pmgr-clocks + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8132-pmgr-clocks + - const: apple,pmgr-clocks + + '#clock-cells': + const: 1 + +required: + - compatible + - '#clock-cells' + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/crypto/apple,t8132-aes.yaml b/Documentation/devicetree/bindings/crypto/apple,t8132-aes.yaml new file mode 100644 index 0000000000000..3606d09795041 --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/apple,t8132-aes.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/crypto/apple,t8132-aes.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC AES accelerator + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC AES accelerator. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-aes + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-aes + - const: apple,aes + + reg: + minItems: 3 + maxItems: 3 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/display/apple,t8132-dcp-expert.yaml b/Documentation/devicetree/bindings/display/apple,t8132-dcp-expert.yaml new file mode 100644 index 0000000000000..192b9e9a3b0cc --- /dev/null +++ b/Documentation/devicetree/bindings/display/apple,t8132-dcp-expert.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/apple,t8132-dcp-expert.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC display power sideband + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC display power sideband. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-dcp-expert + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-dcp-expert + - const: apple,dcp-expert + + reg: + minItems: 2 + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/display/apple,t8132-dp-in.yaml b/Documentation/devicetree/bindings/display/apple,t8132-dp-in.yaml new file mode 100644 index 0000000000000..16164c072520f --- /dev/null +++ b/Documentation/devicetree/bindings/display/apple,t8132-dp-in.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/apple,t8132-dp-in.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC DisplayPort input adapter + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC DisplayPort input adapter. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-dp-in + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-dp-in + - const: apple,dp-in + + reg: + minItems: 1 + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/dma/apple,t8132-pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,t8132-pcie-piodma.yaml new file mode 100644 index 0000000000000..831c2c6b9c3b0 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/apple,t8132-pcie-piodma.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/apple,t8132-pcie-piodma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC PCIe programmed I/O DMA engine + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC PCIe programmed I/O DMA engine. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-pcie-piodma + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-pcie-piodma + - const: apple,pcie-piodma + + reg: + minItems: 3 + maxItems: 4 + + interrupts: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,t8132-aon-ptd.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,t8132-aon-ptd.yaml new file mode 100644 index 0000000000000..868b2bcaa5c5e --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,t8132-aon-ptd.yaml @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/interrupt-controller/apple,t8132-aon-ptd.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC always-on interrupt distributor + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC always-on interrupt distributor. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-aon-ptd + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-aon-ptd + - const: apple,aon-ptd + + reg: + minItems: 4 + maxItems: 4 + + interrupts: + minItems: 32 + maxItems: 32 + + '#address-cells': + const: 0 + '#interrupt-cells': + const: 1 + interrupt-controller: true + +required: + - compatible + - reg + - interrupts + - interrupt-controller + - '#interrupt-cells' + - '#address-cells' + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/iommu/apple,t8132-dapf.yaml b/Documentation/devicetree/bindings/iommu/apple,t8132-dapf.yaml new file mode 100644 index 0000000000000..ac02bc2273d4b --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/apple,t8132-dapf.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iommu/apple,t8132-dapf.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC DMA address protection filter + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC DMA address protection filter. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-dapf + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-dapf + - const: apple,dapf + + reg: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/iommu/apple,t8132-dart-smmu.yaml b/Documentation/devicetree/bindings/iommu/apple,t8132-dart-smmu.yaml new file mode 100644 index 0000000000000..748aa38821f62 --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/apple,t8132-dart-smmu.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iommu/apple,t8132-dart-smmu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC system MMU companion interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC system MMU companion interface. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-dart-smmu + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-dart-smmu + - const: apple,dart-smmu + + reg: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/iommu/apple,t8132-gapf.yaml b/Documentation/devicetree/bindings/iommu/apple,t8132-gapf.yaml new file mode 100644 index 0000000000000..cf7b30acbb401 --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/apple,t8132-gapf.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iommu/apple,t8132-gapf.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC global address protection filter + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC global address protection filter. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-gapf + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-gapf + - const: apple,gapf + + reg: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8132-ave.yaml b/Documentation/devicetree/bindings/media/apple,t8132-ave.yaml new file mode 100644 index 0000000000000..d45a696210d56 --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,t8132-ave.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/apple,t8132-ave.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC video encoder + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC video encoder. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-ave + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-ave + - const: apple,ave + + reg: + minItems: 5 + maxItems: 5 + + interrupts: + minItems: 5 + maxItems: 5 + + power-domains: + minItems: 1 + maxItems: 6 + + iommus: + minItems: 1 + maxItems: 2 + + clocks: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8132-jpeg.yaml b/Documentation/devicetree/bindings/media/apple,t8132-jpeg.yaml new file mode 100644 index 0000000000000..e546f566cbdb1 --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,t8132-jpeg.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/apple,t8132-jpeg.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC JPEG codec + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC JPEG codec. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-jpeg + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-jpeg + - const: apple,jpeg + + reg: + minItems: 1 + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + + clocks: + minItems: 1 + maxItems: 2 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8132-prores.yaml b/Documentation/devicetree/bindings/media/apple,t8132-prores.yaml new file mode 100644 index 0000000000000..eafd86311eb88 --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,t8132-prores.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/apple,t8132-prores.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC ProRes codec + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC ProRes codec. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-prores + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-prores + - const: apple,prores + + reg: + minItems: 3 + maxItems: 3 + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8132-scaler.yaml b/Documentation/devicetree/bindings/media/apple,t8132-scaler.yaml new file mode 100644 index 0000000000000..27800220c6a7b --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,t8132-scaler.yaml @@ -0,0 +1,62 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/apple,t8132-scaler.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC image scaler + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC image scaler. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-scaler + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-scaler + - const: apple,scaler + + reg: + minItems: 4 + maxItems: 4 + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 2 + + iommus: + minItems: 1 + maxItems: 2 + + clocks: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/pwm/apple,t8132-pwm.yaml b/Documentation/devicetree/bindings/pwm/apple,t8132-pwm.yaml new file mode 100644 index 0000000000000..b6687f5df736b --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/apple,t8132-pwm.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pwm/apple,t8132-pwm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC PWM controller + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC PWM controller. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-pwm + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-pwm + - const: apple,pwm + + reg: + minItems: 1 + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - power-domains + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8132-aft.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8132-aft.yaml new file mode 100644 index 0000000000000..7c25a322f9290 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8132-aft.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8132-aft.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC fabric trace interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC fabric trace interface. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-aft + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-aft + - const: apple,aft + + reg: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8132-debug-port.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8132-debug-port.yaml new file mode 100644 index 0000000000000..0106f7aab6075 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8132-debug-port.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8132-debug-port.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M4 base SoC CPU debug interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M4 base SoC CPU debug interface. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8132-debug-port + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8132-debug-port + - const: apple,debug-port + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/spmi/apple,spmi.yaml b/Documentation/devicetree/bindings/spmi/apple,spmi.yaml index 0b35a017bb808..9bd5d535a0fc2 100644 --- a/Documentation/devicetree/bindings/spmi/apple,spmi.yaml +++ b/Documentation/devicetree/bindings/spmi/apple,spmi.yaml @@ -39,7 +39,11 @@ properties: - const: apple,t8142-spmi reg: - maxItems: 1 + minItems: 1 + items: + - description: SPMI command interface + - description: SPMI interrupt interface + - description: SPMI auxiliary interface interrupts: maxItems: 1 diff --git a/arch/arm64/boot/dts/apple/t8132-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t8132-peripheral-buses.dtsi new file mode 100644 index 0000000000000..2554025a5ca13 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8132-peripheral-buses.dtsi @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Unclaimed T8132 peripheral buses. */ + +&soc { + spi4: spi@3ad110000 { + compatible = "apple,t8132-spi", "apple,t8103-spi"; + reg = <0x3 0xad110000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&peripheral_clocks 422>; + power-domains = <&ps_spi4>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi_a1: spmi@388a08000 { + compatible = "apple,t8132-spmi", "apple,t8103-spmi"; + reg = <0x3 0x88a08000 0 0x4000>, + <0x3 0x88a04000 0 0x4000>, + <0x3 0x88a00000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi0: spmi@390914000 { + compatible = "apple,t8132-spmi", "apple,t8103-spmi"; + reg = <0x3 0x90914000 0 0x4000>, + <0x3 0x90904000 0 0x4000>, + <0x3 0x90900000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi1: spmi@388614000 { + compatible = "apple,t8132-spmi", "apple,t8103-spmi"; + reg = <0x3 0x88614000 0 0x4000>, + <0x3 0x88604000 0 0x4000>, + <0x3 0x88600000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi1: spmi@390b14000 { + compatible = "apple,t8132-spmi", "apple,t8103-spmi"; + reg = <0x3 0x90b14000 0 0x4000>, + <0x3 0x90b04000 0 0x4000>, + <0x3 0x90b00000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + spi3: spi@3ad10c000 { + compatible = "apple,t8132-spi", "apple,t8103-spi"; + reg = <0x3 0xad10c000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&peripheral_clocks 421>; + power-domains = <&ps_spi3>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8132-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8132-peripherals.dtsi new file mode 100644 index 0000000000000..2b5de90dbfb86 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8132-peripherals.dtsi @@ -0,0 +1,398 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T8132 hardware interfaces. Keep unclaimed engines disabled. */ + +&soc { + dart_scaler0: iommu@505260000 { + compatible = "apple,t8132-dart", "apple,t8110-dart"; + reg = <0x5 0x05260000 0x0 0x20000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_scaler1: filter@38079c000 { + compatible = "apple,t8132-gapf", "apple,gapf"; + reg = <0x3 0x8079c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_jpeg00: iommu@3a5020000 { + compatible = "apple,t8132-dart", "apple,t8110-dart"; + reg = <0x3 0xa5020000 0x0 0xc000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg10: iommu@3a5080000 { + compatible = "apple,t8132-dart", "apple,t8110-dart"; + reg = <0x3 0xa5080000 0x0 0xc000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave0: iommu@421080000 { + compatible = "apple,t8132-dart", "apple,t8110-dart"; + reg = <0x4 0x21080000 0x0 0xc000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave1: iommu@4210a0000 { + compatible = "apple,t8132-dart", "apple,t8110-dart"; + reg = <0x4 0x210a0000 0x0 0xc000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave2: iommu@421094000 { + compatible = "apple,t8132-dart-smmu", "apple,dart-smmu"; + reg = <0x4 0x21094000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave3: filter@4210b0000 { + compatible = "apple,t8132-dapf", "apple,dapf"; + reg = <0x4 0x210b0000 0x0 0x4000>; + status = "disabled"; + }; + + dart_apr0: iommu@281020000 { + compatible = "apple,t8132-dart", "apple,t8110-dart"; + reg = <0x2 0x81020000 0x0 0xc000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_sio0: iommu@3ad060000 { + compatible = "apple,t8132-dart", "apple,t8110-dart"; + reg = <0x3 0xad060000 0x0 0xc000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_aop_companion1: filter@390f10000 { + compatible = "apple,t8132-dapf", "apple,dapf"; + reg = <0x3 0x90f10000 0x0 0x4000>; + status = "disabled"; + }; + + dart_aop_companion2: filter@3882a4000 { + compatible = "apple,t8132-gapf", "apple,gapf"; + reg = <0x3 0x882a4000 0x0 0x4000>; + status = "disabled"; + }; + + dart_mtp_companion1: filter@394810000 { + compatible = "apple,t8132-dapf", "apple,dapf"; + reg = <0x3 0x94810000 0x0 0x4000>; + status = "disabled"; + }; + + dart_disp0_companion1: iommu@30a314000 { + compatible = "apple,t8132-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x0a314000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext0_companion1: iommu@286314000 { + compatible = "apple,t8132-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x86314000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext1_companion1: iommu@48a314000 { + compatible = "apple,t8132-dart-smmu", "apple,dart-smmu"; + reg = <0x4 0x8a314000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion3: iommu@48e8f4000 { + compatible = "apple,t8132-dart-smmu", "apple,dart-smmu"; + reg = <0x4 0x8e8f4000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion4: iommu@48e914000 { + compatible = "apple,t8132-dart-smmu", "apple,dart-smmu"; + reg = <0x4 0x8e914000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion5: filter@48e8d0000 { + compatible = "apple,t8132-dapf", "apple,dapf"; + reg = <0x4 0x8e8d0000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ane_companion3: filter@501810000 { + compatible = "apple,t8132-dapf", "apple,dapf"; + reg = <0x5 0x01810000 0x0 0x4000>; + status = "disabled"; + }; + + apcie0_piodma: dma-controller@490030000 { + compatible = "apple,t8132-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x90030000 0x0 0x4000>, + <0x4 0x90034000 0x0 0x4000>, + <0x4 0x90038000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec0_piodma: dma-controller@404068000 { + compatible = "apple,t8132-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x04068000 0x0 0x4000>, + <0x4 0x0406c000 0x0 0x4000>, + <0x4 0x04070000 0x0 0x4000>, + <0x4 0x0403c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin0: displayport@401e50000 { + compatible = "apple,t8132-dp-in", "apple,dp-in"; + reg = <0x4 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin1: displayport@401e58000 { + compatible = "apple,t8132-dp-in", "apple,dp-in"; + reg = <0x4 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec1_piodma: dma-controller@40c068000 { + compatible = "apple,t8132-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x0c068000 0x0 0x4000>, + <0x4 0x0c06c000 0x0 0x4000>, + <0x4 0x0c070000 0x0 0x4000>, + <0x4 0x0c03c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin0: displayport@409e50000 { + compatible = "apple,t8132-dp-in", "apple,dp-in"; + reg = <0x4 0x09e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin1: displayport@409e58000 { + compatible = "apple,t8132-dp-in", "apple,dp-in"; + reg = <0x4 0x09e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + dwi: dwi@380200000 { + compatible = "apple,t8132-dwi", "apple,dwi"; + reg = <0x3 0x80200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + pwm: pwm@3ad040000 { + compatible = "apple,t8132-pwm", "apple,pwm"; + reg = <0x3 0xad040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_fpwm0>; + status = "disabled"; + }; + + aes: crypto@3ad00c000 { + compatible = "apple,t8132-aes", "apple,aes"; + reg = <0x3 0xad00c000 0x0 0x4000>, + <0x3 0x882dc000 0x0 0x8000>, + <0x3 0x88078000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_aes>; + iommus = <&dart_sio0 1>; + status = "disabled"; + }; + + aon_ptd: interrupt-controller@38c840000 { + compatible = "apple,t8132-aon-ptd", "apple,aon-ptd"; + reg = <0x3 0x8c840000 0x0 0x4000>, + <0x3 0x8c850000 0x0 0x4000>, + <0x3 0x8c858000 0x0 0x4000>, + <0x3 0x8c860000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + interrupt-controller; + #interrupt-cells = <1>; + #address-cells = <0>; + status = "disabled"; + }; + + dcp0_expert: display-sideband@3882b8044 { + compatible = "apple,t8132-dcp-expert", "apple,dcp-expert"; + reg = <0x3 0x882b8044 0x0 0xc>, + <0x3 0x88030000 0x0 0x4>; + status = "disabled"; + }; + + dcpext0_expert: display-sideband@3882b8044 { + compatible = "apple,t8132-dcp-expert", "apple,dcp-expert"; + reg = <0x3 0x882b8044 0x0 0xc>, + <0x3 0x88030000 0x0 0x4>; + status = "disabled"; + }; + + dcpext1_expert: display-sideband@3882b8044 { + compatible = "apple,t8132-dcp-expert", "apple,dcp-expert"; + reg = <0x3 0x882b8044 0x0 0xc>, + <0x3 0x88030000 0x0 0x4>; + status = "disabled"; + }; + + scaler0: scaler@505000000 { + compatible = "apple,t8132-scaler", "apple,scaler"; + reg = <0x5 0x05000000 0x0 0x38000>, + <0x5 0x05210000 0x0 0x4000>, + <0x5 0x05204000 0x0 0x4000>, + <0x5 0x04000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr>, <&ps_msr_ase_core>; + iommus = <&dart_scaler0 0>, <&dart_scaler0 1>; + clocks = <&peripheral_clocks 399>; + status = "disabled"; + }; + + jpeg0: jpeg@3a5000000 { + compatible = "apple,t8132-jpeg", "apple,jpeg"; + reg = <0x3 0xa5000000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg00 0>; + clocks = <&peripheral_clocks 322>, <&peripheral_clocks 323>; + status = "disabled"; + }; + + jpeg1: jpeg@3a5060000 { + compatible = "apple,t8132-jpeg", "apple,jpeg"; + reg = <0x3 0xa5060000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg10 0>; + clocks = <&peripheral_clocks 322>, <&peripheral_clocks 323>; + status = "disabled"; + }; + + ave: video-encoder@421100000 { + compatible = "apple,t8132-ave", "apple,ave"; + reg = <0x4 0x21100000 0x0 0x45c000>, + <0x4 0x21800000 0x0 0x800000>, + <0x4 0x21050000 0x0 0x4000>, + <0x3 0x80708000 0x0 0x4000>, + <0x4 0x20000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + power-domains = <&ps_venc_sys>, <&ps_venc_pipe4>, <&ps_venc_pipe5>, <&ps_venc_me0>, <&ps_venc_me1>, <&ps_venc_dma>; + iommus = <&dart_ave0 0>, <&dart_ave1 0>; + clocks = <&peripheral_clocks 430>; + status = "disabled"; + }; + + apr: video-codec@281000000 { + compatible = "apple,t8132-prores", "apple,prores"; + reg = <0x2 0x81000000 0x0 0x4000>, + <0x2 0x80000000 0x0 0x1000000>, + <0x2 0x810c0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_scodec>; + iommus = <&dart_apr0 1>; + status = "disabled"; + }; + + dbgCPU: debug@389700000 { + compatible = "apple,t8132-debug-port", "apple,debug-port"; + reg = <0x3 0x89700000 0x0 0x28000>, + <0x3 0x895c0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + aft: trace@220180000 { + compatible = "apple,t8132-aft", "apple,aft"; + reg = <0x2 0x20180000 0x0 0xc000>; + status = "disabled"; + }; + +}; + +/ { + peripheral_clocks: clocks { + compatible = "apple,t8132-pmgr-clocks", "apple,pmgr-clocks"; + #clock-cells = <1>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8132.dtsi b/arch/arm64/boot/dts/apple/t8132.dtsi index 6ee608983784e..df18126f36def 100644 --- a/arch/arm64/boot/dts/apple/t8132.dtsi +++ b/arch/arm64/boot/dts/apple/t8132.dtsi @@ -1327,3 +1327,7 @@ }; #include "t8132-memory.dtsi" + +#include "t8132-peripherals.dtsi" + +#include "t8132-peripheral-buses.dtsi" diff --git a/docs/devicetree/DT-GAPS-j604.md b/docs/devicetree/DT-GAPS-j604.md new file mode 100644 index 0000000000000..36ebd3f14ffdc --- /dev/null +++ b/docs/devicetree/DT-GAPS-j604.md @@ -0,0 +1,469 @@ +# DT gaps: J604 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8132-j604.dts`. +The hardware resource inventory identifies the T8132 peripheral die. + +Source: preferred live hardware description, 27.0/t8132-j604.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 384 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| bus device | 1 | +| gap | 51 | +| partial resources | 31 | +| resources | 65 | +| service review | 117 | +| stream | 119 | + +## Remaining work + +- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. +- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. +- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. +- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. +- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. + +## Dependencies + +- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. +- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. +- The integration base is 43c790fe. + +## Every arm-io record + +Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi2` | resources | `/soc/spi@3ad108000` | +| `spi2/mesa` | bus device | `/soc/spi@3ad108000/fingerprint@0` | +| `spi4` | resources | `/soc/spi@3ad110000` | +| `spi4/dp855` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0` | resources | `/soc/i2c@3ad010000` | +| `i2c0/pcon0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c1` | resources | `/soc/i2c@3ad014000` | +| `i2c1/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3` | resources | `/soc/i2c@3ad01c000` | +| `i2c3/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-left-woofer-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-left-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-right-woofer-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-right-woofer-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-right-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c4` | resources | `/soc/i2c@3ad020000` | +| `i2c4/avellino-pre` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c4/avellino-post` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c4/sd-card` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `fpwm1` | resources | `/soc/pwm@3ad044000` | +| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | +| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | +| `nub-spmi-a1` | resources | `/soc/spmi@388a08000` | +| `nub-spmi-a1/hpm3` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0` | resources | `/soc/spmi@390914000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@390b14000` | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie0` | resources | `/soc/iommu@490000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | +| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | +| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | +| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | +| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | +| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | +| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `acio-cpu3` | gap | **GAP:** no matching hardware resource node | +| `acio-cpu3/iop-acio3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec3` | gap | **GAP:** no matching hardware resource node | +| `apciec3/pcic3-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec3` | gap | **GAP:** no matching hardware resource node | +| `dart-apciec3/mapper-apciec3-piodma` | stream | Stream of `dart-apciec3`; stream/resource linkage needs review | +| `apciec3-piodma` | gap | **GAP:** no matching hardware resource node | +| `acio3` | gap | **GAP:** no matching hardware resource node | +| `dart-acio3` | gap | **GAP:** no matching hardware resource node | +| `dart-acio3/mapper-acio3-tx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc3-dpin0` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpin1` | gap | **GAP:** no matching hardware resource node | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | +| `aic` | resources | `/soc/interrupt-controller@381000000` | +| `aic-timebase` | gap | **GAP:** no matching hardware resource node | +| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | +| `dwi` | resources | `/soc/dwi@380200000` | +| `pwm` | resources | `/soc/pwm@3ad040000` | +| `aes` | resources | `/soc/crypto@3ad00c000` | +| `gpio0` | resources | `/soc/pinctrl@39a000000` | +| `aop-gpio` | resources | `/soc/pinctrl@390824000` | +| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | +| `aop` | resources | `/soc/aop@390600000` | +| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | +| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | +| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-pmp` | resources | `/soc/iommu@380300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sep` | resources | `/soc/iommu@3a8c80000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `esm` | gap | **GAP:** no matching hardware resource node | +| `sio` | gap | **GAP:** no matching hardware resource node | +| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sio` | resources | `/soc/iommu@3ad060000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | +| `ans` | gap | **GAP:** no matching hardware resource node | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sart-ans` | gap | **GAP:** no matching hardware resource node | +| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp` | partial resources | `/soc/fifo@394b14000`; `/soc/fifo@394b14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/multi-touch` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/keyboard` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/stm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/actuator` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/tp-accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mtp` | partial resources | `/soc/mtp@394600000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-mtp` | resources | `/soc/iommu@394800000`; `/soc/filter@394810000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@394800000` / `/soc/filter@394810000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `qspi` | resources | `/soc/spi@3ad118000` | +| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2` | resources | `/soc/i2c@3ad018000` | +| `i2c2/atcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2/atcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2/atcrt3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `atc-phy2` | gap | **GAP:** no matching hardware resource node | +| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy3` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3/mapper-usb3` | stream | Stream of `dart-usb3`; stream/resource linkage needs review | +| `usb-drd3` | gap | **GAP:** no matching hardware resource node | +| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | +| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1` | resources | `/soc/spmi@388614000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm5` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcp0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp` | gap | **GAP:** no matching hardware resource node | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcp` | gap | **GAP:** no matching hardware resource node | +| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | +| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `dart-dcpext0`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext1-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `dart-dcpext1`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/soc/scaler@505000000` | +| `dart-scaler` | resources | `/soc/iommu@505260000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@3a5000000` | +| `dart-jpeg0` | resources | `/soc/iommu@3a5020000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@3a5060000` | +| `dart-jpeg1` | resources | `/soc/iommu@3a5080000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@421100000` | +| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000`; stream/resource linkage needs review | +| `avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd/mapper-avd` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@281000000` | +| `dart-apr` | resources | `/soc/iommu@281020000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000`; stream/resource linkage needs review | +| `ispRtb` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; `/soc/pinctrl@39a000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | +| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | +| `dart-ane` | partial resources | `/soc/filter@501810000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | +| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | +| `sgx` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | +| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/soc/debug@389700000` | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | + +## Other root records + +Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. + +| Root hardware or metadata record | Linux responsibility / review | +| --- | --- | +| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `pcie-sdreader-helper` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | +| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-4` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-hdmi-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-magsafe3-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `osenvironments` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j623.md b/docs/devicetree/DT-GAPS-j623.md new file mode 100644 index 0000000000000..ad13f39c2d7a9 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j623.md @@ -0,0 +1,395 @@ +# DT gaps: J623 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8132-j623.dts`. +The hardware resource inventory identifies the T8132 peripheral die. + +Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 315 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| gap | 45 | +| partial resources | 29 | +| resources | 62 | +| service review | 87 | +| stream | 92 | + +## Remaining work + +- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. +- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. +- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. +- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. +- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. + +## Dependencies + +- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. +- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. +- The integration base is 43c790fe. + +## Every arm-io record + +Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi4` | resources | `/soc/spi@3ad110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0` | resources | `/soc/i2c@3ad010000` | +| `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | +| `i2c1` | resources | `/soc/i2c@3ad014000` | +| `i2c1/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | +| `i2c3` | resources | `/soc/i2c@3ad01c000` | +| `i2c3/audio-speaker` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-woofer` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | +| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | +| `lan0-placeholder` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `aop-spmi0` | resources | `/soc/spmi@390914000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@390b14000` | +| `aop-spmi1/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0-p1bu` | resources | `/soc/spmi@390914000` | +| `aop-spmi0-p1bu/spmi-wifibt-p1bu` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0-p1bu/stockholm-spmi-p1bu` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0-p1bu/stockholm-spmi-p1bu/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1-p1bu` | resources | `/soc/spmi@390b14000` | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2/lan0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie0` | resources | `/soc/iommu@490000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | +| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | +| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | +| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | +| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | +| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | +| `aic` | resources | `/soc/interrupt-controller@381000000` | +| `aic-timebase` | gap | **GAP:** no matching hardware resource node | +| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | +| `dwi` | resources | `/soc/dwi@380200000` | +| `pwm` | resources | `/soc/pwm@3ad040000` | +| `aes` | resources | `/soc/crypto@3ad00c000` | +| `gpio0` | resources | `/soc/pinctrl@39a000000` | +| `aop-gpio` | resources | `/soc/pinctrl@390824000` | +| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | +| `aop` | resources | `/soc/aop@390600000` | +| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | +| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | +| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-pmp` | resources | `/soc/iommu@380300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sep` | resources | `/soc/iommu@3a8c80000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `esm` | gap | **GAP:** no matching hardware resource node | +| `sio` | gap | **GAP:** no matching hardware resource node | +| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sio` | resources | `/soc/iommu@3ad060000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | +| `ans` | gap | **GAP:** no matching hardware resource node | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sart-ans` | gap | **GAP:** no matching hardware resource node | +| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/soc/spi@3ad118000` | +| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2` | resources | `/soc/i2c@3ad018000` | +| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | +| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1` | resources | `/soc/spmi@388614000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcp0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp` | gap | **GAP:** no matching hardware resource node | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcp` | gap | **GAP:** no matching hardware resource node | +| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | +| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `dart-dcpext0`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext1-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `dart-dcpext1`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/soc/scaler@505000000` | +| `dart-scaler` | resources | `/soc/iommu@505260000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@3a5000000` | +| `dart-jpeg0` | resources | `/soc/iommu@3a5020000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@3a5060000` | +| `dart-jpeg1` | resources | `/soc/iommu@3a5080000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@421100000` | +| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000`; stream/resource linkage needs review | +| `avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd/mapper-avd` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@281000000` | +| `dart-apr` | resources | `/soc/iommu@281020000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000`; stream/resource linkage needs review | +| `ispRtb` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; `/soc/pinctrl@39a000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | +| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | +| `dart-ane` | partial resources | `/soc/filter@501810000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | +| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | +| `sgx` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | +| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/soc/debug@389700000` | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | + +## Other root records + +Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. + +| Root hardware or metadata record | Linux responsibility / review | +| --- | --- | +| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | +| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `osenvironments` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j624.md b/docs/devicetree/DT-GAPS-j624.md new file mode 100644 index 0000000000000..8aefc6e6fc4b5 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j624.md @@ -0,0 +1,489 @@ +# DT gaps: J624 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8132-j624.dts`. +The hardware resource inventory identifies the T8132 peripheral die. + +Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 407 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| gap | 73 | +| partial resources | 29 | +| resources | 62 | +| service review | 99 | +| stream | 144 | + +## Remaining work + +- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. +- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. +- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. +- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. +- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. + +## Dependencies + +- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. +- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. +- The integration base is 43c790fe. + +## Every arm-io record + +Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi4` | resources | `/soc/spi@3ad110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0` | resources | `/soc/i2c@3ad010000` | +| `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | +| `i2c1` | resources | `/soc/i2c@3ad014000` | +| `i2c1/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | +| `i2c3` | resources | `/soc/i2c@3ad01c000` | +| `i2c3/audio-speaker` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-woofer` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | +| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | +| `lan0-placeholder` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `aop-spmi0` | resources | `/soc/spmi@390914000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@390b14000` | +| `aop-spmi1/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0-p1bu` | resources | `/soc/spmi@390914000` | +| `aop-spmi0-p1bu/spmi-wifibt-p1bu` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0-p1bu/stockholm-spmi-p1bu` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0-p1bu/stockholm-spmi-p1bu/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1-p1bu` | resources | `/soc/spmi@390b14000` | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2/lan0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie0` | resources | `/soc/iommu@490000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | +| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | +| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | +| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | +| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | +| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | +| `acio-cpu2` | gap | **GAP:** no matching hardware resource node | +| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec2` | gap | **GAP:** no matching hardware resource node | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec2` | gap | **GAP:** no matching hardware resource node | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `dart-apciec2`; stream/resource linkage needs review | +| `apciec2-piodma` | gap | **GAP:** no matching hardware resource node | +| `acio2` | gap | **GAP:** no matching hardware resource node | +| `dart-acio2` | gap | **GAP:** no matching hardware resource node | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | +| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc2-dpin0` | gap | **GAP:** no matching hardware resource node | +| `atc2-dpin1` | gap | **GAP:** no matching hardware resource node | +| `acio-cpu3` | gap | **GAP:** no matching hardware resource node | +| `acio-cpu3/iop-acio3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec3` | gap | **GAP:** no matching hardware resource node | +| `apciec3/pcic3-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec3` | gap | **GAP:** no matching hardware resource node | +| `dart-apciec3/mapper-apciec3-piodma` | stream | Stream of `dart-apciec3`; stream/resource linkage needs review | +| `apciec3-piodma` | gap | **GAP:** no matching hardware resource node | +| `acio3` | gap | **GAP:** no matching hardware resource node | +| `dart-acio3` | gap | **GAP:** no matching hardware resource node | +| `dart-acio3/mapper-acio3-tx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc3-dpin0` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpin1` | gap | **GAP:** no matching hardware resource node | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | +| `aic` | resources | `/soc/interrupt-controller@381000000` | +| `aic-timebase` | gap | **GAP:** no matching hardware resource node | +| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | +| `dwi` | resources | `/soc/dwi@380200000` | +| `pwm` | resources | `/soc/pwm@3ad040000` | +| `aes` | resources | `/soc/crypto@3ad00c000` | +| `gpio0` | resources | `/soc/pinctrl@39a000000` | +| `aop-gpio` | resources | `/soc/pinctrl@390824000` | +| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | +| `aop` | resources | `/soc/aop@390600000` | +| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | +| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | +| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-pmp` | resources | `/soc/iommu@380300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sep` | resources | `/soc/iommu@3a8c80000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `esm` | gap | **GAP:** no matching hardware resource node | +| `sio` | gap | **GAP:** no matching hardware resource node | +| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sio` | resources | `/soc/iommu@3ad060000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | +| `ans` | gap | **GAP:** no matching hardware resource node | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sart-ans` | gap | **GAP:** no matching hardware resource node | +| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/soc/spi@3ad118000` | +| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2` | resources | `/soc/i2c@3ad018000` | +| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt3` | gap | **GAP:** I2C device not described under this bus | +| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy2` | gap | **GAP:** no matching hardware resource node | +| `dart-usb2` | gap | **GAP:** no matching hardware resource node | +| `dart-usb2/mapper-usb2` | stream | Stream of `dart-usb2`; stream/resource linkage needs review | +| `usb-drd2` | gap | **GAP:** no matching hardware resource node | +| `usb-drd2/usb-drd2-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd2/usb-drd2-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy3` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3/mapper-usb3` | stream | Stream of `dart-usb3`; stream/resource linkage needs review | +| `usb-drd3` | gap | **GAP:** no matching hardware resource node | +| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | +| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1` | resources | `/soc/spmi@388614000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm3` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcp0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp` | gap | **GAP:** no matching hardware resource node | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcp` | gap | **GAP:** no matching hardware resource node | +| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | +| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `dart-dcpext0`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext1-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `dart-dcpext1`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/soc/scaler@505000000` | +| `dart-scaler` | resources | `/soc/iommu@505260000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@3a5000000` | +| `dart-jpeg0` | resources | `/soc/iommu@3a5020000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@3a5060000` | +| `dart-jpeg1` | resources | `/soc/iommu@3a5080000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@421100000` | +| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000`; stream/resource linkage needs review | +| `avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd/mapper-avd` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@281000000` | +| `dart-apr` | resources | `/soc/iommu@281020000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000`; stream/resource linkage needs review | +| `ispRtb` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; `/soc/pinctrl@39a000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | +| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | +| `dart-ane` | partial resources | `/soc/filter@501810000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | +| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | +| `sgx` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | +| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/soc/debug@389700000` | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | + +## Other root records + +Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. + +| Root hardware or metadata record | Linux responsibility / review | +| --- | --- | +| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | +| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-3` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-4` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `osenvironments` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j713.md b/docs/devicetree/DT-GAPS-j713.md new file mode 100644 index 0000000000000..e23df514c7f76 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j713.md @@ -0,0 +1,396 @@ +# DT gaps: J713 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8132-j713.dts`. +The hardware resource inventory identifies the T8132 peripheral die. + +Source: preferred live hardware description, 26.5.1/t8132-j713.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 314 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| bus device | 2 | +| gap | 21 | +| partial resources | 30 | +| resources | 72 | +| service review | 97 | +| shared hardware | 2 | +| stream | 90 | + +## Remaining work + +- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. +- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. +- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. +- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. +- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. + +## Dependencies + +- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. +- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. +- The integration base is 43c790fe. + +## Every arm-io record + +Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi2` | resources | `/soc/spi@3ad108000` | +| `spi2/mesa` | bus device | `/soc/spi@3ad108000/fingerprint@0` | +| `spi4` | resources | `/soc/spi@3ad110000` | +| `spi4/dp855` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c1` | resources | `/soc/i2c@3ad014000` | +| `i2c1/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3` | resources | `/soc/i2c@3ad01c000` | +| `i2c3/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-left-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-right-woofer` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-right-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `fpwm1` | resources | `/soc/pwm@3ad044000` | +| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi-a1` | resources | `/soc/spmi@388a08000` | +| `aop-spmi0` | resources | `/soc/spmi@390914000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | shared hardware | `/soc/pcie@1cb0000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@1cb0000000/pci@0,0/bluetooth@0,1` | +| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie0` | resources | `/soc/iommu@490000000`; `/soc/filter@38079c000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000`; `/soc/phy@402a90000` | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000`; `/soc/filter@38079c000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | +| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | +| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000`; `/soc/filter@38079c000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | +| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000`; `/soc/phy@40aa90000` | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000`; `/soc/filter@38079c000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | +| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | +| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000`; `/soc/filter@38079c000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | +| `aic` | resources | `/soc/interrupt-controller@381000000` | +| `aic-timebase` | gap | **GAP:** no matching hardware resource node | +| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/dcp@30ae00000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | +| `dwi` | resources | `/soc/dwi@380200000` | +| `pwm` | resources | `/soc/pwm@3ad040000` | +| `aes` | resources | `/soc/crypto@3ad00c000` | +| `gpio0` | resources | `/soc/pinctrl@39a000000` | +| `aop-gpio` | resources | `/soc/pinctrl@390824000` | +| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | +| `aop` | resources | `/soc/aop@390600000` | +| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000`; `/soc/filter@3882a4000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/power-controller@380760800`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/gpu@302600000`; `/soc/dcp@30ae00000`; **GAP:** 46 larger or unmatched resource window(s) | +| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/dcp@30ae00000`; `/soc/gpu@302600000`; **GAP:** 51 larger or unmatched resource window(s) | +| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-pmp` | resources | `/soc/iommu@380300000`; `/soc/filter@38079c000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sep` | resources | `/soc/iommu@3a8c80000`; `/soc/filter@38079c000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `esm` | gap | **GAP:** no matching hardware resource node | +| `sio` | gap | **GAP:** no matching hardware resource node | +| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sio` | resources | `/soc/iommu@3ad060000`; `/soc/filter@38079c000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `ans` | gap | **GAP:** no matching hardware resource node | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sart-ans` | gap | **GAP:** no matching hardware resource node | +| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp` | partial resources | `/soc/fifo@394b14000`; `/soc/fifo@394b14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/multi-touch` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/keyboard` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/stm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/actuator` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/tp-accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mtp` | partial resources | `/soc/mtp@394600000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-mtp` | resources | `/soc/iommu@394800000`; `/soc/filter@394810000`; `/soc/filter@3882a4000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@394800000` / `/soc/filter@394810000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `qspi` | resources | `/soc/spi@3ad118000` | +| `qspi/spinor` | bus device | `/soc/spi@3ad118000/flash@0` | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2` | resources | `/soc/i2c@3ad018000` | +| `i2c2/atcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2/atcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy0` | partial resources | `/soc/phy@402a90000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000`; `/soc/filter@38079c000`; `/soc/filter@3882a4000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000` / `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000`; `/soc/filter@38079c000`; `/soc/filter@3882a4000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000` / `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | +| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1` | resources | `/soc/spmi@388614000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm5` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/dcp@30ae00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp0-expert` | resources | `/soc/display-sideband@3882b8044` | +| `dcp` | partial resources | `/soc/dcp@30ae00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcp` | resources | `/soc/iommu@30a340000`; `/soc/filter@38079c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@30a340000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-disp0` | resources | `/soc/iommu@30a300000`; `/soc/iommu@30a314000`; `/soc/filter@38079c000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a300000` / `/soc/iommu@30a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a300000` / `/soc/iommu@30a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext0` | partial resources | `/soc/dcp@286e00000`; `/soc/dcp@30ae00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0-expert` | resources | `/soc/display-sideband@3882b8044` | +| `dcpext0` | partial resources | `/soc/dcp@286e00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | resources | `/soc/iommu@286340000`; `/soc/filter@38079c000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@286340000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-dispext0` | resources | `/soc/iommu@286300000`; `/soc/iommu@286314000`; `/soc/filter@38079c000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286300000` / `/soc/iommu@286314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286300000` / `/soc/iommu@286314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/soc/dcp@48ae00000`; `/soc/dcp@30ae00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1-expert` | resources | `/soc/display-sideband@3882b8044` | +| `dcpext1` | partial resources | `/soc/dcp@48ae00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | resources | `/soc/iommu@48a340000`; `/soc/filter@38079c000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@48a340000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-dispext1` | resources | `/soc/iommu@48a300000`; `/soc/iommu@48a314000`; `/soc/filter@38079c000` | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a300000` / `/soc/iommu@48a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a300000` / `/soc/iommu@48a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/soc/scaler@505000000` | +| `dart-scaler` | resources | `/soc/iommu@505260000`; `/soc/filter@38079c000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@3a5000000` | +| `dart-jpeg0` | resources | `/soc/iommu@3a5020000`; `/soc/filter@38079c000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@3a5060000` | +| `dart-jpeg1` | resources | `/soc/iommu@3a5080000`; `/soc/filter@38079c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@421100000` | +| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000`; `/soc/filter@38079c000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@281000000` | +| `dart-apr` | resources | `/soc/iommu@281020000`; `/soc/filter@38079c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000`; `/soc/filter@38079c000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | +| `dart-ane` | partial resources | `/soc/filter@501810000`; `/soc/filter@38079c000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@302600000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | partial resources | `/soc/gpu@302600000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | +| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/soc/debug@389700000` | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `secure-repair` | resources | `/soc/pinctrl@3881f0000` | +| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | + +## Other root records + +Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. + +| Root hardware or metadata record | Linux responsibility / review | +| --- | --- | +| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | +| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-t818-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j715.md b/docs/devicetree/DT-GAPS-j715.md new file mode 100644 index 0000000000000..ab8809303dfc1 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j715.md @@ -0,0 +1,404 @@ +# DT gaps: J715 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8132-j715.dts`. +The hardware resource inventory identifies the T8132 peripheral die. + +Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 322 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| bus device | 1 | +| gap | 43 | +| partial resources | 31 | +| resources | 63 | +| service review | 93 | +| stream | 91 | + +## Remaining work + +- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. +- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. +- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. +- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. +- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. + +## Dependencies + +- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. +- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. +- The integration base is 43c790fe. + +## Every arm-io record + +Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi2` | resources | `/soc/spi@3ad108000` | +| `spi2/mesa` | bus device | `/soc/spi@3ad108000/fingerprint@0` | +| `spi4` | resources | `/soc/spi@3ad110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c1` | resources | `/soc/i2c@3ad014000` | +| `i2c1/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | +| `i2c3` | resources | `/soc/i2c@3ad01c000` | +| `i2c3/audio-speaker` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-left-woofer-2` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-woofer-1` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-woofer-2` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `fpwm1` | resources | `/soc/pwm@3ad044000` | +| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi-a1` | resources | `/soc/spmi@388a08000` | +| `aop-spmi0` | resources | `/soc/spmi@390914000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie0` | resources | `/soc/iommu@490000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | +| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | +| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | +| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | +| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | +| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | +| `aic` | resources | `/soc/interrupt-controller@381000000` | +| `aic-timebase` | gap | **GAP:** no matching hardware resource node | +| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | +| `dwi` | resources | `/soc/dwi@380200000` | +| `pwm` | resources | `/soc/pwm@3ad040000` | +| `aes` | resources | `/soc/crypto@3ad00c000` | +| `gpio0` | resources | `/soc/pinctrl@39a000000` | +| `aop-gpio` | resources | `/soc/pinctrl@390824000` | +| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | +| `aop` | resources | `/soc/aop@390600000` | +| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | +| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | +| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-pmp` | resources | `/soc/iommu@380300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sep` | resources | `/soc/iommu@3a8c80000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | +| `esm` | gap | **GAP:** no matching hardware resource node | +| `sio` | gap | **GAP:** no matching hardware resource node | +| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sio` | resources | `/soc/iommu@3ad060000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | +| `ans` | gap | **GAP:** no matching hardware resource node | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sart-ans` | gap | **GAP:** no matching hardware resource node | +| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp` | partial resources | `/soc/fifo@394b14000`; `/soc/fifo@394b14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/multi-touch` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/keyboard` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/stm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/actuator` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp/mtp-transport/tp-accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mtp` | partial resources | `/soc/mtp@394600000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-mtp` | resources | `/soc/iommu@394800000`; `/soc/filter@394810000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@394800000` / `/soc/filter@394810000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `qspi` | resources | `/soc/spi@3ad118000` | +| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2` | resources | `/soc/i2c@3ad018000` | +| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | +| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1` | resources | `/soc/spmi@388614000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm5` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcp0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp` | gap | **GAP:** no matching hardware resource node | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcp` | gap | **GAP:** no matching hardware resource node | +| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | +| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `dart-dcpext0`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext1-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `dart-dcpext1`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/soc/scaler@505000000` | +| `dart-scaler` | resources | `/soc/iommu@505260000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@3a5000000` | +| `dart-jpeg0` | resources | `/soc/iommu@3a5020000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@3a5060000` | +| `dart-jpeg1` | resources | `/soc/iommu@3a5080000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@421100000` | +| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000`; stream/resource linkage needs review | +| `avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd/mapper-avd` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `dart-avd`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@281000000` | +| `dart-apr` | resources | `/soc/iommu@281020000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000`; stream/resource linkage needs review | +| `ispRtb` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; `/soc/pinctrl@39a000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | +| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | +| `dart-ane` | partial resources | `/soc/filter@501810000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | +| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | +| `sgx` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | +| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/soc/debug@389700000` | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `secure-repair` | resources | `/soc/pinctrl@3881f0000` | +| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | + +## Other root records + +Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. + +| Root hardware or metadata record | Linux responsibility / review | +| --- | --- | +| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | +| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-magsafe3-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `osenvironments` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j773g.md b/docs/devicetree/DT-GAPS-j773g.md new file mode 100644 index 0000000000000..434d3ad76946e --- /dev/null +++ b/docs/devicetree/DT-GAPS-j773g.md @@ -0,0 +1,419 @@ +# DT gaps: J773G + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8132-j773g.dts`. +The hardware resource inventory identifies the T8132 peripheral die. + +Source: preferred live hardware description, 26.6.2/t8132-j773.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 337 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| gap | 40 | +| partial resources | 33 | +| resources | 61 | +| service review | 87 | +| stream | 116 | + +## Remaining work + +- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. +- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. +- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. +- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. +- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. + +## Dependencies + +- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. +- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. +- The integration base is 43c790fe. + +## Every arm-io record + +Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `i2c0` | resources | `/soc/i2c@3ad010000` | +| `i2c0/pcon0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c1` | resources | `/soc/i2c@3ad014000` | +| `i2c1/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3` | resources | `/soc/i2c@3ad01c000` | +| `i2c3/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie2` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apcie2/mapper-apcie2` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | +| `lan-10gb-sync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `aop-spmi0` | resources | `/soc/spmi@390914000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2/lan-1gb` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie0` | resources | `/soc/iommu@490000000`; `/soc/filter@38079c000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000`; `/soc/filter@38079c000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | +| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | +| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000`; `/soc/filter@38079c000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | +| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000`; `/soc/filter@38079c000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | +| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | +| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000`; `/soc/filter@38079c000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | +| `acio-cpu3` | gap | **GAP:** no matching hardware resource node | +| `acio-cpu3/iop-acio3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apciec3` | gap | **GAP:** no matching hardware resource node | +| `apciec3/pcic3-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec3` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apciec3/mapper-apciec3-piodma` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apciec3-piodma` | gap | **GAP:** no matching hardware resource node | +| `acio3` | gap | **GAP:** no matching hardware resource node | +| `dart-acio3` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio3/mapper-acio3-tx-0` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-1` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-2` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-3` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-4` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-5` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-6` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-7` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-8` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-9` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-10` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-11` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-0` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-1` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-2` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-3` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-4` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-5` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-6` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-7` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-8` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-9` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-10` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-11` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc3-dpin0` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpin1` | gap | **GAP:** no matching hardware resource node | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | +| `aic` | resources | `/soc/interrupt-controller@381000000` | +| `aic-timebase` | gap | **GAP:** no matching hardware resource node | +| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | +| `dwi` | resources | `/soc/dwi@380200000` | +| `pwm` | resources | `/soc/pwm@3ad040000` | +| `aes` | resources | `/soc/crypto@3ad00c000` | +| `gpio0` | resources | `/soc/pinctrl@39a000000` | +| `aop-gpio` | resources | `/soc/pinctrl@390824000` | +| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | +| `aop` | resources | `/soc/aop@390600000` | +| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000`; `/soc/filter@3882a4000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | +| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | +| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-pmp` | resources | `/soc/iommu@380300000`; `/soc/filter@38079c000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sep` | resources | `/soc/iommu@3a8c80000`; `/soc/filter@38079c000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `esm` | gap | **GAP:** no matching hardware resource node | +| `sio` | gap | **GAP:** no matching hardware resource node | +| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-sio` | resources | `/soc/iommu@3ad060000`; `/soc/filter@38079c000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `ans` | gap | **GAP:** no matching hardware resource node | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `sart-ans` | gap | **GAP:** no matching hardware resource node | +| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `smc/iop-smc-nub/smc-charger-util-3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/soc/spi@3ad118000` | +| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi3` | resources | `/soc/spi@3ad10c000` | +| `spi3/usb3hub-flash` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi3/usb3hub-flash/usb3hub-fw` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2` | resources | `/soc/i2c@3ad018000` | +| `i2c2/atcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2/atcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2/atcrt3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dptx-phy` | gap | **GAP:** no matching hardware resource node | +| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000`; `/soc/filter@38079c000`; `/soc/filter@3882a4000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000` / `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000`; `/soc/filter@38079c000`; `/soc/filter@3882a4000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000` / `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy2` | gap | **GAP:** no matching hardware resource node | +| `dart-usb2` | partial resources | `/soc/filter@38079c000`; `/soc/filter@3882a4000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `usb-drd2` | gap | **GAP:** no matching hardware resource node | +| `usb-drd2/usb-drd2-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd2/usb-drd2-port-hs/usb2-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd2/usb-drd2-port-hs/usb2-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd2/usb-drd2-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd2/usb-drd2-port-ss/usb3-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd2/usb-drd2-port-ss/usb3-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy3` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3` | partial resources | `/soc/filter@38079c000`; `/soc/filter@3882a4000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb3/mapper-usb3` | stream | Stream of `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | +| `usb-drd3` | gap | **GAP:** no matching hardware resource node | +| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | +| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1` | resources | `/soc/spmi@388614000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm3` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcp0-expert` | resources | `/soc/display-sideband@3882b8044` | +| `dcp` | gap | **GAP:** no matching hardware resource node | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcp` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext0-expert` | resources | `/soc/display-sideband@3882b8044` | +| `dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext1-expert` | resources | `/soc/display-sideband@3882b8044` | +| `dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/soc/scaler@505000000` | +| `dart-scaler` | resources | `/soc/iommu@505260000`; `/soc/filter@38079c000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@3a5000000` | +| `dart-jpeg0` | resources | `/soc/iommu@3a5020000`; `/soc/filter@38079c000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@3a5060000` | +| `dart-jpeg1` | resources | `/soc/iommu@3a5080000`; `/soc/filter@38079c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@421100000` | +| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000`; `/soc/filter@38079c000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `avd` | gap | **GAP:** no matching hardware resource node | +| `dart-avd` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@281000000` | +| `dart-apr` | resources | `/soc/iommu@281020000`; `/soc/filter@38079c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | +| `dart-ane` | partial resources | `/soc/filter@501810000`; `/soc/filter@38079c000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000` / `/soc/filter@38079c000`; stream/resource linkage needs review | +| `sgx` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc` | gap | **GAP:** no matching hardware resource node | +| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | +| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/soc/debug@389700000` | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | + +## Other root records + +Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. + +| Root hardware or metadata record | Linux responsibility / review | +| --- | --- | +| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | +| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | +| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-4` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-5` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-6` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-hdmi-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | From 0a973b2fde8f91e481f7dee92e5922bd60150db4 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:01:00 +1100 Subject: [PATCH 3/5] dt-bindings: apple: reuse generic resource contracts for T8132 Reuse the existing media and shared peripheral schemas, keeping resource-layout variants conditional on the SoC compatible. Split PCIe tunnel PIODMA from endpoint PIODMA and describe their DART streams. Move audit ledgers to the external DT2 handoff directory as requested. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../bindings/bus/apple,t8132-dwi.yaml | 53 -- .../bindings/clock/apple,pmgr-clocks.yaml | 105 ++++ .../clock/apple,t8132-pmgr-clocks.yaml | 39 -- .../devicetree/bindings/crypto/apple,aes.yaml | 104 ++++ .../bindings/crypto/apple,t8132-aes.yaml | 58 --- .../bindings/display/apple,dcp-expert.yaml | 80 +++ .../bindings/display/apple,dpin.yaml | 79 +++ .../display/apple,t8132-dcp-expert.yaml | 43 -- .../bindings/display/apple,t8132-dp-in.yaml | 48 -- .../bindings/dma/apple,pcie-piodma.yaml | 89 ++++ .../bindings/dma/apple,pciec-piodma.yaml | 89 ++++ .../bindings/dma/apple,t8132-pcie-piodma.yaml | 48 -- .../apple,t8132-aon-ptd.yaml | 57 -- ...{apple,t8132-dapf.yaml => apple,dapf.yaml} | 2 +- ...32-dart-smmu.yaml => apple,dart-smmu.yaml} | 2 +- ...{apple,t8132-gapf.yaml => apple,gapf.yaml} | 2 +- .../devicetree/bindings/media/apple,jpeg.yaml | 148 ++++-- .../bindings/media/apple,prores.yaml | 143 +++-- .../bindings/media/apple,scaler.yaml | 118 +++++ .../bindings/media/apple,t8132-ave.yaml | 62 --- .../bindings/media/apple,t8132-jpeg.yaml | 62 --- .../bindings/media/apple,t8132-prores.yaml | 58 --- .../bindings/media/apple,t8132-scaler.yaml | 62 --- .../bindings/media/apple,t8140-ave.yaml | 188 ++++--- .../{apple,t8132-pwm.yaml => apple,pwm.yaml} | 2 +- .../{apple,t8132-aft.yaml => apple,aft.yaml} | 2 +- .../bindings/soc/apple/apple,aon-ptd.yaml | 104 ++++ .../bindings/soc/apple/apple,cpu-debug.yaml | 80 +++ .../bindings/soc/apple/apple,dwi.yaml | 94 ++++ .../soc/apple/apple,t8132-debug-port.yaml | 48 -- .../boot/dts/apple/t8132-peripherals.dtsi | 17 +- docs/devicetree/DT-GAPS-j604.md | 469 ----------------- docs/devicetree/DT-GAPS-j623.md | 395 -------------- docs/devicetree/DT-GAPS-j624.md | 489 ------------------ docs/devicetree/DT-GAPS-j713.md | 396 -------------- docs/devicetree/DT-GAPS-j715.md | 404 --------------- docs/devicetree/DT-GAPS-j773g.md | 419 --------------- 37 files changed, 1282 insertions(+), 3376 deletions(-) delete mode 100644 Documentation/devicetree/bindings/bus/apple,t8132-dwi.yaml create mode 100644 Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml delete mode 100644 Documentation/devicetree/bindings/clock/apple,t8132-pmgr-clocks.yaml create mode 100644 Documentation/devicetree/bindings/crypto/apple,aes.yaml delete mode 100644 Documentation/devicetree/bindings/crypto/apple,t8132-aes.yaml create mode 100644 Documentation/devicetree/bindings/display/apple,dcp-expert.yaml create mode 100644 Documentation/devicetree/bindings/display/apple,dpin.yaml delete mode 100644 Documentation/devicetree/bindings/display/apple,t8132-dcp-expert.yaml delete mode 100644 Documentation/devicetree/bindings/display/apple,t8132-dp-in.yaml create mode 100644 Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml create mode 100644 Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml delete mode 100644 Documentation/devicetree/bindings/dma/apple,t8132-pcie-piodma.yaml delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/apple,t8132-aon-ptd.yaml rename Documentation/devicetree/bindings/iommu/{apple,t8132-dapf.yaml => apple,dapf.yaml} (93%) rename Documentation/devicetree/bindings/iommu/{apple,t8132-dart-smmu.yaml => apple,dart-smmu.yaml} (93%) rename Documentation/devicetree/bindings/iommu/{apple,t8132-gapf.yaml => apple,gapf.yaml} (93%) create mode 100644 Documentation/devicetree/bindings/media/apple,scaler.yaml delete mode 100644 Documentation/devicetree/bindings/media/apple,t8132-ave.yaml delete mode 100644 Documentation/devicetree/bindings/media/apple,t8132-jpeg.yaml delete mode 100644 Documentation/devicetree/bindings/media/apple,t8132-prores.yaml delete mode 100644 Documentation/devicetree/bindings/media/apple,t8132-scaler.yaml rename Documentation/devicetree/bindings/pwm/{apple,t8132-pwm.yaml => apple,pwm.yaml} (94%) rename Documentation/devicetree/bindings/soc/apple/{apple,t8132-aft.yaml => apple,aft.yaml} (93%) create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml delete mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8132-debug-port.yaml delete mode 100644 docs/devicetree/DT-GAPS-j604.md delete mode 100644 docs/devicetree/DT-GAPS-j623.md delete mode 100644 docs/devicetree/DT-GAPS-j624.md delete mode 100644 docs/devicetree/DT-GAPS-j713.md delete mode 100644 docs/devicetree/DT-GAPS-j715.md delete mode 100644 docs/devicetree/DT-GAPS-j773g.md diff --git a/Documentation/devicetree/bindings/bus/apple,t8132-dwi.yaml b/Documentation/devicetree/bindings/bus/apple,t8132-dwi.yaml deleted file mode 100644 index 3892e402d97be..0000000000000 --- a/Documentation/devicetree/bindings/bus/apple,t8132-dwi.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/bus/apple,t8132-dwi.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC two-wire display interface - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC two-wire display interface. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-dwi - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-dwi - - const: apple,dwi - - reg: - minItems: 1 - maxItems: 1 - - interrupts: - minItems: 1 - maxItems: 1 - - power-domains: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - - power-domains - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml b/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml new file mode 100644 index 0000000000000..4094deb176bfb --- /dev/null +++ b/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml @@ -0,0 +1,105 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/apple,pmgr-clocks.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple PMGR peripheral clock selectors + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Peripheral input clocks managed by the SoC power manager. The clock + specifier is the SoC clock selector from the hardware description. It is + separate from a PMGR device/power-gate ID. Rates may change with performance + state and must not be represented as fixed clocks sampled at one boot. + The provider remains disabled until a generation-specific clock driver + can resolve selectors and coordinate ownership with firmware. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-pmgr-clocks + - apple,t8140-pmgr-clocks + - apple,pmgr-clocks + - apple,t8132-pmgr-clocks + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-pmgr-clocks + required: + - compatible + then: + properties: + compatible: + items: + - const: apple,t8132-pmgr-clocks + - const: apple,pmgr-clocks + + '#clock-cells': + const: 1 + + required: + - compatible + - '#clock-cells' + + additionalProperties: false + else: + properties: + compatible: + items: + - enum: + - apple,t6041-pmgr-clocks + - apple,t8140-pmgr-clocks + - const: apple,pmgr-clocks + + reg: + description: PMGR control apertures in hardware-description order. + minItems: 44 + maxItems: 63 + + '#clock-cells': + const: 1 + + apple,pmgr: + $ref: /schemas/types.yaml#/definitions/phandle + description: Primary PMGR syscon. Additional control banks are described by reg. + + required: + - reg + - compatible + - '#clock-cells' + - apple,pmgr + + allOf: + - if: + properties: + compatible: + contains: + const: apple,t6041-pmgr-clocks + then: + properties: + reg: + minItems: 63 + maxItems: 63 + - if: + properties: + compatible: + contains: + const: apple,t8140-pmgr-clocks + then: + properties: + reg: + minItems: 44 + maxItems: 44 + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/clock/apple,t8132-pmgr-clocks.yaml b/Documentation/devicetree/bindings/clock/apple,t8132-pmgr-clocks.yaml deleted file mode 100644 index f48ab4bc18f48..0000000000000 --- a/Documentation/devicetree/bindings/clock/apple,t8132-pmgr-clocks.yaml +++ /dev/null @@ -1,39 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/clock/apple,t8132-pmgr-clocks.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple T8132 peripheral clock namespace - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - PMGR peripheral clock outputs identified by the hardware clock IDs. - The provider describes the wiring without assuming fixed frequencies - or programming sequences. It remains disabled until a clock driver can - manage those outputs. The single clock specifier is the hardware clock ID. - -select: - properties: - compatible: - contains: - const: apple,t8132-pmgr-clocks - required: - - compatible - -properties: - compatible: - items: - - const: apple,t8132-pmgr-clocks - - const: apple,pmgr-clocks - - '#clock-cells': - const: 1 - -required: - - compatible - - '#clock-cells' - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/crypto/apple,aes.yaml b/Documentation/devicetree/bindings/crypto/apple,aes.yaml new file mode 100644 index 0000000000000..af65e7b75b471 --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/apple,aes.yaml @@ -0,0 +1,104 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/crypto/apple,aes.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple AES engine + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + AES hardware attached to the SIO DART. The register banks are the + engine, shared control and auxiliary control windows, in that order. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-aes + - apple,aes + - apple,t8140-aes + - apple,t8132-aes + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-aes + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-aes + - const: apple,aes + + reg: + minItems: 3 + maxItems: 3 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-aes + - const: apple,aes + - items: + - const: apple,t8140-aes + - const: apple,aes + + reg: + minItems: 3 + maxItems: 3 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/crypto/apple,t8132-aes.yaml b/Documentation/devicetree/bindings/crypto/apple,t8132-aes.yaml deleted file mode 100644 index 3606d09795041..0000000000000 --- a/Documentation/devicetree/bindings/crypto/apple,t8132-aes.yaml +++ /dev/null @@ -1,58 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/crypto/apple,t8132-aes.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC AES accelerator - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC AES accelerator. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-aes - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-aes - - const: apple,aes - - reg: - minItems: 3 - maxItems: 3 - - interrupts: - minItems: 1 - maxItems: 1 - - power-domains: - minItems: 1 - maxItems: 1 - - iommus: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/display/apple,dcp-expert.yaml b/Documentation/devicetree/bindings/display/apple,dcp-expert.yaml new file mode 100644 index 0000000000000..f021509a74e96 --- /dev/null +++ b/Documentation/devicetree/bindings/display/apple,dcp-expert.yaml @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/apple,dcp-expert.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple display expert control registers + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Display control and timing register apertures associated with a display + coprocessor. These registers can be shared with firmware-owned display + blocks and must not be accessed without an ownership handoff. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-dcp-expert + - apple,dcp-expert + - apple,t8140-dcp-expert + - apple,t8132-dcp-expert + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-dcp-expert + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-dcp-expert + - const: apple,dcp-expert + + reg: + minItems: 2 + maxItems: 2 + + required: + - compatible + - reg + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-dcp-expert + - const: apple,dcp-expert + - items: + - const: apple,t8140-dcp-expert + - const: apple,dcp-expert + + reg: + minItems: 3 + maxItems: 17 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/display/apple,dpin.yaml b/Documentation/devicetree/bindings/display/apple,dpin.yaml new file mode 100644 index 0000000000000..6666e615cb33a --- /dev/null +++ b/Documentation/devicetree/bindings/display/apple,dpin.yaml @@ -0,0 +1,79 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/apple,dpin.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple DisplayPort tunnel ingress + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + DisplayPort ingress registers and interrupt for a USB4 display tunnel. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-dpin + - apple,dpin + - apple,t8132-dpin + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-dpin + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-dpin + - const: apple,dpin + + reg: + minItems: 1 + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-dpin + - const: apple,dpin + + reg: + minItems: 1 + maxItems: 1 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/display/apple,t8132-dcp-expert.yaml b/Documentation/devicetree/bindings/display/apple,t8132-dcp-expert.yaml deleted file mode 100644 index 192b9e9a3b0cc..0000000000000 --- a/Documentation/devicetree/bindings/display/apple,t8132-dcp-expert.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/display/apple,t8132-dcp-expert.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC display power sideband - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC display power sideband. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-dcp-expert - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-dcp-expert - - const: apple,dcp-expert - - reg: - minItems: 2 - maxItems: 2 - -required: - - compatible - - reg - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/display/apple,t8132-dp-in.yaml b/Documentation/devicetree/bindings/display/apple,t8132-dp-in.yaml deleted file mode 100644 index 16164c072520f..0000000000000 --- a/Documentation/devicetree/bindings/display/apple,t8132-dp-in.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/display/apple,t8132-dp-in.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC DisplayPort input adapter - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC DisplayPort input adapter. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-dp-in - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-dp-in - - const: apple,dp-in - - reg: - minItems: 1 - maxItems: 1 - - interrupts: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml new file mode 100644 index 0000000000000..696b506c0ed00 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/apple,pcie-piodma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple PCIe PIODMA engine + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + PCIe auxiliary DMA register banks and completion interrupt. The stream + is distinct from the PCIe endpoint streams in the same DART. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-pcie-piodma + - apple,pcie-piodma + - apple,t8132-pcie-piodma + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-pcie-piodma + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-pcie-piodma + - const: apple,pcie-piodma + + reg: + minItems: 3 + maxItems: 3 + + interrupts: + minItems: 1 + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-pcie-piodma + - const: apple,pcie-piodma + + reg: + minItems: 3 + maxItems: 3 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml new file mode 100644 index 0000000000000..5b09d97724497 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/apple,pciec-piodma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple PCIe tunnel PIODMA engine + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + PCIe tunnel auxiliary DMA register banks and completion interrupt. Its + stream is distinct from the tunnel endpoint streams in the same DART. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-pciec-piodma + - apple,pciec-piodma + - apple,t8132-pciec-piodma + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-pciec-piodma + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-pciec-piodma + - const: apple,pciec-piodma + + reg: + minItems: 4 + maxItems: 4 + + interrupts: + minItems: 1 + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-pciec-piodma + - const: apple,pciec-piodma + + reg: + minItems: 4 + maxItems: 4 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/dma/apple,t8132-pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,t8132-pcie-piodma.yaml deleted file mode 100644 index 831c2c6b9c3b0..0000000000000 --- a/Documentation/devicetree/bindings/dma/apple,t8132-pcie-piodma.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/dma/apple,t8132-pcie-piodma.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC PCIe programmed I/O DMA engine - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC PCIe programmed I/O DMA engine. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-pcie-piodma - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-pcie-piodma - - const: apple,pcie-piodma - - reg: - minItems: 3 - maxItems: 4 - - interrupts: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,t8132-aon-ptd.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,t8132-aon-ptd.yaml deleted file mode 100644 index 868b2bcaa5c5e..0000000000000 --- a/Documentation/devicetree/bindings/interrupt-controller/apple,t8132-aon-ptd.yaml +++ /dev/null @@ -1,57 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/interrupt-controller/apple,t8132-aon-ptd.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC always-on interrupt distributor - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC always-on interrupt distributor. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-aon-ptd - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-aon-ptd - - const: apple,aon-ptd - - reg: - minItems: 4 - maxItems: 4 - - interrupts: - minItems: 32 - maxItems: 32 - - '#address-cells': - const: 0 - '#interrupt-cells': - const: 1 - interrupt-controller: true - -required: - - compatible - - reg - - interrupts - - interrupt-controller - - '#interrupt-cells' - - '#address-cells' - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/iommu/apple,t8132-dapf.yaml b/Documentation/devicetree/bindings/iommu/apple,dapf.yaml similarity index 93% rename from Documentation/devicetree/bindings/iommu/apple,t8132-dapf.yaml rename to Documentation/devicetree/bindings/iommu/apple,dapf.yaml index ac02bc2273d4b..d5637a060feb1 100644 --- a/Documentation/devicetree/bindings/iommu/apple,t8132-dapf.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,dapf.yaml @@ -1,7 +1,7 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/iommu/apple,t8132-dapf.yaml# +$id: http://devicetree.org/schemas/iommu/apple,dapf.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Apple M4 base SoC DMA address protection filter diff --git a/Documentation/devicetree/bindings/iommu/apple,t8132-dart-smmu.yaml b/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml similarity index 93% rename from Documentation/devicetree/bindings/iommu/apple,t8132-dart-smmu.yaml rename to Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml index 748aa38821f62..cc2e2382852bc 100644 --- a/Documentation/devicetree/bindings/iommu/apple,t8132-dart-smmu.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml @@ -1,7 +1,7 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/iommu/apple,t8132-dart-smmu.yaml# +$id: http://devicetree.org/schemas/iommu/apple,dart-smmu.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Apple M4 base SoC system MMU companion interface diff --git a/Documentation/devicetree/bindings/iommu/apple,t8132-gapf.yaml b/Documentation/devicetree/bindings/iommu/apple,gapf.yaml similarity index 93% rename from Documentation/devicetree/bindings/iommu/apple,t8132-gapf.yaml rename to Documentation/devicetree/bindings/iommu/apple,gapf.yaml index cf7b30acbb401..1dcf32e31c8e4 100644 --- a/Documentation/devicetree/bindings/iommu/apple,t8132-gapf.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,gapf.yaml @@ -1,7 +1,7 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/iommu/apple,t8132-gapf.yaml# +$id: http://devicetree.org/schemas/iommu/apple,gapf.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Apple M4 base SoC global address protection filter diff --git a/Documentation/devicetree/bindings/media/apple,jpeg.yaml b/Documentation/devicetree/bindings/media/apple,jpeg.yaml index 056e1d33c00fd..422518cffa734 100644 --- a/Documentation/devicetree/bindings/media/apple,jpeg.yaml +++ b/Documentation/devicetree/bindings/media/apple,jpeg.yaml @@ -19,61 +19,119 @@ description: | the engine's 32-bit buffer pointer registers. T8140 engines take 64-bit buffer addresses and use their DART's full window. -properties: - compatible: - enum: - - apple,t6041-jpeg - - apple,t8140-jpeg - - reg: - maxItems: 1 - - interrupts: - maxItems: 1 - - iommus: - maxItems: 1 - - power-domains: - minItems: 1 - items: - - description: The engine's power domain - - description: Performance request held while the engine works - - power-domain-names: - minItems: 1 - items: - - const: core - - const: perf - - apple,dma-range: - $ref: /schemas/types.yaml#/definitions/uint64-array - items: - - const: 0x10000000000 - - const: 0x100000000 - description: Device-visible DMA window, as a 64-bit base and size. - Only for engines with 32-bit buffer pointers. - -required: - - compatible - - reg - - interrupts - - iommus - - power-domains +select: + properties: + compatible: + contains: + enum: + - apple,t6041-jpeg + - apple,t8140-jpeg + - apple,t8132-jpeg + - apple,jpeg + required: + - compatible allOf: - if: properties: compatible: - const: apple,t6041-jpeg + contains: + enum: + - apple,t8132-jpeg + required: + - compatible then: + properties: + compatible: + items: + - enum: + - apple,t8132-jpeg + - const: apple,jpeg + + reg: + minItems: 1 + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + + clocks: + minItems: 1 + maxItems: 2 + required: - - apple,dma-range + - compatible + - reg + - interrupts + - power-domains + - iommus + + additionalProperties: false else: properties: - apple,dma-range: false + compatible: + enum: + - apple,t6041-jpeg + - apple,t8140-jpeg + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + iommus: + maxItems: 1 + + power-domains: + minItems: 1 + items: + - description: The engine's power domain + - description: Performance request held while the engine works + + power-domain-names: + minItems: 1 + items: + - const: core + - const: perf + + apple,dma-range: + $ref: /schemas/types.yaml#/definitions/uint64-array + items: + - const: 0x10000000000 + - const: 0x100000000 + description: Device-visible DMA window, as a 64-bit base and size. + Only for engines with 32-bit buffer pointers. -additionalProperties: false + required: + - compatible + - reg + - interrupts + - iommus + - power-domains + + allOf: + - if: + properties: + compatible: + const: apple,t6041-jpeg + then: + required: + - apple,dma-range + else: + properties: + apple,dma-range: false + + additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/media/apple,prores.yaml b/Documentation/devicetree/bindings/media/apple,prores.yaml index 07afac17ef2ee..37c1e488923bd 100644 --- a/Documentation/devicetree/bindings/media/apple,prores.yaml +++ b/Documentation/devicetree/bindings/media/apple,prores.yaml @@ -14,51 +14,104 @@ description: | descriptors in a DMA ring; the engine signals completion with an interrupt. It has no firmware. Its power domain also resets it. -properties: - compatible: - const: apple,t8140-prores - - reg: - items: - - description: Engine registers - - description: Wrapper registers - - reg-names: - items: - - const: core - - const: wrapper - - interrupts: - minItems: 1 - maxItems: 2 - - iommus: - maxItems: 1 - - power-domains: - minItems: 1 - items: - - description: The engine's power domain - - description: Performance request held while the engine works - - power-domain-names: - minItems: 1 - items: - - const: core - - const: perf - - resets: - maxItems: 1 - -required: - - compatible - - reg - - reg-names - - interrupts - - iommus - - power-domains - -additionalProperties: false +select: + properties: + compatible: + contains: + enum: + - apple,t8140-prores + - apple,t8132-prores + - apple,prores + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-prores + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-prores + - const: apple,prores + + reg: + minItems: 3 + maxItems: 3 + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + additionalProperties: false + else: + properties: + compatible: + const: apple,t8140-prores + + reg: + items: + - description: Engine registers + - description: Wrapper registers + + reg-names: + items: + - const: core + - const: wrapper + + interrupts: + minItems: 1 + maxItems: 2 + + iommus: + maxItems: 1 + + power-domains: + minItems: 1 + items: + - description: The engine's power domain + - description: Performance request held while the engine works + + power-domain-names: + minItems: 1 + items: + - const: core + - const: perf + + resets: + maxItems: 1 + + required: + - compatible + - reg + - reg-names + - interrupts + - iommus + - power-domains + + additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/media/apple,scaler.yaml b/Documentation/devicetree/bindings/media/apple,scaler.yaml new file mode 100644 index 0000000000000..e7ee47e8787ce --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,scaler.yaml @@ -0,0 +1,118 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/media/apple,scaler.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple image scaler + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + The image scaler and its companion DMA registers. The two DART streams + carry image data and PIODMA transfers. Firmware performance votes are + not fixed clock rates and are not encoded as clock-frequency values. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-scaler + - apple,scaler + - apple,t8140-scaler + - apple,t8132-scaler + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-scaler + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-scaler + - const: apple,scaler + + reg: + minItems: 4 + maxItems: 4 + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 2 + + iommus: + minItems: 1 + maxItems: 2 + + clocks: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-scaler + - const: apple,scaler + - items: + - const: apple,t8140-scaler + - const: apple,scaler + + reg: + minItems: 4 + maxItems: 4 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 2 + maxItems: 2 + + iommus: + minItems: 2 + maxItems: 2 + + clocks: + minItems: 1 + maxItems: 1 + + resets: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - resets + - iommus + - clocks + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8132-ave.yaml b/Documentation/devicetree/bindings/media/apple,t8132-ave.yaml deleted file mode 100644 index d45a696210d56..0000000000000 --- a/Documentation/devicetree/bindings/media/apple,t8132-ave.yaml +++ /dev/null @@ -1,62 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/media/apple,t8132-ave.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC video encoder - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC video encoder. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-ave - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-ave - - const: apple,ave - - reg: - minItems: 5 - maxItems: 5 - - interrupts: - minItems: 5 - maxItems: 5 - - power-domains: - minItems: 1 - maxItems: 6 - - iommus: - minItems: 1 - maxItems: 2 - - clocks: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8132-jpeg.yaml b/Documentation/devicetree/bindings/media/apple,t8132-jpeg.yaml deleted file mode 100644 index e546f566cbdb1..0000000000000 --- a/Documentation/devicetree/bindings/media/apple,t8132-jpeg.yaml +++ /dev/null @@ -1,62 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/media/apple,t8132-jpeg.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC JPEG codec - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC JPEG codec. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-jpeg - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-jpeg - - const: apple,jpeg - - reg: - minItems: 1 - maxItems: 1 - - interrupts: - minItems: 1 - maxItems: 1 - - power-domains: - minItems: 1 - maxItems: 1 - - iommus: - minItems: 1 - maxItems: 1 - - clocks: - minItems: 1 - maxItems: 2 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8132-prores.yaml b/Documentation/devicetree/bindings/media/apple,t8132-prores.yaml deleted file mode 100644 index eafd86311eb88..0000000000000 --- a/Documentation/devicetree/bindings/media/apple,t8132-prores.yaml +++ /dev/null @@ -1,58 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/media/apple,t8132-prores.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC ProRes codec - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC ProRes codec. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-prores - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-prores - - const: apple,prores - - reg: - minItems: 3 - maxItems: 3 - - interrupts: - minItems: 2 - maxItems: 2 - - power-domains: - minItems: 1 - maxItems: 1 - - iommus: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8132-scaler.yaml b/Documentation/devicetree/bindings/media/apple,t8132-scaler.yaml deleted file mode 100644 index 27800220c6a7b..0000000000000 --- a/Documentation/devicetree/bindings/media/apple,t8132-scaler.yaml +++ /dev/null @@ -1,62 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/media/apple,t8132-scaler.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC image scaler - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC image scaler. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-scaler - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-scaler - - const: apple,scaler - - reg: - minItems: 4 - maxItems: 4 - - interrupts: - minItems: 2 - maxItems: 2 - - power-domains: - minItems: 1 - maxItems: 2 - - iommus: - minItems: 1 - maxItems: 2 - - clocks: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml index dadb98b19f822..55bd7053e499f 100644 --- a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml +++ b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml @@ -14,67 +14,127 @@ description: | preloaded by the bootloader. Its two DART instances translate the same stream. The bootloader supplies two reserved firmware regions and their IOVA mappings. -properties: - compatible: - enum: - - apple,t6000-ave - - apple,t6041-ave - - apple,t8112-ave - - apple,t8140-ave - - reg: - items: - - description: Codec registers - - description: Mailbox registers - - description: Coprocessor registers - - reg-names: - items: - - const: codec - - const: mailbox - - const: coproc - - interrupts: - items: - - description: Mailbox, raised when the firmware posts to a host ring - - description: Codec interrupt handled by the firmware - - description: Codec interrupt handled by the firmware - - description: Codec interrupt handled by the firmware - - description: Codec interrupt handled by the firmware - - power-domains: - minItems: 5 - maxItems: 6 - - power-domain-names: - minItems: 5 - items: - - const: dma - - const: pipe4 - - const: pipe5 - - const: me0 - - const: me1 - - const: perf - description: | - A performance floor the encoder needs to run at full speed, held - while the encoder is powered (for example the SoC rail floor of a - PMC). - - iommus: - maxItems: 2 - - memory-region: - items: - - description: Preloaded firmware text - - description: Preloaded firmware data - -required: - - compatible - - reg - - reg-names - - interrupts - - power-domains - - power-domain-names - - iommus - -additionalProperties: false +select: + properties: + compatible: + contains: + enum: + - apple,t6000-ave + - apple,t6041-ave + - apple,t8112-ave + - apple,t8140-ave + - apple,t8132-ave + - apple,ave + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-ave + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-ave + - const: apple,ave + + reg: + minItems: 5 + maxItems: 5 + + interrupts: + minItems: 5 + maxItems: 5 + + power-domains: + minItems: 1 + maxItems: 6 + + iommus: + minItems: 1 + maxItems: 2 + + clocks: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + additionalProperties: false + else: + properties: + compatible: + enum: + - apple,t6000-ave + - apple,t6041-ave + - apple,t8112-ave + - apple,t8140-ave + + reg: + items: + - description: Codec registers + - description: Mailbox registers + - description: Coprocessor registers + + reg-names: + items: + - const: codec + - const: mailbox + - const: coproc + + interrupts: + items: + - description: Mailbox, raised when the firmware posts to a host ring + - description: Codec interrupt handled by the firmware + - description: Codec interrupt handled by the firmware + - description: Codec interrupt handled by the firmware + - description: Codec interrupt handled by the firmware + + power-domains: + minItems: 5 + maxItems: 6 + + power-domain-names: + minItems: 5 + items: + - const: dma + - const: pipe4 + - const: pipe5 + - const: me0 + - const: me1 + - const: perf + description: | + A performance floor the encoder needs to run at full speed, held + while the encoder is powered (for example the SoC rail floor of a + PMC). + + iommus: + maxItems: 2 + + memory-region: + items: + - description: Preloaded firmware text + - description: Preloaded firmware data + + required: + - compatible + - reg + - reg-names + - interrupts + - power-domains + - power-domain-names + - iommus + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/pwm/apple,t8132-pwm.yaml b/Documentation/devicetree/bindings/pwm/apple,pwm.yaml similarity index 94% rename from Documentation/devicetree/bindings/pwm/apple,t8132-pwm.yaml rename to Documentation/devicetree/bindings/pwm/apple,pwm.yaml index b6687f5df736b..280a017a63018 100644 --- a/Documentation/devicetree/bindings/pwm/apple,t8132-pwm.yaml +++ b/Documentation/devicetree/bindings/pwm/apple,pwm.yaml @@ -1,7 +1,7 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/pwm/apple,t8132-pwm.yaml# +$id: http://devicetree.org/schemas/pwm/apple,pwm.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Apple M4 base SoC PWM controller diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8132-aft.yaml b/Documentation/devicetree/bindings/soc/apple/apple,aft.yaml similarity index 93% rename from Documentation/devicetree/bindings/soc/apple/apple,t8132-aft.yaml rename to Documentation/devicetree/bindings/soc/apple/apple,aft.yaml index 7c25a322f9290..b2aefbcf15fad 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8132-aft.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,aft.yaml @@ -1,7 +1,7 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/soc/apple/apple,t8132-aft.yaml# +$id: http://devicetree.org/schemas/soc/apple/apple,aft.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Apple M4 base SoC fabric trace interface diff --git a/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml new file mode 100644 index 0000000000000..be90f009e5442 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml @@ -0,0 +1,104 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,aon-ptd.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple always-on power telemetry interrupt router + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Always-on power telemetry register banks and upstream interrupts. The + firmware owns the telemetry data and interrupt routing at boot. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-aon-ptd + - apple,aon-ptd + - apple,t8140-aon-ptd + - apple,t8132-aon-ptd + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-aon-ptd + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-aon-ptd + - const: apple,aon-ptd + + reg: + minItems: 4 + maxItems: 4 + + interrupts: + minItems: 32 + maxItems: 32 + + '#address-cells': + const: 0 + '#interrupt-cells': + const: 1 + interrupt-controller: true + + required: + - compatible + - reg + - interrupts + - interrupt-controller + - '#interrupt-cells' + - '#address-cells' + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-aon-ptd + - const: apple,aon-ptd + - items: + - const: apple,t8140-aon-ptd + - const: apple,aon-ptd + + reg: + minItems: 4 + maxItems: 4 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 32 + maxItems: 32 + + interrupt-controller: true + + '#interrupt-cells': + description: Firmware telemetry source identifier, plus flags on T8140. + enum: [1, 2] + + '#address-cells': + const: 0 + + required: + - compatible + - reg + - interrupts + - interrupt-controller + - '#interrupt-cells' + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml b/Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml new file mode 100644 index 0000000000000..e6e47fc4ff743 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml @@ -0,0 +1,80 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,cpu-debug.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple processor debug interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Processor debug register apertures. Access ownership must be established + before a debugger accesses this block. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-cpu-debug + - apple,cpu-debug + - apple,t8132-cpu-debug + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-cpu-debug + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-cpu-debug + - const: apple,cpu-debug + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-cpu-debug + - const: apple,cpu-debug + + reg: + minItems: 2 + maxItems: 2 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml new file mode 100644 index 0000000000000..168e091707b5a --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml @@ -0,0 +1,94 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,dwi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple DWI controller + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + DWI hardware register window and interrupt. Register programming and + firmware ownership must be qualified before enabling the controller. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-dwi + - apple,dwi + - apple,t8140-dwi + - apple,t8132-dwi + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8132-dwi + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8132-dwi + - const: apple,dwi + + reg: + minItems: 1 + maxItems: 1 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-dwi + - const: apple,dwi + - items: + - const: apple,t8140-dwi + - const: apple,dwi + + reg: + minItems: 1 + maxItems: 1 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8132-debug-port.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8132-debug-port.yaml deleted file mode 100644 index 0106f7aab6075..0000000000000 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8132-debug-port.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/soc/apple/apple,t8132-debug-port.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M4 base SoC CPU debug interface - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M4 base SoC CPU debug interface. - The interface is described for discovery and must remain disabled until - its ownership, initialization and shutdown are supported. Register windows - are listed in hardware resource order; firmware configuration and tuning - data are supplied by the boot firmware rather than this binding. - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-debug-port - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8132-debug-port - - const: apple,debug-port - - reg: - minItems: 2 - maxItems: 2 - - interrupts: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - -additionalProperties: false diff --git a/arch/arm64/boot/dts/apple/t8132-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8132-peripherals.dtsi index 2b5de90dbfb86..3975e23c8a273 100644 --- a/arch/arm64/boot/dts/apple/t8132-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8132-peripherals.dtsi @@ -151,10 +151,11 @@ interrupt-parent = <&aic>; interrupts = ; status = "disabled"; + iommus = <&dart_apcie0 17>; }; apciec0_piodma: dma-controller@404068000 { - compatible = "apple,t8132-pcie-piodma", "apple,pcie-piodma"; + compatible = "apple,t8132-pciec-piodma", "apple,pciec-piodma"; reg = <0x4 0x04068000 0x0 0x4000>, <0x4 0x0406c000 0x0 0x4000>, <0x4 0x04070000 0x0 0x4000>, @@ -162,10 +163,11 @@ interrupt-parent = <&aic>; interrupts = ; status = "disabled"; + iommus = <&usb4_0_pcie_dart 254>; }; atc0_dpin0: displayport@401e50000 { - compatible = "apple,t8132-dp-in", "apple,dp-in"; + compatible = "apple,t8132-dpin", "apple,dpin"; reg = <0x4 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -173,7 +175,7 @@ }; atc0_dpin1: displayport@401e58000 { - compatible = "apple,t8132-dp-in", "apple,dp-in"; + compatible = "apple,t8132-dpin", "apple,dpin"; reg = <0x4 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -181,7 +183,7 @@ }; apciec1_piodma: dma-controller@40c068000 { - compatible = "apple,t8132-pcie-piodma", "apple,pcie-piodma"; + compatible = "apple,t8132-pciec-piodma", "apple,pciec-piodma"; reg = <0x4 0x0c068000 0x0 0x4000>, <0x4 0x0c06c000 0x0 0x4000>, <0x4 0x0c070000 0x0 0x4000>, @@ -189,10 +191,11 @@ interrupt-parent = <&aic>; interrupts = ; status = "disabled"; + iommus = <&usb4_1_pcie_dart 254>; }; atc1_dpin0: displayport@409e50000 { - compatible = "apple,t8132-dp-in", "apple,dp-in"; + compatible = "apple,t8132-dpin", "apple,dpin"; reg = <0x4 0x09e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -200,7 +203,7 @@ }; atc1_dpin1: displayport@409e58000 { - compatible = "apple,t8132-dp-in", "apple,dp-in"; + compatible = "apple,t8132-dpin", "apple,dpin"; reg = <0x4 0x09e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -373,7 +376,7 @@ }; dbgCPU: debug@389700000 { - compatible = "apple,t8132-debug-port", "apple,debug-port"; + compatible = "apple,t8132-cpu-debug", "apple,cpu-debug"; reg = <0x3 0x89700000 0x0 0x28000>, <0x3 0x895c0000 0x0 0x4000>; interrupt-parent = <&aic>; diff --git a/docs/devicetree/DT-GAPS-j604.md b/docs/devicetree/DT-GAPS-j604.md deleted file mode 100644 index 36ebd3f14ffdc..0000000000000 --- a/docs/devicetree/DT-GAPS-j604.md +++ /dev/null @@ -1,469 +0,0 @@ -# DT gaps: J604 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8132-j604.dts`. -The hardware resource inventory identifies the T8132 peripheral die. - -Source: preferred live hardware description, 27.0/t8132-j604.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 384 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| bus device | 1 | -| gap | 51 | -| partial resources | 31 | -| resources | 65 | -| service review | 117 | -| stream | 119 | - -## Remaining work - -- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. -- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. -- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. -- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. -- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. - -## Dependencies - -- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. -- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. -- The integration base is 43c790fe. - -## Every arm-io record - -Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. - -| Firmware hardware/service record | Classification | Linux description or gap | -| --- | --- | --- | -| `spi2` | resources | `/soc/spi@3ad108000` | -| `spi2/mesa` | bus device | `/soc/spi@3ad108000/fingerprint@0` | -| `spi4` | resources | `/soc/spi@3ad110000` | -| `spi4/dp855` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0` | resources | `/soc/i2c@3ad010000` | -| `i2c0/pcon0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c1` | resources | `/soc/i2c@3ad014000` | -| `i2c1/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3` | resources | `/soc/i2c@3ad01c000` | -| `i2c3/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-left-woofer-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-left-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-right-woofer-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-right-woofer-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-right-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c4` | resources | `/soc/i2c@3ad020000` | -| `i2c4/avellino-pre` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c4/avellino-post` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c4/sd-card` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `fpwm1` | resources | `/soc/pwm@3ad044000` | -| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | -| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | -| `nub-spmi-a1` | resources | `/soc/spmi@388a08000` | -| `nub-spmi-a1/hpm3` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0` | resources | `/soc/spmi@390914000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@390b14000` | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@490000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | -| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | -| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | -| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | -| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | -| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | -| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `acio-cpu3` | gap | **GAP:** no matching hardware resource node | -| `acio-cpu3/iop-acio3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec3` | gap | **GAP:** no matching hardware resource node | -| `apciec3/pcic3-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec3` | gap | **GAP:** no matching hardware resource node | -| `dart-apciec3/mapper-apciec3-piodma` | stream | Stream of `dart-apciec3`; stream/resource linkage needs review | -| `apciec3-piodma` | gap | **GAP:** no matching hardware resource node | -| `acio3` | gap | **GAP:** no matching hardware resource node | -| `dart-acio3` | gap | **GAP:** no matching hardware resource node | -| `dart-acio3/mapper-acio3-tx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc3-dpin0` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpin1` | gap | **GAP:** no matching hardware resource node | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | -| `aic` | resources | `/soc/interrupt-controller@381000000` | -| `aic-timebase` | gap | **GAP:** no matching hardware resource node | -| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | -| `dwi` | resources | `/soc/dwi@380200000` | -| `pwm` | resources | `/soc/pwm@3ad040000` | -| `aes` | resources | `/soc/crypto@3ad00c000` | -| `gpio0` | resources | `/soc/pinctrl@39a000000` | -| `aop-gpio` | resources | `/soc/pinctrl@390824000` | -| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | -| `aop` | resources | `/soc/aop@390600000` | -| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | -| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | -| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp` | resources | `/soc/iommu@380300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sep` | resources | `/soc/iommu@3a8c80000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `esm` | gap | **GAP:** no matching hardware resource node | -| `sio` | gap | **GAP:** no matching hardware resource node | -| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sio` | resources | `/soc/iommu@3ad060000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | -| `ans` | gap | **GAP:** no matching hardware resource node | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | gap | **GAP:** no matching hardware resource node | -| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp` | partial resources | `/soc/fifo@394b14000`; `/soc/fifo@394b14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/multi-touch` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/keyboard` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/stm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/actuator` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/tp-accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mtp` | partial resources | `/soc/mtp@394600000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-mtp` | resources | `/soc/iommu@394800000`; `/soc/filter@394810000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@394800000` / `/soc/filter@394810000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `qspi` | resources | `/soc/spi@3ad118000` | -| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/soc/i2c@3ad018000` | -| `i2c2/atcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2/atcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2/atcrt3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `atc-phy2` | gap | **GAP:** no matching hardware resource node | -| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy3` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3/mapper-usb3` | stream | Stream of `dart-usb3`; stream/resource linkage needs review | -| `usb-drd3` | gap | **GAP:** no matching hardware resource node | -| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | -| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1` | resources | `/soc/spmi@388614000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm5` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcp0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp` | gap | **GAP:** no matching hardware resource node | -| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcp` | gap | **GAP:** no matching hardware resource node | -| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | -| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | -| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `dart-dcpext0`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext1-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `dart-dcpext1`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@505000000` | -| `dart-scaler` | resources | `/soc/iommu@505260000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@3a5000000` | -| `dart-jpeg0` | resources | `/soc/iommu@3a5020000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@3a5060000` | -| `dart-jpeg1` | resources | `/soc/iommu@3a5080000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@421100000` | -| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000`; stream/resource linkage needs review | -| `avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd/mapper-avd` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@281000000` | -| `dart-apr` | resources | `/soc/iommu@281020000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000`; stream/resource linkage needs review | -| `ispRtb` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; `/soc/pinctrl@39a000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | -| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | -| `dart-ane` | partial resources | `/soc/filter@501810000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | -| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | -| `sgx` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | -| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/soc/debug@389700000` | -| `aft` | resources | `/soc/trace@220180000` | -| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | -| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | - -## Other root records - -Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. - -| Root hardware or metadata record | Linux responsibility / review | -| --- | --- | -| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `pcie-sdreader-helper` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | -| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-4` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-hdmi-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-magsafe3-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `osenvironments` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j623.md b/docs/devicetree/DT-GAPS-j623.md deleted file mode 100644 index ad13f39c2d7a9..0000000000000 --- a/docs/devicetree/DT-GAPS-j623.md +++ /dev/null @@ -1,395 +0,0 @@ -# DT gaps: J623 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8132-j623.dts`. -The hardware resource inventory identifies the T8132 peripheral die. - -Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 315 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| gap | 45 | -| partial resources | 29 | -| resources | 62 | -| service review | 87 | -| stream | 92 | - -## Remaining work - -- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. -- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. -- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. -- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. -- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. - -## Dependencies - -- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. -- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. -- The integration base is 43c790fe. - -## Every arm-io record - -Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. - -| Firmware hardware/service record | Classification | Linux description or gap | -| --- | --- | --- | -| `spi4` | resources | `/soc/spi@3ad110000` | -| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0` | resources | `/soc/i2c@3ad010000` | -| `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | -| `i2c1` | resources | `/soc/i2c@3ad014000` | -| `i2c1/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | -| `i2c3` | resources | `/soc/i2c@3ad01c000` | -| `i2c3/audio-speaker` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-woofer` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | -| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | -| `lan0-placeholder` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `aop-spmi0` | resources | `/soc/spmi@390914000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@390b14000` | -| `aop-spmi1/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0-p1bu` | resources | `/soc/spmi@390914000` | -| `aop-spmi0-p1bu/spmi-wifibt-p1bu` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0-p1bu/stockholm-spmi-p1bu` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0-p1bu/stockholm-spmi-p1bu/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1-p1bu` | resources | `/soc/spmi@390b14000` | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2/lan0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@490000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | -| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | -| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | -| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | -| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | -| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | -| `aic` | resources | `/soc/interrupt-controller@381000000` | -| `aic-timebase` | gap | **GAP:** no matching hardware resource node | -| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | -| `dwi` | resources | `/soc/dwi@380200000` | -| `pwm` | resources | `/soc/pwm@3ad040000` | -| `aes` | resources | `/soc/crypto@3ad00c000` | -| `gpio0` | resources | `/soc/pinctrl@39a000000` | -| `aop-gpio` | resources | `/soc/pinctrl@390824000` | -| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | -| `aop` | resources | `/soc/aop@390600000` | -| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | -| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | -| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp` | resources | `/soc/iommu@380300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sep` | resources | `/soc/iommu@3a8c80000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `esm` | gap | **GAP:** no matching hardware resource node | -| `sio` | gap | **GAP:** no matching hardware resource node | -| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sio` | resources | `/soc/iommu@3ad060000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | -| `ans` | gap | **GAP:** no matching hardware resource node | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | gap | **GAP:** no matching hardware resource node | -| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/soc/spi@3ad118000` | -| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/soc/i2c@3ad018000` | -| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | -| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1` | resources | `/soc/spmi@388614000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcp0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp` | gap | **GAP:** no matching hardware resource node | -| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcp` | gap | **GAP:** no matching hardware resource node | -| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | -| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | -| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `dart-dcpext0`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext1-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `dart-dcpext1`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@505000000` | -| `dart-scaler` | resources | `/soc/iommu@505260000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@3a5000000` | -| `dart-jpeg0` | resources | `/soc/iommu@3a5020000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@3a5060000` | -| `dart-jpeg1` | resources | `/soc/iommu@3a5080000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@421100000` | -| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000`; stream/resource linkage needs review | -| `avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd/mapper-avd` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@281000000` | -| `dart-apr` | resources | `/soc/iommu@281020000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000`; stream/resource linkage needs review | -| `ispRtb` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; `/soc/pinctrl@39a000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | -| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | -| `dart-ane` | partial resources | `/soc/filter@501810000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | -| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | -| `sgx` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | -| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/soc/debug@389700000` | -| `aft` | resources | `/soc/trace@220180000` | -| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | -| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | - -## Other root records - -Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. - -| Root hardware or metadata record | Linux responsibility / review | -| --- | --- | -| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | -| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `osenvironments` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j624.md b/docs/devicetree/DT-GAPS-j624.md deleted file mode 100644 index 8aefc6e6fc4b5..0000000000000 --- a/docs/devicetree/DT-GAPS-j624.md +++ /dev/null @@ -1,489 +0,0 @@ -# DT gaps: J624 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8132-j624.dts`. -The hardware resource inventory identifies the T8132 peripheral die. - -Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 407 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| gap | 73 | -| partial resources | 29 | -| resources | 62 | -| service review | 99 | -| stream | 144 | - -## Remaining work - -- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. -- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. -- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. -- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. -- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. - -## Dependencies - -- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. -- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. -- The integration base is 43c790fe. - -## Every arm-io record - -Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. - -| Firmware hardware/service record | Classification | Linux description or gap | -| --- | --- | --- | -| `spi4` | resources | `/soc/spi@3ad110000` | -| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0` | resources | `/soc/i2c@3ad010000` | -| `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | -| `i2c1` | resources | `/soc/i2c@3ad014000` | -| `i2c1/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | -| `i2c3` | resources | `/soc/i2c@3ad01c000` | -| `i2c3/audio-speaker` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-woofer` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | -| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | -| `lan0-placeholder` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `aop-spmi0` | resources | `/soc/spmi@390914000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@390b14000` | -| `aop-spmi1/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0-p1bu` | resources | `/soc/spmi@390914000` | -| `aop-spmi0-p1bu/spmi-wifibt-p1bu` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0-p1bu/stockholm-spmi-p1bu` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0-p1bu/stockholm-spmi-p1bu/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1-p1bu` | resources | `/soc/spmi@390b14000` | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2/lan0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@490000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | -| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | -| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | -| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | -| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | -| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | -| `acio-cpu2` | gap | **GAP:** no matching hardware resource node | -| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec2` | gap | **GAP:** no matching hardware resource node | -| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec2` | gap | **GAP:** no matching hardware resource node | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `dart-apciec2`; stream/resource linkage needs review | -| `apciec2-piodma` | gap | **GAP:** no matching hardware resource node | -| `acio2` | gap | **GAP:** no matching hardware resource node | -| `dart-acio2` | gap | **GAP:** no matching hardware resource node | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `dart-acio2`; stream/resource linkage needs review | -| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc2-dpin0` | gap | **GAP:** no matching hardware resource node | -| `atc2-dpin1` | gap | **GAP:** no matching hardware resource node | -| `acio-cpu3` | gap | **GAP:** no matching hardware resource node | -| `acio-cpu3/iop-acio3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec3` | gap | **GAP:** no matching hardware resource node | -| `apciec3/pcic3-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec3` | gap | **GAP:** no matching hardware resource node | -| `dart-apciec3/mapper-apciec3-piodma` | stream | Stream of `dart-apciec3`; stream/resource linkage needs review | -| `apciec3-piodma` | gap | **GAP:** no matching hardware resource node | -| `acio3` | gap | **GAP:** no matching hardware resource node | -| `dart-acio3` | gap | **GAP:** no matching hardware resource node | -| `dart-acio3/mapper-acio3-tx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc3-dpin0` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpin1` | gap | **GAP:** no matching hardware resource node | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | -| `aic` | resources | `/soc/interrupt-controller@381000000` | -| `aic-timebase` | gap | **GAP:** no matching hardware resource node | -| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | -| `dwi` | resources | `/soc/dwi@380200000` | -| `pwm` | resources | `/soc/pwm@3ad040000` | -| `aes` | resources | `/soc/crypto@3ad00c000` | -| `gpio0` | resources | `/soc/pinctrl@39a000000` | -| `aop-gpio` | resources | `/soc/pinctrl@390824000` | -| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | -| `aop` | resources | `/soc/aop@390600000` | -| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | -| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | -| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp` | resources | `/soc/iommu@380300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sep` | resources | `/soc/iommu@3a8c80000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `esm` | gap | **GAP:** no matching hardware resource node | -| `sio` | gap | **GAP:** no matching hardware resource node | -| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sio` | resources | `/soc/iommu@3ad060000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | -| `ans` | gap | **GAP:** no matching hardware resource node | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | gap | **GAP:** no matching hardware resource node | -| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/soc/spi@3ad118000` | -| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/soc/i2c@3ad018000` | -| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt3` | gap | **GAP:** I2C device not described under this bus | -| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy2` | gap | **GAP:** no matching hardware resource node | -| `dart-usb2` | gap | **GAP:** no matching hardware resource node | -| `dart-usb2/mapper-usb2` | stream | Stream of `dart-usb2`; stream/resource linkage needs review | -| `usb-drd2` | gap | **GAP:** no matching hardware resource node | -| `usb-drd2/usb-drd2-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd2/usb-drd2-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy3` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3/mapper-usb3` | stream | Stream of `dart-usb3`; stream/resource linkage needs review | -| `usb-drd3` | gap | **GAP:** no matching hardware resource node | -| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | -| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1` | resources | `/soc/spmi@388614000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm3` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcp0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp` | gap | **GAP:** no matching hardware resource node | -| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcp` | gap | **GAP:** no matching hardware resource node | -| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | -| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | -| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `dart-dcpext0`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext1-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `dart-dcpext1`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@505000000` | -| `dart-scaler` | resources | `/soc/iommu@505260000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@3a5000000` | -| `dart-jpeg0` | resources | `/soc/iommu@3a5020000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@3a5060000` | -| `dart-jpeg1` | resources | `/soc/iommu@3a5080000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@421100000` | -| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000`; stream/resource linkage needs review | -| `avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd/mapper-avd` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@281000000` | -| `dart-apr` | resources | `/soc/iommu@281020000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000`; stream/resource linkage needs review | -| `ispRtb` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; `/soc/pinctrl@39a000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | -| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | -| `dart-ane` | partial resources | `/soc/filter@501810000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | -| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | -| `sgx` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | -| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/soc/debug@389700000` | -| `aft` | resources | `/soc/trace@220180000` | -| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | -| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | - -## Other root records - -Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. - -| Root hardware or metadata record | Linux responsibility / review | -| --- | --- | -| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | -| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-3` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-4` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `osenvironments` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j713.md b/docs/devicetree/DT-GAPS-j713.md deleted file mode 100644 index e23df514c7f76..0000000000000 --- a/docs/devicetree/DT-GAPS-j713.md +++ /dev/null @@ -1,396 +0,0 @@ -# DT gaps: J713 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8132-j713.dts`. -The hardware resource inventory identifies the T8132 peripheral die. - -Source: preferred live hardware description, 26.5.1/t8132-j713.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 314 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| bus device | 2 | -| gap | 21 | -| partial resources | 30 | -| resources | 72 | -| service review | 97 | -| shared hardware | 2 | -| stream | 90 | - -## Remaining work - -- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. -- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. -- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. -- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. -- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. - -## Dependencies - -- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. -- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. -- The integration base is 43c790fe. - -## Every arm-io record - -Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. - -| Firmware hardware/service record | Classification | Linux description or gap | -| --- | --- | --- | -| `spi2` | resources | `/soc/spi@3ad108000` | -| `spi2/mesa` | bus device | `/soc/spi@3ad108000/fingerprint@0` | -| `spi4` | resources | `/soc/spi@3ad110000` | -| `spi4/dp855` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c1` | resources | `/soc/i2c@3ad014000` | -| `i2c1/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3` | resources | `/soc/i2c@3ad01c000` | -| `i2c3/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-left-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-right-woofer` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-right-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `fpwm1` | resources | `/soc/pwm@3ad044000` | -| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi-a1` | resources | `/soc/spmi@388a08000` | -| `aop-spmi0` | resources | `/soc/spmi@390914000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | shared hardware | `/soc/pcie@1cb0000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@1cb0000000/pci@0,0/bluetooth@0,1` | -| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@490000000`; `/soc/filter@38079c000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000`; `/soc/phy@402a90000` | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000`; `/soc/filter@38079c000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | -| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | -| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000`; `/soc/filter@38079c000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | -| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000`; `/soc/phy@40aa90000` | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000`; `/soc/filter@38079c000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | -| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | -| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000`; `/soc/filter@38079c000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | -| `aic` | resources | `/soc/interrupt-controller@381000000` | -| `aic-timebase` | gap | **GAP:** no matching hardware resource node | -| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/dcp@30ae00000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | -| `dwi` | resources | `/soc/dwi@380200000` | -| `pwm` | resources | `/soc/pwm@3ad040000` | -| `aes` | resources | `/soc/crypto@3ad00c000` | -| `gpio0` | resources | `/soc/pinctrl@39a000000` | -| `aop-gpio` | resources | `/soc/pinctrl@390824000` | -| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | -| `aop` | resources | `/soc/aop@390600000` | -| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000`; `/soc/filter@3882a4000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/power-controller@380760800`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/gpu@302600000`; `/soc/dcp@30ae00000`; **GAP:** 46 larger or unmatched resource window(s) | -| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/dcp@30ae00000`; `/soc/gpu@302600000`; **GAP:** 51 larger or unmatched resource window(s) | -| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp` | resources | `/soc/iommu@380300000`; `/soc/filter@38079c000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sep` | resources | `/soc/iommu@3a8c80000`; `/soc/filter@38079c000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `esm` | gap | **GAP:** no matching hardware resource node | -| `sio` | gap | **GAP:** no matching hardware resource node | -| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sio` | resources | `/soc/iommu@3ad060000`; `/soc/filter@38079c000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `ans` | gap | **GAP:** no matching hardware resource node | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | gap | **GAP:** no matching hardware resource node | -| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp` | partial resources | `/soc/fifo@394b14000`; `/soc/fifo@394b14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/multi-touch` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/keyboard` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/stm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/actuator` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/tp-accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mtp` | partial resources | `/soc/mtp@394600000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-mtp` | resources | `/soc/iommu@394800000`; `/soc/filter@394810000`; `/soc/filter@3882a4000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@394800000` / `/soc/filter@394810000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `qspi` | resources | `/soc/spi@3ad118000` | -| `qspi/spinor` | bus device | `/soc/spi@3ad118000/flash@0` | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/soc/i2c@3ad018000` | -| `i2c2/atcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2/atcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy0` | partial resources | `/soc/phy@402a90000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000`; `/soc/filter@38079c000`; `/soc/filter@3882a4000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000` / `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000`; `/soc/filter@38079c000`; `/soc/filter@3882a4000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000` / `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | -| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1` | resources | `/soc/spmi@388614000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm5` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/dcp@30ae00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | resources | `/soc/display-sideband@3882b8044` | -| `dcp` | partial resources | `/soc/dcp@30ae00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcp` | resources | `/soc/iommu@30a340000`; `/soc/filter@38079c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@30a340000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-disp0` | resources | `/soc/iommu@30a300000`; `/soc/iommu@30a314000`; `/soc/filter@38079c000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a300000` / `/soc/iommu@30a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a300000` / `/soc/iommu@30a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext0` | partial resources | `/soc/dcp@286e00000`; `/soc/dcp@30ae00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0-expert` | resources | `/soc/display-sideband@3882b8044` | -| `dcpext0` | partial resources | `/soc/dcp@286e00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | resources | `/soc/iommu@286340000`; `/soc/filter@38079c000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@286340000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-dispext0` | resources | `/soc/iommu@286300000`; `/soc/iommu@286314000`; `/soc/filter@38079c000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286300000` / `/soc/iommu@286314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286300000` / `/soc/iommu@286314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/soc/dcp@48ae00000`; `/soc/dcp@30ae00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1-expert` | resources | `/soc/display-sideband@3882b8044` | -| `dcpext1` | partial resources | `/soc/dcp@48ae00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | resources | `/soc/iommu@48a340000`; `/soc/filter@38079c000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@48a340000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-dispext1` | resources | `/soc/iommu@48a300000`; `/soc/iommu@48a314000`; `/soc/filter@38079c000` | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a300000` / `/soc/iommu@48a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a300000` / `/soc/iommu@48a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@505000000` | -| `dart-scaler` | resources | `/soc/iommu@505260000`; `/soc/filter@38079c000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@3a5000000` | -| `dart-jpeg0` | resources | `/soc/iommu@3a5020000`; `/soc/filter@38079c000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@3a5060000` | -| `dart-jpeg1` | resources | `/soc/iommu@3a5080000`; `/soc/filter@38079c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@421100000` | -| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000`; `/soc/filter@38079c000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@281000000` | -| `dart-apr` | resources | `/soc/iommu@281020000`; `/soc/filter@38079c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000`; `/soc/filter@38079c000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | -| `dart-ane` | partial resources | `/soc/filter@501810000`; `/soc/filter@38079c000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@302600000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | partial resources | `/soc/gpu@302600000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | -| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/soc/debug@389700000` | -| `aft` | resources | `/soc/trace@220180000` | -| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `secure-repair` | resources | `/soc/pinctrl@3881f0000` | -| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | -| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | - -## Other root records - -Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. - -| Root hardware or metadata record | Linux responsibility / review | -| --- | --- | -| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | -| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-t818-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j715.md b/docs/devicetree/DT-GAPS-j715.md deleted file mode 100644 index ab8809303dfc1..0000000000000 --- a/docs/devicetree/DT-GAPS-j715.md +++ /dev/null @@ -1,404 +0,0 @@ -# DT gaps: J715 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8132-j715.dts`. -The hardware resource inventory identifies the T8132 peripheral die. - -Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 322 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| bus device | 1 | -| gap | 43 | -| partial resources | 31 | -| resources | 63 | -| service review | 93 | -| stream | 91 | - -## Remaining work - -- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. -- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. -- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. -- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. -- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. - -## Dependencies - -- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. -- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. -- The integration base is 43c790fe. - -## Every arm-io record - -Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. - -| Firmware hardware/service record | Classification | Linux description or gap | -| --- | --- | --- | -| `spi2` | resources | `/soc/spi@3ad108000` | -| `spi2/mesa` | bus device | `/soc/spi@3ad108000/fingerprint@0` | -| `spi4` | resources | `/soc/spi@3ad110000` | -| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c1` | resources | `/soc/i2c@3ad014000` | -| `i2c1/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | -| `i2c3` | resources | `/soc/i2c@3ad01c000` | -| `i2c3/audio-speaker` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-left-woofer-2` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-woofer-1` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-woofer-2` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `fpwm1` | resources | `/soc/pwm@3ad044000` | -| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi-a1` | resources | `/soc/spmi@388a08000` | -| `aop-spmi0` | resources | `/soc/spmi@390914000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@490000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | -| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | -| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | -| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | -| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | -| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | -| `aic` | resources | `/soc/interrupt-controller@381000000` | -| `aic-timebase` | gap | **GAP:** no matching hardware resource node | -| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | -| `dwi` | resources | `/soc/dwi@380200000` | -| `pwm` | resources | `/soc/pwm@3ad040000` | -| `aes` | resources | `/soc/crypto@3ad00c000` | -| `gpio0` | resources | `/soc/pinctrl@39a000000` | -| `aop-gpio` | resources | `/soc/pinctrl@390824000` | -| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | -| `aop` | resources | `/soc/aop@390600000` | -| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-voicetrigger` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | -| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | -| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp` | resources | `/soc/iommu@380300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sep` | resources | `/soc/iommu@3a8c80000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000`; stream/resource linkage needs review | -| `esm` | gap | **GAP:** no matching hardware resource node | -| `sio` | gap | **GAP:** no matching hardware resource node | -| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sio` | resources | `/soc/iommu@3ad060000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000`; stream/resource linkage needs review | -| `ans` | gap | **GAP:** no matching hardware resource node | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | gap | **GAP:** no matching hardware resource node | -| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp` | partial resources | `/soc/fifo@394b14000`; `/soc/fifo@394b14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/multi-touch` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/keyboard` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/stm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/actuator` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp/mtp-transport/tp-accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mtp` | partial resources | `/soc/mtp@394600000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-mtp` | resources | `/soc/iommu@394800000`; `/soc/filter@394810000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@394800000` / `/soc/filter@394810000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `qspi` | resources | `/soc/spi@3ad118000` | -| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/soc/i2c@3ad018000` | -| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | -| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1` | resources | `/soc/spmi@388614000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm5` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcp0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp` | gap | **GAP:** no matching hardware resource node | -| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcp` | gap | **GAP:** no matching hardware resource node | -| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | -| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000`; stream/resource linkage needs review | -| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `dart-dcpext0`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext1-expert` | partial resources | `/soc/display-sideband@3882b8044`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `dart-dcpext1`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@505000000` | -| `dart-scaler` | resources | `/soc/iommu@505260000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@3a5000000` | -| `dart-jpeg0` | resources | `/soc/iommu@3a5020000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@3a5060000` | -| `dart-jpeg1` | resources | `/soc/iommu@3a5080000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@421100000` | -| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000`; stream/resource linkage needs review | -| `avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd/mapper-avd` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `dart-avd`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@281000000` | -| `dart-apr` | resources | `/soc/iommu@281020000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000`; stream/resource linkage needs review | -| `ispRtb` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; `/soc/pinctrl@39a000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `isp` | partial resources | `/soc/isp@48c000000`; `/soc/video-encoder@421100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@48e8c0000`; `/soc/iommu@48e8e0000`; `/soc/iommu@48e900000`; `/soc/iommu@48e8f4000`; `/soc/iommu@48e914000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | -| `dart-isp/mapper-isp-mpm` | stream | Stream of `/soc/iommu@48e8c0000` / `/soc/iommu@48e8e0000` / `/soc/iommu@48e900000` / `/soc/iommu@48e8f4000` / `/soc/iommu@48e914000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | -| `dart-ane` | partial resources | `/soc/filter@501810000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | -| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000`; stream/resource linkage needs review | -| `sgx` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | -| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/soc/debug@389700000` | -| `aft` | resources | `/soc/trace@220180000` | -| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `secure-repair` | resources | `/soc/pinctrl@3881f0000` | -| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | -| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | - -## Other root records - -Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. - -| Root hardware or metadata record | Linux responsibility / review | -| --- | --- | -| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | -| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-magsafe3-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `backlight` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `osenvironments` | Boot metadata; no independent hardware device. Subtree properties omitted. | diff --git a/docs/devicetree/DT-GAPS-j773g.md b/docs/devicetree/DT-GAPS-j773g.md deleted file mode 100644 index 434d3ad76946e..0000000000000 --- a/docs/devicetree/DT-GAPS-j773g.md +++ /dev/null @@ -1,419 +0,0 @@ -# DT gaps: J773G - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8132-j773g.dts`. -The hardware resource inventory identifies the T8132 peripheral die. - -Source: preferred live hardware description, 26.6.2/t8132-j773.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 337 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| gap | 40 | -| partial resources | 33 | -| resources | 61 | -| service review | 87 | -| stream | 116 | - -## Remaining work - -- Close every explicit GAP and service-review entry below, including nested endpoints and shared resource ownership. -- Some template SPMI records are alternative endpoints at the same address. Runtime model selection is needed before representing these as simultaneous devices. -- Reconcile larger firmware resource windows with the driver-specific Linux register layout; do not expand an active device aperture without driver review. -- Bindings and resource presence do not supply per-device calibration, firmware or an initialization contract. -- Validate this board with `W=1` and `dtbs_check`, then perform a separately approved boot before enabling newly described engines. - -## Dependencies - -- linux PR #1035: existing cooled-board CPU DVFS enablement, kept separate; this change does not duplicate it. -- linux PR #1042 owns Stockholm endpoint bring-up; this series describes the disabled bus without enabling NFC. -- The integration base is 43c790fe. - -## Every arm-io record - -Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. - -| Firmware hardware/service record | Classification | Linux description or gap | -| --- | --- | --- | -| `i2c0` | resources | `/soc/i2c@3ad010000` | -| `i2c0/pcon0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c1` | resources | `/soc/i2c@3ad014000` | -| `i2c1/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3` | resources | `/soc/i2c@3ad01c000` | -| `i2c3/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie2` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apcie2/mapper-apcie2` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | -| `lan-10gb-sync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `aop-spmi0` | resources | `/soc/spmi@390914000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0/stockholm-spmi` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apcie` | partial resources | `/soc/pcie@1cb0000000`; `/soc/iommu@490000000`; **GAP:** 26 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2/lan-1gb` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@490000000`; `/soc/filter@38079c000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@490000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@490030000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `acio-cpu0` | resources | `/soc/mailbox@401108000`; `/soc/cio@401ac0000` | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@1c50000000` | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@404000000`; `/soc/filter@38079c000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@404000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@404068000` | -| `acio0` | resources | `/soc/cio@401ac0000/nhi@f00000`; `/soc/cio@401ac0000` | -| `dart-acio0` | resources | `/soc/cio@401ac0000/iommu@a80000`; `/soc/filter@38079c000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@401ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@40304c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/soc/displayport@401e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@401e58000` | -| `acio-cpu1` | resources | `/soc/mailbox@409108000`; `/soc/cio@409ac0000` | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | resources | `/usb4-pcie-tunnel-1/pcie@1c60000000` | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/usb4-pcie-tunnel-1/iommu@40c000000`; `/soc/filter@38079c000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/usb4-pcie-tunnel-1/iommu@40c000000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@40c068000` | -| `acio1` | resources | `/soc/cio@409ac0000/nhi@f00000`; `/soc/cio@409ac0000` | -| `dart-acio1` | resources | `/soc/cio@409ac0000/iommu@a80000`; `/soc/filter@38079c000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@409ac0000/iommu@a80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@40b04c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/soc/displayport@409e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@409e58000` | -| `acio-cpu3` | gap | **GAP:** no matching hardware resource node | -| `acio-cpu3/iop-acio3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec3` | gap | **GAP:** no matching hardware resource node | -| `apciec3/pcic3-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec3` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apciec3/mapper-apciec3-piodma` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apciec3-piodma` | gap | **GAP:** no matching hardware resource node | -| `acio3` | gap | **GAP:** no matching hardware resource node | -| `dart-acio3` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio3/mapper-acio3-tx-0` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-1` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-2` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-3` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-4` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-5` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-6` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-7` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-8` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-9` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-10` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-11` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-0` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-1` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-2` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-3` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-4` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-5` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-6` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-7` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-8` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-9` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-10` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-11` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc3-dpin0` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpin1` | gap | **GAP:** no matching hardware resource node | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/soc/power-management@380780000`; `/soc/memory-controller@220000000`; `/soc/pmp-report@3803c0000`; **GAP:** 9 larger or unmatched resource window(s) | -| `aic` | resources | `/soc/interrupt-controller@381000000` | -| `aic-timebase` | gap | **GAP:** no matching hardware resource node | -| `wdt` | partial resources | `/soc/watchdog@3882b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/soc/power-management@380700000`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; `/soc/memory-controller@220000000`; **GAP:** 22 larger or unmatched resource window(s) | -| `dwi` | resources | `/soc/dwi@380200000` | -| `pwm` | resources | `/soc/pwm@3ad040000` | -| `aes` | resources | `/soc/crypto@3ad00c000` | -| `gpio0` | resources | `/soc/pinctrl@39a000000` | -| `aop-gpio` | resources | `/soc/pinctrl@390824000` | -| `nub-gpio` | resources | `/soc/pinctrl@3881f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@38c820000` | -| `aop` | resources | `/soc/aop@390600000` | -| `aop/iop-aop-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/accel` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/gyro` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/als` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-pio-filters` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-aop` | resources | `/soc/iommu@390f00000`; `/soc/filter@390f10000`; `/soc/filter@3882a4000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-exclave-aop` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/soc/iommu@390f00000` / `/soc/filter@390f10000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/performance-controller@210e20000`; `/soc/performance-controller@211e20000`; `/soc/serial@38812c000`; `/soc/power-management@380780000`; `/soc/display-sideband@3882b8044`; `/soc/pmp-report@3803c0000`; `/soc/power-management@382800000`; **GAP:** 47 larger or unmatched resource window(s) | -| `pmgr/clpc` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/ppm` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `event-log-handler` | partial resources | `/soc/power-management@380700000`; `/soc/power-management@388280000`; `/soc/power-management@382800000`; **GAP:** 55 larger or unmatched resource window(s) | -| `pmp` | partial resources | `/soc/pmp@380500000`; `/soc/pmp-report@3803c0000`; **GAP:** 3 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp` | resources | `/soc/iommu@380300000`; `/soc/filter@38079c000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@380300000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@3aa600000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/Ocelot` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/xART` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sep/iop-sep-nub/InvalidateHmac` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sep` | resources | `/soc/iommu@3a8c80000`; `/soc/filter@38079c000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-mpm` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-sep/mapper-sep-exclave` | stream | Stream of `/soc/iommu@3a8c80000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `esm` | gap | **GAP:** no matching hardware resource node | -| `sio` | gap | **GAP:** no matching hardware resource node | -| `sio/iop-sio-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sio/iop-sio-nub/sio-dma` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-sio` | resources | `/soc/iommu@3ad060000`; `/soc/filter@38079c000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@3ad060000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@3ad060000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `ans` | gap | **GAP:** no matching hardware resource node | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | gap | **GAP:** no matching hardware resource node | -| `smc` | partial resources | `/soc/smc@38c600000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-pmu` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `smc/iop-smc-nub/smc-charger-util-3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@38c840000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `uart0` | partial resources | `/soc/serial@3ad200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/soc/serial@38812c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/soc/spi@3ad118000` | -| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi3` | resources | `/soc/spi@3ad10c000` | -| `spi3/usb3hub-flash` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi3/usb3hub-flash/usb3hub-fw` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/soc/i2c@3ad018000` | -| `i2c2/atcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2/atcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2/atcrt3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dptx-phy` | gap | **GAP:** no matching hardware resource node | -| `atc-phy0` | partial resources | `/soc/phy@402a90000`; `/soc/mux@40304c000`; `/usb4-pcie-tunnel-0/pcie@1c50000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@402f00000`; `/soc/iommu@402f80000`; `/soc/filter@38079c000`; `/soc/filter@3882a4000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@402f00000` / `/soc/iommu@402f80000` / `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@402280000`; `/soc/phy@402a90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/soc/phy@40aa90000`; `/soc/mux@40b04c000`; `/usb4-pcie-tunnel-1/pcie@1c60000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@40af00000`; `/soc/iommu@40af80000`; `/soc/filter@38079c000`; `/soc/filter@3882a4000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@40af00000` / `/soc/iommu@40af80000` / `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@40a280000`; `/soc/phy@40aa90000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd1/usb-drd1-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy2` | gap | **GAP:** no matching hardware resource node | -| `dart-usb2` | partial resources | `/soc/filter@38079c000`; `/soc/filter@3882a4000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `usb-drd2` | gap | **GAP:** no matching hardware resource node | -| `usb-drd2/usb-drd2-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd2/usb-drd2-port-hs/usb2-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd2/usb-drd2-port-hs/usb2-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd2/usb-drd2-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd2/usb-drd2-port-ss/usb3-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd2/usb-drd2-port-ss/usb3-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy3` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3` | partial resources | `/soc/filter@38079c000`; `/soc/filter@3882a4000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb3/mapper-usb3` | stream | Stream of `/soc/filter@38079c000` / `/soc/filter@3882a4000`; stream/resource linkage needs review | -| `usb-drd3` | gap | **GAP:** no matching hardware resource node | -| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi0` | gap | **GAP:** no matching hardware resource node | -| `nub-spmi0/pmu-main` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi0/btm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1` | resources | `/soc/spmi@388614000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@388908000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm3` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcp0-expert` | resources | `/soc/display-sideband@3882b8044` | -| `dcp` | gap | **GAP:** no matching hardware resource node | -| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcp` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-disp0` | partial resources | `/soc/iommu@30a314000`; `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@30a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@30a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext0` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | resources | `/soc/display-sideband@3882b8044` | -| `dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/soc/iommu@286314000`; `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@286314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@286314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/soc/power-management@382800000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext1-expert` | resources | `/soc/display-sideband@3882b8044` | -| `dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/soc/iommu@48a314000`; `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@48a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@48a314000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@505000000` | -| `dart-scaler` | resources | `/soc/iommu@505260000`; `/soc/filter@38079c000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@505260000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@505260000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@3a5000000` | -| `dart-jpeg0` | resources | `/soc/iommu@3a5020000`; `/soc/filter@38079c000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@3a5020000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@3a5060000` | -| `dart-jpeg1` | resources | `/soc/iommu@3a5080000`; `/soc/filter@38079c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@3a5080000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@421100000` | -| `dart-ave` | resources | `/soc/iommu@421080000`; `/soc/iommu@4210a0000`; `/soc/iommu@421094000`; `/soc/filter@4210b0000`; `/soc/filter@38079c000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@421080000` / `/soc/iommu@4210a0000` / `/soc/iommu@421094000` / `/soc/filter@4210b0000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `avd` | gap | **GAP:** no matching hardware resource node | -| `dart-avd` | partial resources | `/soc/filter@38079c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/filter@38079c000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@281000000` | -| `dart-apr` | resources | `/soc/iommu@281020000`; `/soc/filter@38079c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@281020000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@501810000`; `/soc/video-encoder@421100000`; `/soc/pmp-report@3803c0000`; `/soc/performance-controller@211e20000`; **GAP:** 6 larger or unmatched resource window(s) | -| `dart-ane` | partial resources | `/soc/filter@501810000`; `/soc/filter@38079c000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@501810000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `dart-ane/mapper-ane-mpm` | stream | Stream of `/soc/filter@501810000` / `/soc/filter@38079c000`; stream/resource linkage needs review | -| `sgx` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc` | gap | **GAP:** no matching hardware resource node | -| `gfx-asc/iop-gfx-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mapper-gfx-asc` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/soc/dma-controller@393800000`; `/soc/aop@390600000` | -| `admac-leap-ns` | resources | `/soc/dma-controller@393300000`; `/soc/aop@390600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/soc/debug@389700000` | -| `aft` | resources | `/soc/trace@220180000` | -| `timesync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `fillmore` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `siri-exclave-timebase` | gap | **GAP:** no matching hardware resource node | -| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | - -## Other root records - -Boot metadata subtrees are identified but their properties and private data are not reproduced. Runtime memory allocations must be supplied by the loader rather than copied from a firmware template. - -| Root hardware or metadata record | Linux responsibility / review | -| --- | --- | -| `chosen` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `options` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `cpus` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu0` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu1` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu2` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu3` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu4` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu5` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu6` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu7` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu8` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu9` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `aliases` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `memory` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `pram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `vram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `socd-trace-ram` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `hibernate` | Loader-owned runtime memory or reserved-memory allocation; not a static template address. | -| `amfm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `buttons` | **GAP:** reconcile GPIO key and wakeup relationships. | -| `port-usb-c-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-4` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-5` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-6` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-hdmi-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | From dfe3ab1003bd423ee9c09aefbff9d19edb246765 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:09:20 +1100 Subject: [PATCH 4/5] arm64: dts: apple: describe disabled M4 board audio endpoints Describe the CS42L84 headphone codec and SN012776 amplifiers on J604, J623, J624, J715 and J773g using the existing bindings. Preserve their bus addresses, reset and interrupt wiring. Keep the codecs, amplifiers and shared shutdown supply disabled pending route and protection qualification; copy no tuning or slot tables. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../boot/dts/apple/t8132-j604-audio.dtsi | 84 +++++++++++++++++++ arch/arm64/boot/dts/apple/t8132-j604.dts | 2 + .../boot/dts/apple/t8132-j623-audio.dtsi | 66 +++++++++++++++ arch/arm64/boot/dts/apple/t8132-j623.dts | 2 + .../boot/dts/apple/t8132-j624-audio.dtsi | 66 +++++++++++++++ arch/arm64/boot/dts/apple/t8132-j624.dts | 2 + .../boot/dts/apple/t8132-j715-audio.dtsi | 84 +++++++++++++++++++ arch/arm64/boot/dts/apple/t8132-j715.dts | 2 + .../boot/dts/apple/t8132-j773g-audio.dtsi | 39 +++++++++ arch/arm64/boot/dts/apple/t8132-j773g.dts | 2 + 10 files changed, 349 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/t8132-j604-audio.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8132-j623-audio.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8132-j624-audio.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8132-j715-audio.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8132-j773g-audio.dtsi diff --git a/arch/arm64/boot/dts/apple/t8132-j604-audio.dtsi b/arch/arm64/boot/dts/apple/t8132-j604-audio.dtsi new file mode 100644 index 0000000000000..87f67b94c6cdc --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8132-j604-audio.dtsi @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* J604 audio endpoints. Routing and protection qualification remain separate. */ + +#include +#include + +/ { + speaker_sdz: regulator-speaker-sdz { + compatible = "regulator-fixed"; + regulator-name = "speaker-sdz"; + gpios = <&pinctrl_ap 15 GPIO_ACTIVE_HIGH>; + enable-active-high; + status = "disabled"; + }; +}; + +&i2c1 { + jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + reset-gpios = <&pinctrl_nub 17 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&pinctrl_ap 98 IRQ_TYPE_LEVEL_LOW>; + #sound-dai-cells = <0>; + status = "disabled"; + }; +}; + +&i2c3 { + audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + interrupts-extended = <&pinctrl_ap 14 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + + audio_speaker_left_woofer_2: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_left_tweeter: codec@3a { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3a>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_woofer_1: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_woofer_2: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_tweeter: codec@3d { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3d>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8132-j604.dts b/arch/arm64/boot/dts/apple/t8132-j604.dts index a0f6c5dc29507..53ecd0e644b15 100644 --- a/arch/arm64/boot/dts/apple/t8132-j604.dts +++ b/arch/arm64/boot/dts/apple/t8132-j604.dts @@ -50,3 +50,5 @@ &cpuidle { status = "okay"; }; + +#include "t8132-j604-audio.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8132-j623-audio.dtsi b/arch/arm64/boot/dts/apple/t8132-j623-audio.dtsi new file mode 100644 index 0000000000000..a2ac5784d78c9 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8132-j623-audio.dtsi @@ -0,0 +1,66 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* J623 audio endpoints. Routing and protection qualification remain separate. */ + +#include +#include + +/ { + speaker_sdz: regulator-speaker-sdz { + compatible = "regulator-fixed"; + regulator-name = "speaker-sdz"; + gpios = <&pinctrl_ap 15 GPIO_ACTIVE_HIGH>; + enable-active-high; + status = "disabled"; + }; +}; + +&i2c1 { + jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + reset-gpios = <&pinctrl_nub 17 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&pinctrl_ap 98 IRQ_TYPE_LEVEL_LOW>; + #sound-dai-cells = <0>; + status = "disabled"; + }; +}; + +&i2c3 { + audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + interrupts-extended = <&pinctrl_ap 14 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + + audio_speaker_left_tweeter: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_woofer: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_tweeter: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8132-j623.dts b/arch/arm64/boot/dts/apple/t8132-j623.dts index 34d5c425d4c8b..da4718bceeafb 100644 --- a/arch/arm64/boot/dts/apple/t8132-j623.dts +++ b/arch/arm64/boot/dts/apple/t8132-j623.dts @@ -33,3 +33,5 @@ &cpuidle { status = "okay"; }; + +#include "t8132-j623-audio.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8132-j624-audio.dtsi b/arch/arm64/boot/dts/apple/t8132-j624-audio.dtsi new file mode 100644 index 0000000000000..a7f91b5276e63 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8132-j624-audio.dtsi @@ -0,0 +1,66 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* J624 audio endpoints. Routing and protection qualification remain separate. */ + +#include +#include + +/ { + speaker_sdz: regulator-speaker-sdz { + compatible = "regulator-fixed"; + regulator-name = "speaker-sdz"; + gpios = <&pinctrl_ap 15 GPIO_ACTIVE_HIGH>; + enable-active-high; + status = "disabled"; + }; +}; + +&i2c1 { + jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + reset-gpios = <&pinctrl_nub 17 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&pinctrl_ap 98 IRQ_TYPE_LEVEL_LOW>; + #sound-dai-cells = <0>; + status = "disabled"; + }; +}; + +&i2c3 { + audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + interrupts-extended = <&pinctrl_ap 14 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + + audio_speaker_left_tweeter: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_woofer: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_tweeter: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8132-j624.dts b/arch/arm64/boot/dts/apple/t8132-j624.dts index d41d359854bd2..a832eb3c61aa0 100644 --- a/arch/arm64/boot/dts/apple/t8132-j624.dts +++ b/arch/arm64/boot/dts/apple/t8132-j624.dts @@ -33,3 +33,5 @@ &cpuidle { status = "okay"; }; + +#include "t8132-j624-audio.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8132-j715-audio.dtsi b/arch/arm64/boot/dts/apple/t8132-j715-audio.dtsi new file mode 100644 index 0000000000000..55d87d672de6b --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8132-j715-audio.dtsi @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* J715 audio endpoints. Routing and protection qualification remain separate. */ + +#include +#include + +/ { + speaker_sdz: regulator-speaker-sdz { + compatible = "regulator-fixed"; + regulator-name = "speaker-sdz"; + gpios = <&pinctrl_ap 15 GPIO_ACTIVE_HIGH>; + enable-active-high; + status = "disabled"; + }; +}; + +&i2c1 { + jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + reset-gpios = <&pinctrl_nub 17 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&pinctrl_ap 98 IRQ_TYPE_LEVEL_LOW>; + #sound-dai-cells = <0>; + status = "disabled"; + }; +}; + +&i2c3 { + audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + interrupts-extended = <&pinctrl_ap 14 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + + audio_speaker_left_woofer_2: codec@3a { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3a>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_left_tweeter: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_woofer_1: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_woofer_2: codec@3d { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3d>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + + audio_speaker_right_tweeter: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8132-j715.dts b/arch/arm64/boot/dts/apple/t8132-j715.dts index 1a387d273e8ff..4b66f453b71da 100644 --- a/arch/arm64/boot/dts/apple/t8132-j715.dts +++ b/arch/arm64/boot/dts/apple/t8132-j715.dts @@ -34,3 +34,5 @@ &fpwm1 { status = "okay"; }; + +#include "t8132-j715-audio.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8132-j773g-audio.dtsi b/arch/arm64/boot/dts/apple/t8132-j773g-audio.dtsi new file mode 100644 index 0000000000000..32131af267c34 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8132-j773g-audio.dtsi @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* J773G audio endpoints. Routing and protection qualification remain separate. */ + +#include +#include + +/ { + speaker_sdz: regulator-speaker-sdz { + compatible = "regulator-fixed"; + regulator-name = "speaker-sdz"; + gpios = <&pinctrl_ap 15 GPIO_ACTIVE_HIGH>; + enable-active-high; + status = "disabled"; + }; +}; + +&i2c1 { + jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + reset-gpios = <&pinctrl_nub 17 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&pinctrl_ap 98 IRQ_TYPE_LEVEL_LOW>; + #sound-dai-cells = <0>; + status = "disabled"; + }; +}; + +&i2c3 { + audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + #sound-dai-cells = <0>; + interrupts-extended = <&pinctrl_ap 14 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8132-j773g.dts b/arch/arm64/boot/dts/apple/t8132-j773g.dts index 3da708213e194..aa38b26c8b9db 100644 --- a/arch/arm64/boot/dts/apple/t8132-j773g.dts +++ b/arch/arm64/boot/dts/apple/t8132-j773g.dts @@ -40,3 +40,5 @@ &cpuidle { status = "okay"; }; + +#include "t8132-j773g-audio.dtsi" From eb010eeab4a1ef5a2858ec6d9cd3dd14fc08ca80 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:13:07 +1100 Subject: [PATCH 5/5] dt-bindings: apple: select only described SoC resource variants Do not select another generation solely through its generic fallback. This preserves validation by that generation\x27s own resource contract when the family series are stacked. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml | 1 - Documentation/devicetree/bindings/crypto/apple,aes.yaml | 1 - Documentation/devicetree/bindings/display/apple,dcp-expert.yaml | 1 - Documentation/devicetree/bindings/display/apple,dpin.yaml | 1 - Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml | 1 - Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml | 1 - Documentation/devicetree/bindings/media/apple,jpeg.yaml | 1 - Documentation/devicetree/bindings/media/apple,prores.yaml | 1 - Documentation/devicetree/bindings/media/apple,scaler.yaml | 1 - Documentation/devicetree/bindings/media/apple,t8140-ave.yaml | 1 - Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml | 1 - Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml | 1 - Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml | 1 - 13 files changed, 13 deletions(-) diff --git a/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml b/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml index 4094deb176bfb..ff2b04cec515b 100644 --- a/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml +++ b/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml @@ -24,7 +24,6 @@ select: enum: - apple,t6041-pmgr-clocks - apple,t8140-pmgr-clocks - - apple,pmgr-clocks - apple,t8132-pmgr-clocks required: - compatible diff --git a/Documentation/devicetree/bindings/crypto/apple,aes.yaml b/Documentation/devicetree/bindings/crypto/apple,aes.yaml index af65e7b75b471..ceedd32be134a 100644 --- a/Documentation/devicetree/bindings/crypto/apple,aes.yaml +++ b/Documentation/devicetree/bindings/crypto/apple,aes.yaml @@ -19,7 +19,6 @@ select: contains: enum: - apple,t6041-aes - - apple,aes - apple,t8140-aes - apple,t8132-aes required: diff --git a/Documentation/devicetree/bindings/display/apple,dcp-expert.yaml b/Documentation/devicetree/bindings/display/apple,dcp-expert.yaml index f021509a74e96..cf91ff82a2991 100644 --- a/Documentation/devicetree/bindings/display/apple,dcp-expert.yaml +++ b/Documentation/devicetree/bindings/display/apple,dcp-expert.yaml @@ -20,7 +20,6 @@ select: contains: enum: - apple,t6041-dcp-expert - - apple,dcp-expert - apple,t8140-dcp-expert - apple,t8132-dcp-expert required: diff --git a/Documentation/devicetree/bindings/display/apple,dpin.yaml b/Documentation/devicetree/bindings/display/apple,dpin.yaml index 6666e615cb33a..014f53b60bc82 100644 --- a/Documentation/devicetree/bindings/display/apple,dpin.yaml +++ b/Documentation/devicetree/bindings/display/apple,dpin.yaml @@ -18,7 +18,6 @@ select: contains: enum: - apple,t6041-dpin - - apple,dpin - apple,t8132-dpin required: - compatible diff --git a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml index 696b506c0ed00..dad43a69a71fe 100644 --- a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml +++ b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml @@ -19,7 +19,6 @@ select: contains: enum: - apple,t6041-pcie-piodma - - apple,pcie-piodma - apple,t8132-pcie-piodma required: - compatible diff --git a/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml index 5b09d97724497..560b49eb08159 100644 --- a/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml +++ b/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml @@ -19,7 +19,6 @@ select: contains: enum: - apple,t6041-pciec-piodma - - apple,pciec-piodma - apple,t8132-pciec-piodma required: - compatible diff --git a/Documentation/devicetree/bindings/media/apple,jpeg.yaml b/Documentation/devicetree/bindings/media/apple,jpeg.yaml index 422518cffa734..7dab8e2586674 100644 --- a/Documentation/devicetree/bindings/media/apple,jpeg.yaml +++ b/Documentation/devicetree/bindings/media/apple,jpeg.yaml @@ -27,7 +27,6 @@ select: - apple,t6041-jpeg - apple,t8140-jpeg - apple,t8132-jpeg - - apple,jpeg required: - compatible diff --git a/Documentation/devicetree/bindings/media/apple,prores.yaml b/Documentation/devicetree/bindings/media/apple,prores.yaml index 37c1e488923bd..1774c4c2ccef1 100644 --- a/Documentation/devicetree/bindings/media/apple,prores.yaml +++ b/Documentation/devicetree/bindings/media/apple,prores.yaml @@ -21,7 +21,6 @@ select: enum: - apple,t8140-prores - apple,t8132-prores - - apple,prores required: - compatible diff --git a/Documentation/devicetree/bindings/media/apple,scaler.yaml b/Documentation/devicetree/bindings/media/apple,scaler.yaml index e7ee47e8787ce..a1d21526658dd 100644 --- a/Documentation/devicetree/bindings/media/apple,scaler.yaml +++ b/Documentation/devicetree/bindings/media/apple,scaler.yaml @@ -20,7 +20,6 @@ select: contains: enum: - apple,t6041-scaler - - apple,scaler - apple,t8140-scaler - apple,t8132-scaler required: diff --git a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml index 55bd7053e499f..dd37dd32447b0 100644 --- a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml +++ b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml @@ -24,7 +24,6 @@ select: - apple,t8112-ave - apple,t8140-ave - apple,t8132-ave - - apple,ave required: - compatible diff --git a/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml index be90f009e5442..538f63aa4e13d 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml @@ -19,7 +19,6 @@ select: contains: enum: - apple,t6041-aon-ptd - - apple,aon-ptd - apple,t8140-aon-ptd - apple,t8132-aon-ptd required: diff --git a/Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml b/Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml index e6e47fc4ff743..6c02a181939f5 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,cpu-debug.yaml @@ -19,7 +19,6 @@ select: contains: enum: - apple,t6041-cpu-debug - - apple,cpu-debug - apple,t8132-cpu-debug required: - compatible diff --git a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml index 168e091707b5a..dd73483d7edf4 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml @@ -19,7 +19,6 @@ select: contains: enum: - apple,t6041-dwi - - apple,dwi - apple,t8140-dwi - apple,t8132-dwi required: