From 982f3305722ca55a25695b1db107e957a8d4d7a2 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:28:50 +1100 Subject: [PATCH 01/12] arm64: dts: apple: describe disabled M3 peripheral resources Add resource descriptions and bindings for unclaimed media, memory, security, trace, PCIe DMA and DP input interfaces on T8122, T6030 and T6031. Preserve disabled status for these interfaces and their translation banks. Describe the six memory channels on the harvested T6034 die. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../bindings/crypto/apple,m3-aes.yaml | 57 +++ .../bindings/display/apple,m3-dp-in.yaml | 52 +++ .../bindings/dma/apple,m3-pcie-piodma.yaml | 52 +++ .../apple,m3-aon-ptd.yaml | 57 +++ .../bindings/iommu/apple,m3-dapf.yaml | 47 ++ .../bindings/iommu/apple,m3-dart-smmu.yaml | 47 ++ .../bindings/media/apple,m3-ave.yaml | 62 +++ .../bindings/media/apple,m3-jpeg.yaml | 62 +++ .../bindings/media/apple,m3-prores.yaml | 62 +++ .../bindings/media/apple,m3-scaler.yaml | 62 +++ .../memory-controllers/apple,m3-mcc.yaml | 47 ++ .../bindings/soc/apple/apple,m3-aft.yaml | 43 ++ .../bindings/soc/apple/apple,m3-rsm.yaml | 61 +++ .../boot/dts/apple/t6030-peripherals.dtsi | 285 ++++++++++++ arch/arm64/boot/dts/apple/t6030.dtsi | 2 + .../boot/dts/apple/t6031-peripherals.dtsi | 438 ++++++++++++++++++ arch/arm64/boot/dts/apple/t6031.dtsi | 2 + arch/arm64/boot/dts/apple/t6034.dtsi | 13 + .../boot/dts/apple/t8122-peripherals.dtsi | 263 +++++++++++ arch/arm64/boot/dts/apple/t8122.dtsi | 2 + 20 files changed, 1716 insertions(+) create mode 100644 Documentation/devicetree/bindings/crypto/apple,m3-aes.yaml create mode 100644 Documentation/devicetree/bindings/display/apple,m3-dp-in.yaml create mode 100644 Documentation/devicetree/bindings/dma/apple,m3-pcie-piodma.yaml create mode 100644 Documentation/devicetree/bindings/interrupt-controller/apple,m3-aon-ptd.yaml create mode 100644 Documentation/devicetree/bindings/iommu/apple,m3-dapf.yaml create mode 100644 Documentation/devicetree/bindings/iommu/apple,m3-dart-smmu.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,m3-ave.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,m3-jpeg.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,m3-prores.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,m3-scaler.yaml create mode 100644 Documentation/devicetree/bindings/memory-controllers/apple,m3-mcc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,m3-aft.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,m3-rsm.yaml create mode 100644 arch/arm64/boot/dts/apple/t6030-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6031-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8122-peripherals.dtsi diff --git a/Documentation/devicetree/bindings/crypto/apple,m3-aes.yaml b/Documentation/devicetree/bindings/crypto/apple,m3-aes.yaml new file mode 100644 index 0000000000000..966e6845d7e0e --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/apple,m3-aes.yaml @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/crypto/apple,m3-aes.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family AES accelerator + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + - const: apple,aes + + reg: + minItems: 2 + maxItems: 2 + + 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/display/apple,m3-dp-in.yaml b/Documentation/devicetree/bindings/display/apple,m3-dp-in.yaml new file mode 100644 index 0000000000000..8ec95b2951c07 --- /dev/null +++ b/Documentation/devicetree/bindings/display/apple,m3-dp-in.yaml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/apple,m3-dp-in.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family DisplayPort input adapter + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-dp-in + - apple,t6030-dp-in + - apple,t6031-dp-in + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-dp-in + - apple,t6030-dp-in + - apple,t6031-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,m3-pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,m3-pcie-piodma.yaml new file mode 100644 index 0000000000000..74807b75b7321 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/apple,m3-pcie-piodma.yaml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/apple,m3-pcie-piodma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family PCIe programmed I/O DMA engine + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-pcie-piodma + - apple,t6030-pcie-piodma + - apple,t6031-pcie-piodma + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-pcie-piodma + - apple,t6030-pcie-piodma + - apple,t6031-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,m3-aon-ptd.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,m3-aon-ptd.yaml new file mode 100644 index 0000000000000..8ab14dbf5999a --- /dev/null +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,m3-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,m3-aon-ptd.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family always-on interrupt distributor + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t6031-aon-ptd + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t6031-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,m3-dapf.yaml b/Documentation/devicetree/bindings/iommu/apple,m3-dapf.yaml new file mode 100644 index 0000000000000..100e833d007b5 --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/apple,m3-dapf.yaml @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iommu/apple,m3-dapf.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family DMA address protection filter + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-dapf + - apple,t6030-dapf + - apple,t6031-dapf + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-dapf + - apple,t6030-dapf + - apple,t6031-dapf + - const: apple,dapf + + reg: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/iommu/apple,m3-dart-smmu.yaml b/Documentation/devicetree/bindings/iommu/apple,m3-dart-smmu.yaml new file mode 100644 index 0000000000000..2f991cfb7b962 --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/apple,m3-dart-smmu.yaml @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iommu/apple,m3-dart-smmu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family system MMU companion interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-dart-smmu + - apple,t6030-dart-smmu + - apple,t6031-dart-smmu + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-dart-smmu + - apple,t6030-dart-smmu + - apple,t6031-dart-smmu + - const: apple,dart-smmu + + reg: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,m3-ave.yaml b/Documentation/devicetree/bindings/media/apple,m3-ave.yaml new file mode 100644 index 0000000000000..060dcea3d4cca --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,m3-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,m3-ave.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family video encoder + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-ave + - apple,t6030-ave + - apple,t6031-ave + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-ave + - apple,t6030-ave + - apple,t6031-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 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,m3-jpeg.yaml b/Documentation/devicetree/bindings/media/apple,m3-jpeg.yaml new file mode 100644 index 0000000000000..15685edc639fd --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,m3-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,m3-jpeg.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family JPEG codec + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-jpeg + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-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 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,m3-prores.yaml b/Documentation/devicetree/bindings/media/apple,m3-prores.yaml new file mode 100644 index 0000000000000..f700aa017c2d8 --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,m3-prores.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,m3-prores.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family ProRes codec + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-prores + - apple,t6030-prores + - apple,t6031-prores + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-prores + - apple,t6030-prores + - apple,t6031-prores + - const: apple,prores + + reg: + minItems: 2 + maxItems: 3 + + interrupts: + minItems: 1 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 2 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,m3-scaler.yaml b/Documentation/devicetree/bindings/media/apple,m3-scaler.yaml new file mode 100644 index 0000000000000..1ed8fb8b1aea9 --- /dev/null +++ b/Documentation/devicetree/bindings/media/apple,m3-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,m3-scaler.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family image scaler + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + - const: apple,scaler + + reg: + minItems: 3 + maxItems: 4 + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 2 + + iommus: + minItems: 1 + maxItems: 2 + +required: + - compatible + - reg + - interrupts + - power-domains + - iommus + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/memory-controllers/apple,m3-mcc.yaml b/Documentation/devicetree/bindings/memory-controllers/apple,m3-mcc.yaml new file mode 100644 index 0000000000000..737a36043992d --- /dev/null +++ b/Documentation/devicetree/bindings/memory-controllers/apple,m3-mcc.yaml @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/memory-controllers/apple,m3-mcc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family memory controller + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family memory 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,t8122-mcc + - apple,t6030-mcc + - apple,t6031-mcc + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-mcc + - apple,t6030-mcc + - apple,t6031-mcc + - const: apple,mcc + + reg: + minItems: 5 + maxItems: 11 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,m3-aft.yaml b/Documentation/devicetree/bindings/soc/apple/apple,m3-aft.yaml new file mode 100644 index 0000000000000..e1be7bcc4ab04 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,m3-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,m3-aft.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family fabric trace interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-aft + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-aft + - const: apple,aft + + reg: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,m3-rsm.yaml b/Documentation/devicetree/bindings/soc/apple/apple,m3-rsm.yaml new file mode 100644 index 0000000000000..85a49da8ba123 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,m3-rsm.yaml @@ -0,0 +1,61 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,m3-rsm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family remote service manager + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family remote service manager. + 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,t8122-rsm + - apple,t6030-rsm + - apple,t6031-rsm + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-rsm + - apple,t6030-rsm + - apple,t6031-rsm + - const: apple,rsm + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - iommus + +additionalProperties: false diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi new file mode 100644 index 0000000000000..f9e42f8a84eb4 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -0,0 +1,285 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6030 hardware interfaces. Keep unclaimed engines disabled. */ + +&soc { + dart_rsm: iommu@36433c000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x3 0x6433c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_scaler: iommu@391200000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x3 0x91200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg0: iommu@299004000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0x99004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg1: iommu@29900c000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0x9900c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave0: iommu@2cd030000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0xcd030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave1: iommu@2cd040000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0xcd040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave2: iommu@2cd020000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xcd020000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave3: filter@2cd044000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x2 0xcd044000 0x0 0x4000>; + status = "disabled"; + }; + + dart_apr0: iommu@30d028000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x3 0x0d028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_apr1: iommu@30d02c000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x3 0x0d02c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6030-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t6030-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t6030-pcie-piodma", "apple,pcie-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin0: displayport@701e50000 { + compatible = "apple,t6030-dp-in", "apple,dp-in"; + reg = <0x7 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin1: displayport@701e58000 { + compatible = "apple,t6030-dp-in", "apple,dp-in"; + reg = <0x7 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t6030-pcie-piodma", "apple,pcie-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin0: displayport@b01e50000 { + compatible = "apple,t6030-dp-in", "apple,dp-in"; + reg = <0xb 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin1: displayport@b01e58000 { + compatible = "apple,t6030-dp-in", "apple,dp-in"; + reg = <0xb 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec2_piodma: dma-controller@f22000000 { + compatible = "apple,t6030-pcie-piodma", "apple,pcie-piodma"; + reg = <0xf 0x22000000 0x0 0x4000>, + <0xf 0x22004000 0x0 0x4000>, + <0xf 0x22008000 0x0 0x4000>, + <0xf 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc2_dpin0: displayport@f01e50000 { + compatible = "apple,t6030-dp-in", "apple,dp-in"; + reg = <0xf 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc2_dpin1: displayport@f01e58000 { + compatible = "apple,t6030-dp-in", "apple,dp-in"; + reg = <0xf 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + mcc: memory-controller@3503c0000 { + compatible = "apple,t6030-mcc", "apple,mcc"; + reg = <0x3 0x503c0000 0x0 0x20000>, + <0x3 0x50478000 0x0 0x149c>, + <0x3 0x50780000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>; + status = "disabled"; + }; + + aes: crypto@28900c000 { + compatible = "apple,t6030-aes", "apple,aes"; + reg = <0x2 0x8900c000 0x0 0x4000>, + <0x3 0x642dc000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_aes>; + status = "disabled"; + }; + + rsm: rsm@364325000 { + compatible = "apple,t6030-rsm", "apple,rsm"; + reg = <0x3 0x64325000 0x0 0x4000>, + <0x3 0x643c0000 0x0 0x4>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&dart_rsm 0>; + status = "disabled"; + }; + + scaler0: scaler@391000000 { + compatible = "apple,t6030-scaler", "apple,scaler"; + reg = <0x3 0x91000000 0x0 0x30000>, + <0x3 0x91210000 0x0 0x4000>, + <0x3 0x91204000 0x0 0x4000>, + <0x3 0x90000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr>, <&ps_msr_ase_core>; + iommus = <&dart_scaler 0>, <&dart_scaler 1>; + status = "disabled"; + }; + + jpeg0: jpeg@299000000 { + compatible = "apple,t6030-jpeg", "apple,jpeg"; + reg = <0x2 0x99000000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg0 0>; + status = "disabled"; + }; + + jpeg1: jpeg@299008000 { + compatible = "apple,t6030-jpeg", "apple,jpeg"; + reg = <0x2 0x99008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg1 0>; + status = "disabled"; + }; + + ave: video-encoder@2cd100000 { + compatible = "apple,t6030-ave", "apple,ave"; + reg = <0x2 0xcd100000 0x0 0x45c000>, + <0x2 0xcd800000 0x0 0x800000>, + <0x2 0xcd050000 0x0 0x4000>, + <0x3 0x507003d0 0x0 0x7c54>, + <0x2 0xcc000000 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>; + status = "disabled"; + }; + + apr: video-codec@30d000000 { + compatible = "apple,t6030-prores", "apple,prores"; + reg = <0x3 0x0d000000 0x0 0x4000>, + <0x3 0x0c000000 0x0 0x8000>, + <0x3 0x0d078000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_scodec>; + iommus = <&dart_apr0 1>, <&dart_apr1 1>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6030.dtsi b/arch/arm64/boot/dts/apple/t6030.dtsi index 685b67606dc87..f71b4e844b1cd 100644 --- a/arch/arm64/boot/dts/apple/t6030.dtsi +++ b/arch/arm64/boot/dts/apple/t6030.dtsi @@ -2154,3 +2154,5 @@ #include "t6030-gpu.dtsi" #include "t6030-usb4.dtsi" #include "t6030-dcp.dtsi" + +#include "t6030-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi new file mode 100644 index 0000000000000..b1a1bc3b8db91 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi @@ -0,0 +1,438 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6031 hardware interfaces. Keep unclaimed engines disabled. */ + +&soc { + dart_rsm: iommu@2a033c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xa033c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_scaler0: iommu@407200000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x4 0x07200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_msr0>; + status = "disabled"; + }; + + dart_scaler1: iommu@3c7200000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc7200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_msr1>; + status = "disabled"; + }; + + dart_apr00: iommu@2c5028000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xc5028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_scodec>; + status = "disabled"; + }; + + dart_apr01: iommu@2c502c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xc502c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_scodec>; + status = "disabled"; + }; + + dart_apr1: iommu@287008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x87008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_prores>; + status = "disabled"; + }; + + dart_jpeg0: iommu@2cf004000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xcf004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + dart_jpeg1: iommu@2cf00c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xcf00c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + dart_ave00: iommu@285030000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x85030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_venc0_sys>; + status = "disabled"; + }; + + dart_ave01: iommu@285040000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x85040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_venc0_sys>; + status = "disabled"; + }; + + dart_ave02: iommu@285020000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x85020000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave03: filter@285044000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x2 0x85044000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave10: iommu@3c5030000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc5030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_venc1_sys>; + status = "disabled"; + }; + + dart_ave11: iommu@3c5040000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc5040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_venc1_sys>; + status = "disabled"; + }; + + dart_ave12: iommu@3c5020000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0xc5020000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave13: filter@3c5044000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x3 0xc5044000 0x0 0x4000>; + status = "disabled"; + }; + + apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t6031-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6031-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t6031-pcie-piodma", "apple,pcie-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t6031-pcie-piodma", "apple,pcie-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec2_piodma: dma-controller@f22000000 { + compatible = "apple,t6031-pcie-piodma", "apple,pcie-piodma"; + reg = <0xf 0x22000000 0x0 0x4000>, + <0xf 0x22004000 0x0 0x4000>, + <0xf 0x22008000 0x0 0x4000>, + <0xf 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin0: displayport@701e50000 { + compatible = "apple,t6031-dp-in", "apple,dp-in"; + reg = <0x7 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin1: displayport@701e58000 { + compatible = "apple,t6031-dp-in", "apple,dp-in"; + reg = <0x7 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin0: displayport@b01e50000 { + compatible = "apple,t6031-dp-in", "apple,dp-in"; + reg = <0xb 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin1: displayport@b01e58000 { + compatible = "apple,t6031-dp-in", "apple,dp-in"; + reg = <0xb 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc2_dpin0: displayport@f01e50000 { + compatible = "apple,t6031-dp-in", "apple,dp-in"; + reg = <0xf 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc2_dpin1: displayport@f01e58000 { + compatible = "apple,t6031-dp-in", "apple,dp-in"; + reg = <0xf 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + mcc: memory-controller@2903c0000 { + compatible = "apple,t6031-mcc", "apple,mcc"; + reg = <0x2 0x903c0000 0x0 0x20000>, + <0x2 0x904d0000 0x0 0x149c>, + <0x2 0x92818000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x24000000 0x0 0x2000000>, + <0x2 0x26000000 0x0 0x2000000>, + <0x2 0x28000000 0x0 0x2000000>, + <0x2 0x2a000000 0x0 0x2000000>, + <0x2 0x2c000000 0x0 0x2000000>, + <0x2 0x2e000000 0x0 0x2000000>; + status = "disabled"; + }; + + aes: crypto@39100c000 { + compatible = "apple,t6031-aes", "apple,aes"; + reg = <0x3 0x9100c000 0x0 0x4000>, + <0x2 0xa02a0000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_aes>; + status = "disabled"; + }; + + aon_ptd: interrupt-controller@2a4dc0000 { + compatible = "apple,t6031-aon-ptd", "apple,aon-ptd"; + reg = <0x2 0xa4dc0000 0x0 0x4000>, + <0x2 0xa4dd0000 0x0 0x4000>, + <0x2 0xa4dd8000 0x0 0x4000>, + <0x2 0xa4de0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + interrupt-controller; + #interrupt-cells = <1>; + #address-cells = <0>; + status = "disabled"; + }; + + rsm: rsm@2a0325000 { + compatible = "apple,t6031-rsm", "apple,rsm"; + reg = <0x2 0xa0325000 0x0 0x4000>, + <0x2 0xa03c0000 0x0 0x4>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_debug_gated>; + iommus = <&dart_rsm 0>; + status = "disabled"; + }; + + scaler0: scaler@407000000 { + compatible = "apple,t6031-scaler", "apple,scaler"; + reg = <0x4 0x07000000 0x0 0x30000>, + <0x4 0x07210000 0x0 0x4000>, + <0x4 0x07204000 0x0 0x4000>, + <0x4 0x06000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr0>, <&ps_msr0_ase_core>; + iommus = <&dart_scaler0 0>, <&dart_scaler0 1>; + status = "disabled"; + }; + + scaler1: scaler@3c7000000 { + compatible = "apple,t6031-scaler", "apple,scaler"; + reg = <0x3 0xc7000000 0x0 0x30000>, + <0x3 0xc7210000 0x0 0x4000>, + <0x3 0xc7204000 0x0 0x4000>, + <0x3 0xc6000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr1>, <&ps_msr1_ase_core>; + iommus = <&dart_scaler1 0>, <&dart_scaler1 1>; + status = "disabled"; + }; + + apr0: video-codec@2c5000000 { + compatible = "apple,t6031-prores", "apple,prores"; + reg = <0x2 0xc5000000 0x0 0x4000>, + <0x2 0xc4000000 0x0 0x1000000>, + <0x2 0xc5078000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + iommus = <&dart_apr00 1>, <&dart_apr01 1>; + status = "disabled"; + }; + + apr1: video-codec@287000000 { + compatible = "apple,t6031-prores", "apple,prores"; + reg = <0x2 0x87000000 0x0 0x4000>, + <0x2 0x86000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_prores>; + iommus = <&dart_apr1 0>; + status = "disabled"; + }; + + jpeg0: jpeg@2cf000000 { + compatible = "apple,t6031-jpeg", "apple,jpeg"; + reg = <0x2 0xcf000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg0 0>; + status = "disabled"; + }; + + jpeg1: jpeg@2cf008000 { + compatible = "apple,t6031-jpeg", "apple,jpeg"; + reg = <0x2 0xcf008000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg1 0>; + status = "disabled"; + }; + + ave0: video-encoder@285100000 { + compatible = "apple,t6031-ave", "apple,ave"; + reg = <0x2 0x85100000 0x0 0x45c000>, + <0x2 0x85800000 0x0 0x800000>, + <0x2 0x85050000 0x0 0x4000>, + <0x2 0x92800430 0x0 0x20c>, + <0x2 0x84000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + power-domains = <&ps_venc0_sys>, <&ps_venc0_pipe4>, <&ps_venc0_pipe5>, <&ps_venc0_me0>, <&ps_venc0_me1>, <&ps_venc0_dma>; + iommus = <&dart_ave00 0>, <&dart_ave01 0>; + status = "disabled"; + }; + + ave1: video-encoder@3c5100000 { + compatible = "apple,t6031-ave", "apple,ave"; + reg = <0x3 0xc5100000 0x0 0x45c000>, + <0x3 0xc5800000 0x0 0x800000>, + <0x3 0xc5050000 0x0 0x4000>, + <0x2 0x92280510 0x0 0x7b14>, + <0x3 0xc4000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + power-domains = <&ps_venc1_pipe4>, <&ps_venc1_pipe5>, <&ps_venc1_me0>, <&ps_venc1_me1>, <&ps_venc1_dma>; + iommus = <&dart_ave10 0>, <&dart_ave11 0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6031.dtsi b/arch/arm64/boot/dts/apple/t6031.dtsi index 61b2423ad2490..a396c37407549 100644 --- a/arch/arm64/boot/dts/apple/t6031.dtsi +++ b/arch/arm64/boot/dts/apple/t6031.dtsi @@ -50,3 +50,5 @@ #undef DIE #undef DIE_NO #undef SOC_NODE + +#include "t6031-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6034.dtsi b/arch/arm64/boot/dts/apple/t6034.dtsi index ed95114055616..ceffae086a0bf 100644 --- a/arch/arm64/boot/dts/apple/t6034.dtsi +++ b/arch/arm64/boot/dts/apple/t6034.dtsi @@ -60,3 +60,16 @@ &ps_dcs_31 { status = "disabled"; }; + +/* The harvested die exposes six AMCC register windows. */ +&mcc { + reg = <0x2 0x903c0000 0x0 0x20000>, + <0x2 0x904d0000 0x0 0x149c>, + <0x2 0x92818000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x24000000 0x0 0x2000000>, + <0x2 0x26000000 0x0 0x2000000>, + <0x2 0x28000000 0x0 0x2000000>, + <0x2 0x2a000000 0x0 0x2000000>; +}; diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi new file mode 100644 index 0000000000000..2f2e22ff887c1 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -0,0 +1,263 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T8122 hardware interfaces. Keep unclaimed engines disabled. */ + +&soc { + dart_rsm: iommu@2e433c000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x2 0xe433c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_scaler: iommu@31d200000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x1d200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg0: iommu@299004000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x2 0x99004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg1: iommu@29900c000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x2 0x9900c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave0: iommu@315030000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x15030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave1: iommu@315040000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x15040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave2: iommu@315020000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x15020000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave3: filter@315044000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x3 0x15044000 0x0 0x4000>; + status = "disabled"; + }; + + dart_apr0: iommu@321028000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x21028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_apr1: iommu@32102c000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x2102c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t8122-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t8122-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t8122-pcie-piodma", "apple,pcie-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin0: displayport@701e50000 { + compatible = "apple,t8122-dp-in", "apple,dp-in"; + reg = <0x7 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin1: displayport@701e58000 { + compatible = "apple,t8122-dp-in", "apple,dp-in"; + reg = <0x7 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t8122-pcie-piodma", "apple,pcie-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin0: displayport@b01e50000 { + compatible = "apple,t8122-dp-in", "apple,dp-in"; + reg = <0xb 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin1: displayport@b01e58000 { + compatible = "apple,t8122-dp-in", "apple,dp-in"; + reg = <0xb 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + mcc: memory-controller@2d03c0000 { + compatible = "apple,t8122-mcc", "apple,mcc"; + reg = <0x2 0xd03c0000 0x0 0x20000>, + <0x2 0xd0478000 0x0 0x149c>, + <0x2 0xd0780000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>; + status = "disabled"; + }; + + aes: crypto@2a100c000 { + compatible = "apple,t8122-aes", "apple,aes"; + reg = <0x2 0xa100c000 0x0 0x4000>, + <0x2 0xe42dc000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_aes>; + status = "disabled"; + }; + + rsm: rsm@2e4325000 { + compatible = "apple,t8122-rsm", "apple,rsm"; + reg = <0x2 0xe4325000 0x0 0x4000>, + <0x2 0xe43c0000 0x0 0x4>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&dart_rsm 0>; + status = "disabled"; + }; + + scaler0: scaler@31d000000 { + compatible = "apple,t8122-scaler", "apple,scaler"; + reg = <0x3 0x1d000000 0x0 0x30000>, + <0x3 0x1d210000 0x0 0x4000>, + <0x3 0x1d204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr>, <&ps_msr_ase_core>; + iommus = <&dart_scaler 0>, <&dart_scaler 1>; + status = "disabled"; + }; + + jpeg0: jpeg@299000000 { + compatible = "apple,t8122-jpeg", "apple,jpeg"; + reg = <0x2 0x99000000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg0 0>; + status = "disabled"; + }; + + jpeg1: jpeg@299008000 { + compatible = "apple,t8122-jpeg", "apple,jpeg"; + reg = <0x2 0x99008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg1 0>; + status = "disabled"; + }; + + ave: video-encoder@315100000 { + compatible = "apple,t8122-ave", "apple,ave"; + reg = <0x3 0x15100000 0x0 0x45c000>, + <0x3 0x15800000 0x0 0x800000>, + <0x3 0x15050000 0x0 0x4000>, + <0x2 0xd0708000 0x0 0x4000>, + <0x3 0x14000000 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>; + status = "disabled"; + }; + + apr: video-codec@321000000 { + compatible = "apple,t8122-prores", "apple,prores"; + reg = <0x3 0x21000000 0x0 0x4000>, + <0x3 0x20000000 0x0 0x8000>, + <0x3 0x21078000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_scodec>; + iommus = <&dart_apr0 1>, <&dart_apr1 1>; + status = "disabled"; + }; + + aft: trace@220180000 { + compatible = "apple,t8122-aft", "apple,aft"; + reg = <0x2 0x20180000 0x0 0xc000>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8122.dtsi b/arch/arm64/boot/dts/apple/t8122.dtsi index 3e190bd9c4317..bab0be37d5114 100644 --- a/arch/arm64/boot/dts/apple/t8122.dtsi +++ b/arch/arm64/boot/dts/apple/t8122.dtsi @@ -1868,3 +1868,5 @@ #include "t8122-pmgr.dtsi" #include "t8122-gpu.dtsi" #include "t8122-dcp.dtsi" + +#include "t8122-peripherals.dtsi" From 43ce844c11e4b15046f234438a6baa8b78391cd9 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:36:00 +1100 Subject: [PATCH 02/12] arm64: dts: apple: cover unclaimed M3 buses and companion interfaces Describe disabled error and event-log interfaces, display wire interfaces, companion translation/filter banks and unused peripheral buses. Preserve the firmware-specific J613 QSPI state when adding a common disabled controller. Add the M3 Type-C PHY resource binding and the fourth Max PHY. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../bindings/leds/backlight/apple,m3-dwi.yaml | 57 +++ .../bindings/phy/apple,m3-atcphy.yaml | 84 ++++ .../bindings/phy/apple,m3-dptx-phy.yaml | 52 +++ .../soc/apple/apple,m3-error-handler.yaml | 56 +++ .../soc/apple/apple,m3-event-log-handler.yaml | 52 +++ .../devicetree/bindings/spi/apple,qspi.yaml | 6 + .../devicetree/bindings/spmi/apple,spmi.yaml | 6 +- .../dts/apple/t6030-peripheral-buses.dtsi | 85 ++++ .../boot/dts/apple/t6030-peripherals.dtsi | 207 +++++++++ arch/arm64/boot/dts/apple/t6030.dtsi | 2 + .../dts/apple/t6031-peripheral-buses.dtsi | 146 ++++++ .../boot/dts/apple/t6031-peripherals.dtsi | 421 ++++++++++++++++++ arch/arm64/boot/dts/apple/t6031.dtsi | 2 + .../boot/dts/apple/t8122-j613-25g83-qspi.dtsi | 1 + .../dts/apple/t8122-peripheral-buses.dtsi | 71 +++ .../boot/dts/apple/t8122-peripherals.dtsi | 162 +++++++ arch/arm64/boot/dts/apple/t8122.dtsi | 2 + 17 files changed, 1411 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/leds/backlight/apple,m3-dwi.yaml create mode 100644 Documentation/devicetree/bindings/phy/apple,m3-atcphy.yaml create mode 100644 Documentation/devicetree/bindings/phy/apple,m3-dptx-phy.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,m3-error-handler.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,m3-event-log-handler.yaml create mode 100644 arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi diff --git a/Documentation/devicetree/bindings/leds/backlight/apple,m3-dwi.yaml b/Documentation/devicetree/bindings/leds/backlight/apple,m3-dwi.yaml new file mode 100644 index 0000000000000..39f144df336ef --- /dev/null +++ b/Documentation/devicetree/bindings/leds/backlight/apple,m3-dwi.yaml @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/leds/backlight/apple,m3-dwi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family two-wire display interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family 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,t8122-dwi + - apple,t6030-dwi + - apple,t6031-dwi + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-dwi + - apple,t6030-dwi + - apple,t6031-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/phy/apple,m3-atcphy.yaml b/Documentation/devicetree/bindings/phy/apple,m3-atcphy.yaml new file mode 100644 index 0000000000000..43ba59e0f7c50 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/apple,m3-atcphy.yaml @@ -0,0 +1,84 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/apple,m3-atcphy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family Type-C PHY + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + The M3 Type-C PHY combines USB and DisplayPort interfaces. The fourth + PHY on the Pro and Max dies can be described with its common control + bank only, for DisplayPort operation. The five-bank description also + exposes the USB interfaces. Calibration is supplied by the bootloader. + +allOf: + - $ref: /schemas/usb/usb-switch.yaml# + +properties: + compatible: + oneOf: + - const: apple,t8122-atcphy + - items: + - enum: + - apple,t6030-atcphy + - apple,t6031-atcphy + - const: apple,t8122-atcphy + + reg: + minItems: 1 + items: + - description: Common PHY controls + - description: DisplayPort alternate mode PHY + - description: AXI to fabric interface + - description: USB2 PHY + - description: USB3 PIPE interface + + reg-names: + minItems: 1 + items: + - const: core + - const: lpdptx + - const: axi2af + - const: usb2phy + - const: pipehandler + + '#phy-cells': + const: 1 + + '#reset-cells': + const: 0 + + power-domains: + maxItems: 1 + + mode-switch: true + orientation-switch: true + + ports: + $ref: /schemas/graph.yaml#/properties/ports + +required: + - compatible + - reg + - reg-names + - '#phy-cells' + - '#reset-cells' + - power-domains + +oneOf: + - properties: + reg: + maxItems: 1 + reg-names: + maxItems: 1 + - properties: + reg: + minItems: 5 + reg-names: + minItems: 5 + +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/phy/apple,m3-dptx-phy.yaml b/Documentation/devicetree/bindings/phy/apple,m3-dptx-phy.yaml new file mode 100644 index 0000000000000..fea0e6e6a60ee --- /dev/null +++ b/Documentation/devicetree/bindings/phy/apple,m3-dptx-phy.yaml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/apple,m3-dptx-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family DisplayPort transmitter PHY + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family DisplayPort transmitter PHY. + 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,t8122-dptx-phy + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-dptx-phy + - const: apple,dptx-phy + + reg: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 1 + + '#phy-cells': + const: 0 + +required: + - compatible + - reg + - power-domains + - '#phy-cells' + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,m3-error-handler.yaml b/Documentation/devicetree/bindings/soc/apple/apple,m3-error-handler.yaml new file mode 100644 index 0000000000000..ed7b409fedb36 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,m3-error-handler.yaml @@ -0,0 +1,56 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,m3-error-handler.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family fabric error reporting interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family fabric error reporting 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,t8122-error-handler + - apple,t6030-error-handler + - apple,t6031-error-handler + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-error-handler + - apple,t6030-error-handler + - apple,t6031-error-handler + - const: apple,error-handler + + reg: + minItems: 19 + maxItems: 123 + + interrupts: + minItems: 39 + maxItems: 159 + + power-domains: + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + - interrupts + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,m3-event-log-handler.yaml b/Documentation/devicetree/bindings/soc/apple/apple,m3-event-log-handler.yaml new file mode 100644 index 0000000000000..31dc176fa554f --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,m3-event-log-handler.yaml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,m3-event-log-handler.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family event log interrupt interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family event log interrupt 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,t8122-event-log-handler + - apple,t6030-event-log-handler + - apple,t6031-event-log-handler + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-event-log-handler + - apple,t6030-event-log-handler + - apple,t6031-event-log-handler + - const: apple,event-log-handler + + reg: + minItems: 13 + maxItems: 26 + + interrupts: + minItems: 13 + maxItems: 26 + +required: + - compatible + - reg + - interrupts + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/spi/apple,qspi.yaml b/Documentation/devicetree/bindings/spi/apple,qspi.yaml index 40d08a8273712..bd883e32ec7e7 100644 --- a/Documentation/devicetree/bindings/spi/apple,qspi.yaml +++ b/Documentation/devicetree/bindings/spi/apple,qspi.yaml @@ -25,6 +25,12 @@ properties: - apple,t8132-qspi - apple,t6041-qspi - apple,t8140-qspi + - items: + - enum: + - apple,t6030-qspi + - apple,t6031-qspi + - apple,t8122-qspi + - const: apple,qspi - items: - const: apple,t8152-qspi - const: apple,t8140-qspi 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/t6030-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi new file mode 100644 index 0000000000000..b03254c622758 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Unclaimed T6030 peripheral buses. */ + +&soc { + spi2: spi@289108000 { + compatible = "apple,t6030-spi", "apple,t8103-spi"; + reg = <0x2 0x89108000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi2>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spi4: spi@289110000 { + compatible = "apple,t6030-spi", "apple,t8103-spi"; + reg = <0x2 0x89110000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi4>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi1: spmi@364794000 { + compatible = "apple,t6030-spmi", "apple,t8103-spmi"; + reg = <0x3 0x64794000 0 0x4000>, + <0x3 0x64784000 0 0x4000>, + <0x3 0x64780000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi2: spmi@364814000 { + compatible = "apple,t6030-spmi", "apple,t8103-spmi"; + reg = <0x3 0x64814000 0 0x4000>, + <0x3 0x64804000 0 0x4000>, + <0x3 0x64800000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi0: spmi@374894000 { + compatible = "apple,t6030-spmi", "apple,t8103-spmi"; + reg = <0x3 0x74894000 0 0x4000>, + <0x3 0x74884000 0 0x4000>, + <0x3 0x74880000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi1: spmi@3748d4000 { + compatible = "apple,t6030-spmi", "apple,t8103-spmi"; + reg = <0x3 0x748d4000 0 0x4000>, + <0x3 0x748c4000 0 0x4000>, + <0x3 0x748c0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi index f9e42f8a84eb4..f3891660dbd7e 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -86,6 +86,60 @@ status = "disabled"; }; + dart_aop_companion1: filter@37481c000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x3 0x7481c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_mtp_companion1: filter@37a80c000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x3 0x7a80c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_disp0_companion1: iommu@28d300000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x8d300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext0_companion1: iommu@2d1300000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xd1300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext1_companion1: iommu@2d5300000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xd5300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion3: iommu@2ca4b0000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xca4b0000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion4: iommu@2ca4b8000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xca4b8000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion5: filter@2ca4ac000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x2 0xca4ac000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ane_companion3: filter@309804000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x3 0x09804000 0x0 0x4000>; + status = "disabled"; + }; + apcie1_piodma: dma-controller@595010000 { compatible = "apple,t6030-pcie-piodma", "apple,pcie-piodma"; reg = <0x5 0x95010000 0x0 0x4000>, @@ -197,6 +251,101 @@ status = "disabled"; }; + error_handler: error-handler@29cc40000 { + compatible = "apple,t6030-error-handler", "apple,error-handler"; + reg = <0x2 0x9cc40000 0x0 0x40000>, + <0x3 0x50000000 0x0 0x7c000>, + <0x3 0x50700000 0x0 0xcc000>, + <0x3 0x642c8000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x2 0xc0000000 0x0 0x4000>, + <0x3 0x00000000 0x0 0x4000>, + <0x3 0x80000000 0x0 0x4000>, + <0x2 0x59800000 0x0 0x40000>, + <0x2 0x59c00000 0x0 0x40000>, + <0x2 0x5a000000 0x0 0x40000>, + <0x2 0x5a400000 0x0 0x40000>, + <0x2 0x4fc00000 0x0 0x40000>, + <0x2 0x50000000 0x0 0x40000>, + <0x2 0x50100000 0x0 0x40000>, + <0x2 0x58800000 0x0 0x40000>, + <0x2 0x58c00000 0x0 0x40000>, + <0x2 0x59000000 0x0 0x40000>, + <0x2 0x59400000 0x0 0x40000>, + <0x2 0x4f400000 0x0 0x40000>, + <0x2 0x4f800000 0x0 0x40000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>, + <0x2 0x58432000 0x0 0x1000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + dwi: dwi@350200000 { + compatible = "apple,t6030-dwi", "apple,dwi"; + reg = <0x3 0x50200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + aes: crypto@28900c000 { compatible = "apple,t6030-aes", "apple,aes"; reg = <0x2 0x8900c000 0x0 0x4000>, @@ -207,6 +356,64 @@ status = "disabled"; }; + event_log_handler: event-log@350700000 { + compatible = "apple,t6030-event-log-handler", "apple,event-log-handler"; + reg = <0x3 0x50700000 0x0 0xcc000>, + <0x3 0x64280000 0x0 0x80000>, + <0x3 0x50000000 0x0 0x70000>, + <0x3 0x64200000 0x0 0x7c000>, + <0x3 0x50290000 0x0 0x4000>, + <0x3 0x50294000 0x0 0x4000>, + <0x3 0x50298000 0x0 0x4000>, + <0x3 0x5029c000 0x0 0x4000>, + <0x3 0x5028c000 0x0 0x4000>, + <0x3 0x50280000 0x0 0x8000>, + <0x3 0x09868000 0x0 0x4000>, + <0x3 0x09838000 0x0 0x8000>, + <0x3 0x50340000 0x0 0x8000>, + <0x3 0x50350000 0x0 0x8000>, + <0x3 0x50270000 0x0 0x8000>, + <0x3 0x50440000 0x0 0x4000>, + <0x3 0x50444000 0x0 0x4000>, + <0x3 0x64080000 0x0 0x4000>, + <0x3 0x503f0000 0x0 0x4000>, + <0x3 0x503f4000 0x0 0x4000>, + <0x3 0x503f8000 0x0 0x4000>, + <0x3 0x50400000 0x0 0x1c000>, + <0x3 0x09918000 0x0 0x4000>, + <0x2 0x90e80000 0x0 0x30000>, + <0x2 0x90eb0000 0x0 0x4000>, + <0x2 0x90e5c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + rsm: rsm@364325000 { compatible = "apple,t6030-rsm", "apple,rsm"; reg = <0x3 0x64325000 0x0 0x4000>, diff --git a/arch/arm64/boot/dts/apple/t6030.dtsi b/arch/arm64/boot/dts/apple/t6030.dtsi index 0a8a5552f27a8..0c0593af281d0 100644 --- a/arch/arm64/boot/dts/apple/t6030.dtsi +++ b/arch/arm64/boot/dts/apple/t6030.dtsi @@ -2179,3 +2179,5 @@ #include "t6030-dcp.dtsi" #include "t6030-peripherals.dtsi" + +#include "t6030-peripheral-buses.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi new file mode 100644 index 0000000000000..e52f40212e818 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi @@ -0,0 +1,146 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Unclaimed T6031 peripheral buses. */ + +&soc { + spi2: spi@391108000 { + compatible = "apple,t6031-spi", "apple,t8103-spi"; + reg = <0x3 0x91108000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi2>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spi4: spi@391110000 { + compatible = "apple,t6031-spi", "apple,t8103-spi"; + reg = <0x3 0x91110000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi4>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + qspi: spi@391118000 { + compatible = "apple,t6031-qspi", "apple,qspi"; + reg = <0x3 0x91118000 0 0x4800>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_qspi>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi1: spmi@2a1054000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa1054000 0 0x4000>, + <0x2 0xa1044000 0 0x4000>, + <0x2 0xa1040000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi2: spmi@2a1094000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa1094000 0 0x4000>, + <0x2 0xa1084000 0 0x4000>, + <0x2 0xa1080000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi3: spmi@2a10d4000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa10d4000 0 0x4000>, + <0x2 0xa10c4000 0 0x4000>, + <0x2 0xa10c0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi4: spmi@2a1114000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa1114000 0 0x4000>, + <0x2 0xa1104000 0 0x4000>, + <0x2 0xa1100000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi0: spmi@2a8894000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa8894000 0 0x4000>, + <0x2 0xa8884000 0 0x4000>, + <0x2 0xa8880000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi1: spmi@2a88d4000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa88d4000 0 0x4000>, + <0x2 0xa88c4000 0 0x4000>, + <0x2 0xa88c0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + atcphy3: phy@1303000000 { + compatible = "apple,t6031-atcphy", "apple,t8122-atcphy"; + reg = <0x13 0x03000000 0 0x4c000>; + reg-names = "core"; + #phy-cells = <1>; + #reset-cells = <0>; + orientation-switch; + mode-switch; + power-domains = <&ps_atc3_common>; + status = "disabled"; + }; + + atcphy3_xbar: mux@130304c000 { + compatible = "apple,t6031-display-crossbar", + "apple,t6020-display-crossbar"; + reg = <0x13 0x0304c000 0 0x4000>; + #mux-control-cells = <1>; + power-domains = <&ps_atc3_usb>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi index b1a1bc3b8db91..1e0c54c1f536f 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi @@ -145,6 +145,72 @@ status = "disabled"; }; + dart_mtp_companion1: filter@2ac80c000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x2 0xac80c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp0_companion3: iommu@38e4b0000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x8e4b0000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp0_companion4: iommu@38e4b8000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x8e4b8000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp0_companion5: filter@38e4ac000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x3 0x8e4ac000 0x0 0x4000>; + status = "disabled"; + }; + + dart_aop_companion1: filter@2a881c000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x2 0xa881c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_disp0_companion1: iommu@385300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x85300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ane0_companion3: filter@3c9804000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x3 0xc9804000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext0_companion1: iommu@305300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x05300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext1_companion1: iommu@449300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x4 0x49300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext2_companion1: iommu@44d300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x4 0x4d300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext3_companion1: iommu@2c9300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xc9300000 0x0 0x4000>; + status = "disabled"; + }; + apcie0_piodma: dma-controller@594010000 { compatible = "apple,t6031-pcie-piodma", "apple,pcie-piodma"; reg = <0x5 0x94010000 0x0 0x4000>, @@ -262,6 +328,304 @@ status = "disabled"; }; + error_handler: error-handler@388c40000 { + compatible = "apple,t6031-error-handler", "apple,error-handler"; + reg = <0x3 0x88c40000 0x0 0x40000>, + <0x2 0x90000000 0x0 0x80000>, + <0x2 0x92800000 0x0 0x1e0000>, + <0x2 0xa02dc000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x24000000 0x0 0x2000000>, + <0x2 0x26000000 0x0 0x2000000>, + <0x2 0x28000000 0x0 0x2000000>, + <0x2 0x2a000000 0x0 0x2000000>, + <0x2 0x2c000000 0x0 0x2000000>, + <0x2 0x2e000000 0x0 0x2000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x3 0x00000000 0x0 0x4000>, + <0x3 0x40000000 0x0 0x4000>, + <0x3 0x80000000 0x0 0x4000>, + <0x2 0xc0000000 0x0 0x4000>, + <0x3 0xc0000000 0x0 0x4000>, + <0x4 0x00000000 0x0 0x4000>, + <0x4 0x40000000 0x0 0x4000>, + <0x2 0xa0000000 0x0 0x20000>, + <0x2 0x902c0000 0x0 0x18000>, + <0x2 0xa4800000 0x0 0x4000>, + <0x2 0x59c00000 0x0 0x40000>, + <0x2 0x5a000000 0x0 0x40000>, + <0x2 0x64400000 0x0 0x40000>, + <0x2 0x64000000 0x0 0x40000>, + <0x2 0x67000000 0x0 0x40000>, + <0x2 0x60400000 0x0 0x40000>, + <0x2 0x60800000 0x0 0x40000>, + <0x2 0x67400000 0x0 0x40000>, + <0x2 0x60c00000 0x0 0x40000>, + <0x2 0x61000000 0x0 0x40000>, + <0x2 0x61400000 0x0 0x40000>, + <0x2 0x4f800000 0x0 0x40000>, + <0x2 0x51800000 0x0 0x40000>, + <0x2 0x51c00000 0x0 0x40000>, + <0x2 0x4fc00000 0x0 0x40000>, + <0x2 0x52000000 0x0 0x40000>, + <0x4 0x0b180000 0x0 0x18000>, + <0x4 0x0b1a0000 0x0 0x18000>, + <0x4 0x0b380000 0x0 0x18000>, + <0x4 0x0b3a0000 0x0 0x18000>, + <0x4 0x0b000000 0x0 0x18000>, + <0x4 0x0b200000 0x0 0x18000>, + <0x4 0x0b080000 0x0 0x18000>, + <0x4 0x0b280000 0x0 0x18000>, + <0x4 0x0b600000 0x0 0x18000>, + <0x4 0x0b400000 0x0 0x18000>, + <0x4 0x0b680000 0x0 0x18000>, + <0x4 0x0b480000 0x0 0x18000>, + <0x4 0x0b040000 0x0 0x18000>, + <0x4 0x0b240000 0x0 0x18000>, + <0x4 0x0b0c0000 0x0 0x18000>, + <0x4 0x0b2c0000 0x0 0x18000>, + <0x4 0x0b640000 0x0 0x18000>, + <0x4 0x0b440000 0x0 0x18000>, + <0x4 0x0b6c0000 0x0 0x18000>, + <0x4 0x0b4c0000 0x0 0x18000>, + <0x2 0x59400000 0x0 0x40000>, + <0x2 0x5fc00000 0x0 0x40000>, + <0x2 0x63800000 0x0 0x40000>, + <0x2 0x66800000 0x0 0x40000>, + <0x2 0x59800000 0x0 0x40000>, + <0x2 0x60000000 0x0 0x40000>, + <0x2 0x63c00000 0x0 0x40000>, + <0x2 0x66c00000 0x0 0x40000>, + <0x2 0x4f400000 0x0 0x40000>, + <0x2 0x51400000 0x0 0x40000>, + <0x2 0x53c00000 0x0 0x40000>, + <0x2 0x56000000 0x0 0x40000>, + <0x2 0x54000000 0x0 0x40000>, + <0x2 0x56400000 0x0 0x40000>, + <0x2 0x54400000 0x0 0x40000>, + <0x2 0x56800000 0x0 0x40000>, + <0x2 0x53432000 0x0 0x1000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x51032000 0x0 0x1000>, + <0x2 0x55032000 0x0 0x1000>, + <0x2 0x53032000 0x0 0x1000>, + <0x2 0x55432000 0x0 0x1000>, + <0x2 0x5e832000 0x0 0x1000>, + <0x2 0x62832000 0x0 0x1000>, + <0x2 0x65832000 0x0 0x1000>, + <0x2 0x58432000 0x0 0x1000>, + <0x2 0x5ec32000 0x0 0x1000>, + <0x2 0x62c32000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>, + <0x2 0x63032000 0x0 0x1000>, + <0x2 0x65c32000 0x0 0x1000>, + <0x2 0x58832000 0x0 0x1000>, + <0x2 0x58c32000 0x0 0x1000>, + <0x2 0x63432000 0x0 0x1000>, + <0x2 0x5f032000 0x0 0x1000>, + <0x2 0x66032000 0x0 0x1000>, + <0x2 0x5f432000 0x0 0x1000>, + <0x2 0x66432000 0x0 0x1000>, + <0x4 0x0b114000 0x0 0x1f000>, + <0x4 0x0b314000 0x0 0x1f000>, + <0x4 0x0b134000 0x0 0x1f000>, + <0x4 0x0b334000 0x0 0x1f000>, + <0x4 0x0b714000 0x0 0x1f000>, + <0x4 0x0b514000 0x0 0x1f000>, + <0x4 0x0b734000 0x0 0x1f000>, + <0x4 0x0b534000 0x0 0x1f000>, + <0x4 0x0b030000 0x0 0x4000>, + <0x4 0x0b230000 0x0 0x4000>, + <0x4 0x0b030000 0x0 0x4000>, + <0x4 0x0b230000 0x0 0x4000>, + <0x4 0x0b630000 0x0 0x4000>, + <0x4 0x0b430000 0x0 0x4000>, + <0x4 0x0b030000 0x0 0x4000>, + <0x4 0x0b230000 0x0 0x4000>, + <0x4 0x0b030000 0x0 0x4000>, + <0x4 0x0b230000 0x0 0x4000>, + <0x4 0x0b630000 0x0 0x4000>, + <0x4 0x0b430000 0x0 0x4000>, + <0x4 0x0b630000 0x0 0x4000>, + <0x4 0x0b430000 0x0 0x4000>, + <0x4 0x0b630000 0x0 0x4000>, + <0x4 0x0b430000 0x0 0x4000>, + <0x4 0x0b1e0000 0x0 0x4000>, + <0x4 0x0b3e0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + power-domains = <&ps_gfx>; + status = "disabled"; + }; + + dwi: dwi@2929b0000 { + compatible = "apple,t6031-dwi", "apple,dwi"; + reg = <0x2 0x929b0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + aes: crypto@39100c000 { compatible = "apple,t6031-aes", "apple,aes"; reg = <0x3 0x9100c000 0x0 0x4000>, @@ -272,6 +636,63 @@ status = "disabled"; }; + event_log_handler: event-log@292800000 { + compatible = "apple,t6031-event-log-handler", "apple,event-log-handler"; + reg = <0x2 0x92800000 0x0 0x8000>, + <0x2 0x92838000 0x0 0x4000>, + <0x2 0x92840000 0x0 0x10000>, + <0x2 0x928e0000 0x0 0x4000>, + <0x2 0x92850000 0x0 0x4000>, + <0x2 0x92880000 0x0 0x1c000>, + <0x2 0x92980000 0x0 0x18000>, + <0x2 0x929a0000 0x0 0x4000>, + <0x2 0x928c0000 0x0 0x4000>, + <0x2 0x92960000 0x0 0x1c000>, + <0x2 0x929c0000 0x0 0xc000>, + <0x2 0x92280000 0x0 0x10000>, + <0x2 0x92294000 0x0 0x4000>, + <0x2 0x922b8000 0x0 0x8000>, + <0x2 0x922ac000 0x0 0x4000>, + <0x2 0x90000000 0x0 0x80000>, + <0x2 0xa0280000 0x0 0x10000>, + <0x2 0xa029c000 0x0 0x4000>, + <0x2 0xa02c0000 0x0 0x10000>, + <0x2 0xa02d0000 0x0 0x4000>, + <0x2 0xa02d4000 0x0 0x4000>, + <0x2 0xa02d8000 0x0 0x4000>, + <0x2 0xa02e4000 0x0 0x4000>, + <0x2 0xa0200000 0x0 0x80000>, + <0x2 0x9020c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + aon_ptd: interrupt-controller@2a4dc0000 { compatible = "apple,t6031-aon-ptd", "apple,aon-ptd"; reg = <0x2 0xa4dc0000 0x0 0x4000>, diff --git a/arch/arm64/boot/dts/apple/t6031.dtsi b/arch/arm64/boot/dts/apple/t6031.dtsi index a396c37407549..33a0d778707a3 100644 --- a/arch/arm64/boot/dts/apple/t6031.dtsi +++ b/arch/arm64/boot/dts/apple/t6031.dtsi @@ -52,3 +52,5 @@ #undef SOC_NODE #include "t6031-peripherals.dtsi" + +#include "t6031-peripheral-buses.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi b/arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi index e37fde644ad03..261c67fa4ab3d 100644 --- a/arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi @@ -18,6 +18,7 @@ soc { qspi: spi@2a1118000 { + status = "okay"; compatible = "apple,t8122-qspi"; reg = <0x2 0xa1118000 0x0 0x4800>; interrupt-parent = <&aic>; diff --git a/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi new file mode 100644 index 0000000000000..a4a4affe0147d --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Unclaimed T8122 peripheral buses. */ + +&soc { + spi4: spi@2a1110000 { + compatible = "apple,t8122-spi", "apple,t8103-spi"; + reg = <0x2 0xa1110000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi4>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + qspi: spi@2a1118000 { + compatible = "apple,t8122-qspi", "apple,qspi"; + reg = <0x2 0xa1118000 0 0x4800>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_qspi>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi1: spmi@2e4794000 { + compatible = "apple,t8122-spmi", "apple,t8103-spmi"; + reg = <0x2 0xe4794000 0 0x4000>, + <0x2 0xe4784000 0 0x4000>, + <0x2 0xe4780000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi0: spmi@2f4894000 { + compatible = "apple,t8122-spmi", "apple,t8103-spmi"; + reg = <0x2 0xf4894000 0 0x4000>, + <0x2 0xf4884000 0 0x4000>, + <0x2 0xf4880000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi1: spmi@2f48d4000 { + compatible = "apple,t8122-spmi", "apple,t8103-spmi"; + reg = <0x2 0xf48d4000 0 0x4000>, + <0x2 0xf48c4000 0 0x4000>, + <0x2 0xf48c0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi index 2f2e22ff887c1..f47214fc518ab 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -86,6 +86,54 @@ status = "disabled"; }; + dart_aop_companion1: filter@2f481c000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x2 0xf481c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_mtp_companion1: filter@2fa80c000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x2 0xfa80c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_disp0_companion1: iommu@28d300000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x8d300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext0_companion1: iommu@319300000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x19300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion3: iommu@2a64b0000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xa64b0000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion4: iommu@2a64b8000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xa64b8000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion5: filter@2a64ac000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x2 0xa64ac000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ane_companion3: filter@311804000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x3 0x11804000 0x0 0x4000>; + status = "disabled"; + }; + apcie1_piodma: dma-controller@595010000 { compatible = "apple,t8122-pcie-piodma", "apple,pcie-piodma"; reg = <0x5 0x95010000 0x0 0x4000>, @@ -170,6 +218,79 @@ status = "disabled"; }; + error_handler: error-handler@29cc40000 { + compatible = "apple,t8122-error-handler", "apple,error-handler"; + reg = <0x2 0x9cc40000 0x0 0x40000>, + <0x2 0xd0000000 0x0 0x7c000>, + <0x2 0xd0700000 0x0 0xcc000>, + <0x2 0xe42c8000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x3 0x00000000 0x0 0x4000>, + <0x2 0x58c00000 0x0 0x40000>, + <0x2 0x59000000 0x0 0x40000>, + <0x2 0x4fc00000 0x0 0x40000>, + <0x2 0x50000000 0x0 0x40000>, + <0x2 0x50100000 0x0 0x40000>, + <0x2 0x58400000 0x0 0x40000>, + <0x2 0x58800000 0x0 0x40000>, + <0x2 0x4f400000 0x0 0x40000>, + <0x2 0x4f800000 0x0 0x40000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + dwi: dwi@2d0200000 { + compatible = "apple,t8122-dwi", "apple,dwi"; + reg = <0x2 0xd0200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + aes: crypto@2a100c000 { compatible = "apple,t8122-aes", "apple,aes"; reg = <0x2 0xa100c000 0x0 0x4000>, @@ -180,6 +301,38 @@ status = "disabled"; }; + event_log_handler: event-log@2d0700000 { + compatible = "apple,t8122-event-log-handler", "apple,event-log-handler"; + reg = <0x2 0xd0700000 0x0 0xcc000>, + <0x2 0xe4280000 0x0 0x80000>, + <0x2 0xd0000000 0x0 0x70000>, + <0x2 0xe4200000 0x0 0x7c000>, + <0x2 0xd0290000 0x0 0x4000>, + <0x2 0xd0294000 0x0 0x4000>, + <0x2 0xd0298000 0x0 0x4000>, + <0x2 0xd028c000 0x0 0x4000>, + <0x2 0xd0280000 0x0 0x8000>, + <0x3 0x11868000 0x0 0x4000>, + <0x3 0x11838000 0x0 0x8000>, + <0x2 0xd0340000 0x0 0xc000>, + <0x2 0xd0350000 0x0 0xc000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + rsm: rsm@2e4325000 { compatible = "apple,t8122-rsm", "apple,rsm"; reg = <0x2 0xe4325000 0x0 0x4000>, @@ -190,6 +343,15 @@ status = "disabled"; }; + dptx_phy: phy@2c7540000 { + compatible = "apple,t8122-dptx-phy", "apple,dptx-phy"; + reg = <0x2 0xc7540000 0x0 0x10000>, + <0x2 0xc7500000 0x0 0x4000>; + power-domains = <&ps_dptx_ext_phy>; + #phy-cells = <0>; + status = "disabled"; + }; + scaler0: scaler@31d000000 { compatible = "apple,t8122-scaler", "apple,scaler"; reg = <0x3 0x1d000000 0x0 0x30000>, diff --git a/arch/arm64/boot/dts/apple/t8122.dtsi b/arch/arm64/boot/dts/apple/t8122.dtsi index c7f3dd9014f34..430f0b9905fa3 100644 --- a/arch/arm64/boot/dts/apple/t8122.dtsi +++ b/arch/arm64/boot/dts/apple/t8122.dtsi @@ -1959,3 +1959,5 @@ #include "t8122-dcp.dtsi" #include "t8122-peripherals.dtsi" + +#include "t8122-peripheral-buses.dtsi" From c60bf42c1a7ae82e1b46da2b4574def1a7a7d5a7 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:43:16 +1100 Subject: [PATCH 03/12] arm64: dts: apple: describe remaining disabled M3 coprocessor interfaces Add missing SEP and SIO resources with mailbox and IOMMU relationships, disabled tunnel DARTs, the USB2 OTG register interfaces and unused PWM/UART controls. Give the T8122 SoC node a label for the peripheral includes. Record every arm-io node in per-board source coverage reports, with unresolved endpoints and resource windows explicitly identified. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/dma/apple,sio.yaml | 7 +- .../bindings/pwm/apple,s5l-fpwm.yaml | 3 + .../bindings/soc/apple/apple,sep.yaml | 13 +- .../bindings/usb/apple,m3-usb2-otg.yaml | 63 +++ .../boot/dts/apple/t6030-coprocessors.dtsi | 40 ++ .../boot/dts/apple/t6030-misc-interfaces.dtsi | 38 ++ .../boot/dts/apple/t6030-peripherals.dtsi | 11 + arch/arm64/boot/dts/apple/t6030.dtsi | 4 + .../boot/dts/apple/t6031-coprocessors.dtsi | 67 +++ .../boot/dts/apple/t6031-misc-interfaces.dtsi | 62 +++ .../boot/dts/apple/t6031-peripherals.dtsi | 12 + arch/arm64/boot/dts/apple/t6031.dtsi | 4 + .../boot/dts/apple/t8122-coprocessors.dtsi | 32 ++ .../boot/dts/apple/t8122-misc-interfaces.dtsi | 36 ++ .../boot/dts/apple/t8122-peripherals.dtsi | 11 + arch/arm64/boot/dts/apple/t8122.dtsi | 6 +- docs/device-tree/DT-GAPS-j433.md | 332 +++++++++++++ docs/device-tree/DT-GAPS-j434.md | 344 +++++++++++++ docs/device-tree/DT-GAPS-j504.md | 355 ++++++++++++++ docs/device-tree/DT-GAPS-j514c.md | 464 ++++++++++++++++++ docs/device-tree/DT-GAPS-j514m.md | 463 +++++++++++++++++ docs/device-tree/DT-GAPS-j514s.md | 423 ++++++++++++++++ docs/device-tree/DT-GAPS-j516c.md | 464 ++++++++++++++++++ docs/device-tree/DT-GAPS-j516m.md | 463 +++++++++++++++++ docs/device-tree/DT-GAPS-j516s.md | 423 ++++++++++++++++ docs/device-tree/DT-GAPS-j613.md | 341 +++++++++++++ docs/device-tree/DT-GAPS-j615.md | 343 +++++++++++++ 27 files changed, 4820 insertions(+), 4 deletions(-) create mode 100644 Documentation/devicetree/bindings/usb/apple,m3-usb2-otg.yaml create mode 100644 arch/arm64/boot/dts/apple/t6030-coprocessors.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6030-misc-interfaces.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6031-coprocessors.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6031-misc-interfaces.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8122-coprocessors.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi create mode 100644 docs/device-tree/DT-GAPS-j433.md create mode 100644 docs/device-tree/DT-GAPS-j434.md create mode 100644 docs/device-tree/DT-GAPS-j504.md create mode 100644 docs/device-tree/DT-GAPS-j514c.md create mode 100644 docs/device-tree/DT-GAPS-j514m.md create mode 100644 docs/device-tree/DT-GAPS-j514s.md create mode 100644 docs/device-tree/DT-GAPS-j516c.md create mode 100644 docs/device-tree/DT-GAPS-j516m.md create mode 100644 docs/device-tree/DT-GAPS-j516s.md create mode 100644 docs/device-tree/DT-GAPS-j613.md create mode 100644 docs/device-tree/DT-GAPS-j615.md diff --git a/Documentation/devicetree/bindings/dma/apple,sio.yaml b/Documentation/devicetree/bindings/dma/apple,sio.yaml index 2498a7adaf410..4ac6e04943f1e 100644 --- a/Documentation/devicetree/bindings/dma/apple,sio.yaml +++ b/Documentation/devicetree/bindings/dma/apple,sio.yaml @@ -27,6 +27,8 @@ properties: - apple,t6000-sio - apple,t6020-sio - apple,t6030-sio + - apple,t6031-sio + - apple,t8122-sio - apple,t8103-sio - apple,t8112-sio - const: apple,sio @@ -34,7 +36,10 @@ properties: const: apple,t6041-sio reg: - maxItems: 1 + minItems: 1 + items: + - description: Coprocessor control registers + - description: Coprocessor boot interface '#dma-cells': const: 1 diff --git a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml index 61f610e900931..1a0de74a885de 100644 --- a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml +++ b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml @@ -31,6 +31,9 @@ properties: reg: maxItems: 1 + interrupts: + maxItems: 1 + clocks: maxItems: 1 diff --git a/Documentation/devicetree/bindings/soc/apple/apple,sep.yaml b/Documentation/devicetree/bindings/soc/apple/apple,sep.yaml index 83ad3aa31a4b7..06a404265ab56 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,sep.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,sep.yaml @@ -18,10 +18,19 @@ description: properties: compatible: - const: apple,sep + oneOf: + - const: apple,sep + - items: + - enum: + - apple,t6030-sep + - apple,t6031-sep + - const: apple,sep reg: - maxItems: 1 + minItems: 1 + items: + - description: Coprocessor control registers + - description: Coprocessor boot interface mboxes: maxItems: 1 diff --git a/Documentation/devicetree/bindings/usb/apple,m3-usb2-otg.yaml b/Documentation/devicetree/bindings/usb/apple,m3-usb2-otg.yaml new file mode 100644 index 0000000000000..88b63517bc781 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/apple,m3-usb2-otg.yaml @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/apple,m3-usb2-otg.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple M3 family USB2 OTG interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the M3 family USB2 OTG 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,t8122-usb2-otg + - apple,t6030-usb2-otg + - apple,t6031-usb2-otg + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-usb2-otg + - apple,t6030-usb2-otg + - apple,t6031-usb2-otg + - const: apple,usb2-otg + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + minItems: 1 + maxItems: 1 + + power-domains: + minItems: 1 + maxItems: 1 + + phys: + maxItems: 1 + phy-names: + const: usb2-phy + +required: + - compatible + - reg + - interrupts + - phys + - phy-names + +additionalProperties: false diff --git a/arch/arm64/boot/dts/apple/t6030-coprocessors.dtsi b/arch/arm64/boot/dts/apple/t6030-coprocessors.dtsi new file mode 100644 index 0000000000000..8ffda682587ef --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6030-coprocessors.dtsi @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled coprocessor interfaces; firmware handoff remains a loader job. */ + +&soc { + sep_dart: iommu@29cac0000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0x9cac0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + sep_mbox: mailbox@29e408000 { + compatible = "apple,t6030-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x2 0x9e408000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + power-domains = <&ps_sep>; + status = "disabled"; + }; + + sep: sep@29e400000 { + compatible = "apple,t6030-sep", "apple,sep"; + reg = <0x2 0x9e400000 0 0x6c000>, + <0x2 0x9e050000 0 0x60000>; + mboxes = <&sep_mbox>; + mbox-names = "mbox"; + iommus = <&sep_dart 0>; + power-domains = <&ps_sep>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6030-misc-interfaces.dtsi b/arch/arm64/boot/dts/apple/t6030-misc-interfaces.dtsi new file mode 100644 index 0000000000000..f10ac39c4d357 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6030-misc-interfaces.dtsi @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled tunnel translation and miscellaneous interfaces. */ + +&soc { + pciec1_dart: iommu@b21008000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0xb 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc1_cio_pcie>; + status = "disabled"; + }; + + pciec2_dart: iommu@f21008000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0xf 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc2_cio_pcie>; + status = "disabled"; + }; + + serial2: serial@289208000 { + compatible = "apple,s5l-uart"; + reg = <0x2 0x89208000 0 0x4000>; + reg-io-width = <4>; + interrupt-parent = <&aic>; + interrupts = ; + /* Reference parents follow UART0; selectable baud parents need review. */ + clocks = <&clkref>, <&clkref>; + clock-names = "uart", "clk_uart_baud0"; + power-domains = <&ps_uart2>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi index f3891660dbd7e..d972136f20423 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -424,6 +424,17 @@ status = "disabled"; }; + usb_otg0: usb@702100000 { + compatible = "apple,t6030-usb2-otg", "apple,usb2-otg"; + reg = <0x7 0x02100000 0x0 0x1000>, + <0x7 0x02a84000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + phys = <&atcphy0 PHY_TYPE_USB2>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + scaler0: scaler@391000000 { compatible = "apple,t6030-scaler", "apple,scaler"; reg = <0x3 0x91000000 0x0 0x30000>, diff --git a/arch/arm64/boot/dts/apple/t6030.dtsi b/arch/arm64/boot/dts/apple/t6030.dtsi index 0c0593af281d0..61cb691d6a183 100644 --- a/arch/arm64/boot/dts/apple/t6030.dtsi +++ b/arch/arm64/boot/dts/apple/t6030.dtsi @@ -2181,3 +2181,7 @@ #include "t6030-peripherals.dtsi" #include "t6030-peripheral-buses.dtsi" + +#include "t6030-coprocessors.dtsi" + +#include "t6030-misc-interfaces.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6031-coprocessors.dtsi b/arch/arm64/boot/dts/apple/t6031-coprocessors.dtsi new file mode 100644 index 0000000000000..0db0e1cac83d8 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6031-coprocessors.dtsi @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled coprocessor interfaces; firmware handoff remains a loader job. */ + +&soc { + sep_dart: iommu@388ac0000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0x88ac0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + sep_mbox: mailbox@38a408000 { + compatible = "apple,t6031-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x3 0x8a408000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + power-domains = <&ps_sep>; + status = "disabled"; + }; + + sep: sep@38a400000 { + compatible = "apple,t6031-sep", "apple,sep"; + reg = <0x3 0x8a400000 0 0x6c000>, + <0x3 0x8a050000 0 0x4000>; + mboxes = <&sep_mbox>; + mbox-names = "mbox"; + iommus = <&sep_dart 0>; + power-domains = <&ps_sep>; + status = "disabled"; + }; + + sio_mbox: mailbox@391c08000 { + compatible = "apple,t6031-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x3 0x91c08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + power-domains = <&ps_sio_cpu>; + status = "disabled"; + }; + + sio: dma-controller@391c00000 { + compatible = "apple,t6031-sio", "apple,sio"; + reg = <0x3 0x91c00000 0 0x6c000>, + <0x3 0x91850000 0 0x4000>; + mboxes = <&sio_mbox>; + #dma-cells = <1>; + dma-channels = <128>; + iommus = <&sio_dart 0>; + power-domains = <&ps_sio_cpu>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6031-misc-interfaces.dtsi b/arch/arm64/boot/dts/apple/t6031-misc-interfaces.dtsi new file mode 100644 index 0000000000000..9792325980175 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6031-misc-interfaces.dtsi @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled tunnel translation and miscellaneous interfaces. */ + +&soc { + pciec0_dart: iommu@721008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x7 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc0_cio_pcie>; + status = "disabled"; + }; + + pciec1_dart: iommu@b21008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0xb 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc1_cio_pcie>; + status = "disabled"; + }; + + pciec2_dart: iommu@f21008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0xf 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc2_cio_pcie>; + status = "disabled"; + }; + + atcphy0_xbar: mux@70304c000 { + compatible = "apple,t6031-display-crossbar", + "apple,t6020-display-crossbar"; + reg = <0x7 0x0304c000 0 0x4000>; + #mux-control-cells = <1>; + power-domains = <&ps_atc0_usb>; + status = "disabled"; + }; + + atcphy1_xbar: mux@b0304c000 { + compatible = "apple,t6031-display-crossbar", + "apple,t6020-display-crossbar"; + reg = <0xb 0x0304c000 0 0x4000>; + #mux-control-cells = <1>; + power-domains = <&ps_atc1_usb>; + status = "disabled"; + }; + + atcphy2_xbar: mux@f0304c000 { + compatible = "apple,t6031-display-crossbar", + "apple,t6020-display-crossbar"; + reg = <0xf 0x0304c000 0 0x4000>; + #mux-control-cells = <1>; + power-domains = <&ps_atc2_usb>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi index 1e0c54c1f536f..da7f50431df39 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi @@ -749,6 +749,18 @@ status = "disabled"; }; + usb_otg0: usb@702100000 { + compatible = "apple,t6031-usb2-otg", "apple,usb2-otg"; + reg = <0x7 0x02100000 0x0 0x1000>, + <0x7 0x02a84000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_atc0_usb>; + phys = <&atcphy0 PHY_TYPE_USB2>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + scaler0: scaler@407000000 { compatible = "apple,t6031-scaler", "apple,scaler"; reg = <0x4 0x07000000 0x0 0x30000>, diff --git a/arch/arm64/boot/dts/apple/t6031.dtsi b/arch/arm64/boot/dts/apple/t6031.dtsi index 33a0d778707a3..107d8bc0f0320 100644 --- a/arch/arm64/boot/dts/apple/t6031.dtsi +++ b/arch/arm64/boot/dts/apple/t6031.dtsi @@ -54,3 +54,7 @@ #include "t6031-peripherals.dtsi" #include "t6031-peripheral-buses.dtsi" + +#include "t6031-coprocessors.dtsi" + +#include "t6031-misc-interfaces.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8122-coprocessors.dtsi b/arch/arm64/boot/dts/apple/t8122-coprocessors.dtsi new file mode 100644 index 0000000000000..690e81ef992b5 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8122-coprocessors.dtsi @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled coprocessor interfaces; firmware handoff remains a loader job. */ + +&soc { + sio_mbox: mailbox@2a1c08000 { + compatible = "apple,t8122-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x2 0xa1c08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + power-domains = <&ps_sio_cpu>; + status = "disabled"; + }; + + sio: dma-controller@2a1c00000 { + compatible = "apple,t8122-sio", "apple,sio"; + reg = <0x2 0xa1c00000 0 0x6c000>, + <0x2 0xa1850000 0 0x4000>; + mboxes = <&sio_mbox>; + #dma-cells = <1>; + dma-channels = <128>; + iommus = <&sio_dart 0>; + power-domains = <&ps_sio_cpu>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi b/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi new file mode 100644 index 0000000000000..5080ca2797612 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled tunnel translation and miscellaneous interfaces. */ + +&soc { + pciec0_dart: iommu@721008000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x7 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc0_cio_pcie>; + status = "disabled"; + }; + + pciec1_dart: iommu@b21008000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0xb 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc1_cio_pcie>; + status = "disabled"; + }; + + fpwm0: pwm@2a1040000 { + compatible = "apple,t8122-fpwm", "apple,s5l-fpwm"; + reg = <0x2 0xa1040000 0 0x4000>; + clocks = <&clkref>; + power-domains = <&ps_fpwm0>; + interrupt-parent = <&aic>; + interrupts = ; + #pwm-cells = <2>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi index f47214fc518ab..4415b4966063e 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -352,6 +352,17 @@ status = "disabled"; }; + usb_otg0: usb@702100000 { + compatible = "apple,t8122-usb2-otg", "apple,usb2-otg"; + reg = <0x7 0x02100000 0x0 0x1000>, + <0x7 0x02a84000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + phys = <&atcphy0 PHY_TYPE_USB2>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + scaler0: scaler@31d000000 { compatible = "apple,t8122-scaler", "apple,scaler"; reg = <0x3 0x1d000000 0x0 0x30000>, diff --git a/arch/arm64/boot/dts/apple/t8122.dtsi b/arch/arm64/boot/dts/apple/t8122.dtsi index 430f0b9905fa3..e7f28ac6de685 100644 --- a/arch/arm64/boot/dts/apple/t8122.dtsi +++ b/arch/arm64/boot/dts/apple/t8122.dtsi @@ -421,7 +421,7 @@ clock-output-names = "nco_ref"; }; - soc { + soc: soc { compatible = "simple-bus"; #address-cells = <2>; #size-cells = <2>; @@ -1961,3 +1961,7 @@ #include "t8122-peripherals.dtsi" #include "t8122-peripheral-buses.dtsi" + +#include "t8122-coprocessors.dtsi" + +#include "t8122-misc-interfaces.dtsi" diff --git a/docs/device-tree/DT-GAPS-j433.md b/docs/device-tree/DT-GAPS-j433.md new file mode 100644 index 0000000000000..f84b3dba139d5 --- /dev/null +++ b/docs/device-tree/DT-GAPS-j433.md @@ -0,0 +1,332 @@ +# DT gaps: J433 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8122-j433.dts`. +The hardware resource inventory identifies the T8122 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 289 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 | +| firmware service | 78 | +| gap | 25 | +| partial resources | 30 | +| resources | 70 | +| shared hardware | 2 | +| stream | 83 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi4` | resources | `/soc/spi@2a1110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c1` | resources | `/soc/i2c@2a1014000` | +| `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | +| `i2c1/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `i2c1/audio-codec-output` | bus device | `/soc/i2c@2a1014000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@2a101c000` | +| `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 | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `lan0-placeholder` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1/lan0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | +| `aic` | resources | `/soc/interrupt-controller@2d1000000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | +| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | +| `dwi` | resources | `/soc/dwi@2d0200000` | +| `pwm` | resources | `/soc/pwm@2a1040000` | +| `aes` | resources | `/soc/crypto@2a100c000` | +| `gpio0` | resources | `/soc/pinctrl@2c7100000` | +| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | +| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | +| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nco` | resources | `/soc/clock-controller@2d0044000` | +| `event-log-handler` | resources | `/soc/event-log@2d0700000` | +| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp` | resources | `/soc/iommu@2d0300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@29cac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | +| `sio` | resources | `/soc/dma-controller@2a1c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@2a1004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | +| `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `rsm` | resources | `/soc/rsm@2e4325000` | +| `dart-rsm` | resources | `/soc/iommu@2e433c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `qspi` | resources | `/soc/spi@2a1118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0` | resources | `/soc/i2c@2a1010000` | +| `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | +| `i2c0/hpmBusManager/hpm0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | +| `i2c2` | resources | `/soc/i2c@2a1018000` | +| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nub-spmi0` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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@2e4794000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | +| `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@2f48d4000` | +| `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 | +| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@28d30c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | +| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext` | resources | `/soc/iommu@31930c000` | +| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | +| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@31d000000` | +| `dart-scaler` | resources | `/soc/iommu@31d200000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@299000000` | +| `dart-jpeg0` | resources | `/soc/iommu@299004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@299008000` | +| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@315100000` | +| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | +| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd` | resources | `/soc/iommu@289010000` | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@321000000` | +| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | +| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | +| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@292400000` | +| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/i2s@2a3400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/i2s@2a3400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/i2s@2a3400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j434.md b/docs/device-tree/DT-GAPS-j434.md new file mode 100644 index 0000000000000..e868ff1a42a73 --- /dev/null +++ b/docs/device-tree/DT-GAPS-j434.md @@ -0,0 +1,344 @@ +# DT gaps: J434 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8122-j434.dts`. +The hardware resource inventory identifies the T8122 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 301 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 | +| firmware service | 86 | +| gap | 26 | +| partial resources | 30 | +| resources | 71 | +| shared hardware | 2 | +| stream | 85 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi4` | resources | `/soc/spi@2a1110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c1` | resources | `/soc/i2c@2a1014000` | +| `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | +| `i2c1/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `i2c1/audio-codec-output` | bus device | `/soc/i2c@2a1014000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@2a101c000` | +| `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 | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `lan0-placeholder` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dart-apcie2` | resources | `/soc/iommu@596000000` | +| `dart-apcie2/mapper-apcie2` | stream | Stream of `/soc/iommu@596000000`; stream/resource linkage needs review | +| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `/soc/iommu@596000000`; stream/resource linkage needs review | +| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1/lan0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge2/pcie-xhci` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-hs-port3` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-hs-port4` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-ss-port1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-ss-port2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | +| `aic` | resources | `/soc/interrupt-controller@2d1000000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | +| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | +| `dwi` | resources | `/soc/dwi@2d0200000` | +| `pwm` | resources | `/soc/pwm@2a1040000` | +| `aes` | resources | `/soc/crypto@2a100c000` | +| `gpio0` | resources | `/soc/pinctrl@2c7100000` | +| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | +| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | +| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nco` | resources | `/soc/clock-controller@2d0044000` | +| `event-log-handler` | resources | `/soc/event-log@2d0700000` | +| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp` | resources | `/soc/iommu@2d0300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@29cac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | +| `sio` | resources | `/soc/dma-controller@2a1c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@2a1004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | +| `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `rsm` | resources | `/soc/rsm@2e4325000` | +| `dart-rsm` | resources | `/soc/iommu@2e433c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `qspi` | resources | `/soc/spi@2a1118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0` | resources | `/soc/i2c@2a1010000` | +| `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | +| `i2c0/hpmBusManager/hpm0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm3` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | +| `i2c2` | resources | `/soc/i2c@2a1018000` | +| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nub-spmi0` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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@2e4794000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | +| `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@2f48d4000` | +| `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 | +| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@28d30c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | +| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext` | resources | `/soc/iommu@31930c000` | +| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | +| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@31d000000` | +| `dart-scaler` | resources | `/soc/iommu@31d200000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@299000000` | +| `dart-jpeg0` | resources | `/soc/iommu@299004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@299008000` | +| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@315100000` | +| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | +| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd` | resources | `/soc/iommu@289010000` | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@321000000` | +| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | +| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | +| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@292400000` | +| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/i2s@2a3400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/i2s@2a3400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/i2s@2a3400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j504.md b/docs/device-tree/DT-GAPS-j504.md new file mode 100644 index 0000000000000..d9efbc177ab9d --- /dev/null +++ b/docs/device-tree/DT-GAPS-j504.md @@ -0,0 +1,355 @@ +# DT gaps: J504 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8122-j504.dts`. +The hardware resource inventory identifies the T8122 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 312 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 | 8 | +| firmware service | 86 | +| gap | 25 | +| partial resources | 32 | +| resources | 75 | +| shared hardware | 2 | +| stream | 84 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi2` | resources | `/soc/spi@2a1108000` | +| `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | +| `spi4` | resources | `/soc/spi@2a1110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c1` | resources | `/soc/i2c@2a1014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@2a1014000/codec@39` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@2a1014000/codec@3a` | +| `i2c1/audio-codec-output` | bus device | `/soc/i2c@2a1014000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@2a101c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@2a101c000/codec@3b` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@2a101c000/codec@3c` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@2a101c000/codec@3d` | +| `i2c3/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `i2c4` | resources | `/soc/i2c@2a1020000` | +| `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | +| `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | +| `fpwm1` | resources | `/soc/pwm@2a1044000` | +| `fpwm1/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | +| `aic` | resources | `/soc/interrupt-controller@2d1000000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | +| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | +| `dwi` | resources | `/soc/dwi@2d0200000` | +| `pwm` | resources | `/soc/pwm@2a1040000` | +| `aes` | resources | `/soc/crypto@2a100c000` | +| `gpio0` | resources | `/soc/pinctrl@2c7100000` | +| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | +| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | +| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nco` | resources | `/soc/clock-controller@2d0044000` | +| `event-log-handler` | resources | `/soc/event-log@2d0700000` | +| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp` | resources | `/soc/iommu@2d0300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@29cac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | +| `sio` | resources | `/soc/dma-controller@2a1c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@2a1004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | +| `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `rsm` | resources | `/soc/rsm@2e4325000` | +| `dart-rsm` | resources | `/soc/iommu@2e433c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@2fa400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@2fa808000`; `/soc/filter@2fa80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0` | resources | `/soc/i2c@2a1010000` | +| `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | +| `i2c0/hpmBusManager/hpm0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm5` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c2` | resources | `/soc/i2c@2a1018000` | +| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dptx-phy` | resources | `/soc/phy@2c7540000` | +| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nub-spmi0` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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@2e4794000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | +| `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@2f48d4000` | +| `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 | +| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@28d30c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | +| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext` | resources | `/soc/iommu@31930c000` | +| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | +| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@31d000000` | +| `dart-scaler` | resources | `/soc/iommu@31d200000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@299000000` | +| `dart-jpeg0` | resources | `/soc/iommu@299004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@299008000` | +| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@315100000` | +| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | +| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd` | resources | `/soc/iommu@289010000` | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@321000000` | +| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | +| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | +| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@292400000` | +| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/i2s@2a3400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/i2s@2a3400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/i2s@2a3400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j514c.md b/docs/device-tree/DT-GAPS-j514c.md new file mode 100644 index 0000000000000..a14b8a78e23e0 --- /dev/null +++ b/docs/device-tree/DT-GAPS-j514c.md @@ -0,0 +1,464 @@ +# DT gaps: J514C + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6031-j514c.dts`. +The hardware resource inventory identifies the T6031 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 421 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 | 7 | +| firmware service | 102 | +| gap | 41 | +| partial resources | 43 | +| resources | 100 | +| shared hardware | 4 | +| stream | 124 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@2ac400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@2ac808000`; `/soc/filter@2ac80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `i2c1` | resources | `/soc/i2c@391014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@391014000/codec@38` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@391014000/codec@39` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@391014000/codec@3a` | +| `i2c2` | resources | `/soc/i2c@391018000` | +| `i2c2/audio-codec-output` | bus device | `/soc/i2c@391018000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@39101c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@39101c000/codec@3b` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@39101c000/codec@3c` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@39101c000/codec@3d` | +| `i2c4` | resources | `/soc/i2c@391020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/soc/i2c@391028000` | +| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/soc/i2c@391030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `spi2` | resources | `/soc/spi@391108000` | +| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | +| `spi4` | resources | `/soc/spi@391110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | +| `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `pwm0` | resources | `/soc/pwm@391040000` | +| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | +| `apcie0/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2` | gap | **GAP:** no matching hardware resource node | +| `apciec2/pcic2-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec2` | resources | `/soc/iommu@f21008000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | +| `acio2` | partial resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | +| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | +| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | +| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | +| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | +| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | +| `mcc` | resources | `/soc/pmp_report@2903c0000`; `/soc/memory-controller@2903c0000`; `/soc/power-management@292818000`; `/soc/error-handler@388c40000` | +| `aic` | resources | `/soc/interrupt-controller@292400000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@292400000` | +| `wdt` | partial resources | `/soc/watchdog@2a02d4000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000` | +| `dwi` | resources | `/soc/dwi@2929b0000` | +| `aes` | resources | `/soc/crypto@39100c000` | +| `gpio0` | resources | `/soc/pinctrl@2b3000000` | +| `aop-gpio0` | resources | `/soc/pinctrl@2a8824000` | +| `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | +| `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | +| `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `event-log-handler` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | +| `nco` | resources | `/soc/clock-controller@29003c000` | +| `sio` | resources | `/soc/dma-controller@391c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@391004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/dcp@386c00000`; **GAP:** 10 larger or unmatched resource window(s) | +| `pmp0/iop-pmp0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp0` | resources | `/soc/iommu@290300000` | +| `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | +| `dart-pmp0/mapper-pmp-ptd-fwd` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | +| `sep` | resources | `/soc/sep@38a400000` | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@388ac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/ans-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | +| `smc` | partial resources | `/soc/smc@2a4400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | +| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `rsm` | resources | `/soc/rsm@2a0325000` | +| `dart-rsm` | resources | `/soc/iommu@2a033c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | +| `uart0` | resources | `/soc/serial@391200000` | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `qspi` | resources | `/soc/spi@391118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy2` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy3` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-chapelL1-b` | 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@2a1054000` | +| `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2` | resources | `/soc/spmi@2a1094000` | +| `nub-spmi2/spmi-sebringC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2/spmi-sebringC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3` | resources | `/soc/spmi@2a10d4000` | +| `nub-spmi3/spmi-sebringC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3/spmi-sebringC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi4` | resources | `/soc/spmi@2a1114000` | +| `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 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 | +| `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | +| `aop-spmi0` | resources | `/soc/spmi@2a8894000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@2a88d4000` | +| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-disp0` | resources | `/soc/iommu@385304000`; `/soc/iommu@385300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@386c00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@38530c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@38530c000`; stream/resource linkage needs review | +| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@407000000` | +| `dart-scaler0` | resources | `/soc/iommu@407200000` | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | +| `scaler1` | resources | `/soc/scaler@3c7000000` | +| `dart-scaler1` | resources | `/soc/iommu@3c7200000` | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | +| `apr0` | resources | `/soc/video-codec@2c5000000` | +| `dart-apr0` | resources | `/soc/iommu@2c5028000`; `/soc/iommu@2c502c000` | +| `dart-apr0/mapper-apr0` | stream | Stream of `/soc/iommu@2c5028000` / `/soc/iommu@2c502c000`; stream/resource linkage needs review | +| `apr1` | resources | `/soc/video-codec@287000000` | +| `dart-apr1` | resources | `/soc/iommu@287008000` | +| `dart-apr1/mapper-apr1` | stream | Stream of `/soc/iommu@287008000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@2cf000000` | +| `dart-jpeg0` | resources | `/soc/iommu@2cf004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@2cf004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@2cf008000` | +| `dart-jpeg1` | resources | `/soc/iommu@2cf00c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@2cf00c000`; stream/resource linkage needs review | +| `ave0` | resources | `/soc/video-encoder@285100000` | +| `dart-ave0` | resources | `/soc/iommu@285030000`; `/soc/iommu@285040000`; `/soc/iommu@285020000`; `/soc/filter@285044000` | +| `dart-ave0/mapper-ave0` | stream | Stream of `/soc/iommu@285030000` / `/soc/iommu@285040000` / `/soc/iommu@285020000` / `/soc/filter@285044000`; stream/resource linkage needs review | +| `ave1` | resources | `/soc/video-encoder@3c5100000` | +| `dart-ave1` | resources | `/soc/iommu@3c5030000`; `/soc/iommu@3c5040000`; `/soc/iommu@3c5020000`; `/soc/filter@3c5044000` | +| `dart-ave1/mapper-ave1` | stream | Stream of `/soc/iommu@3c5030000` / `/soc/iommu@3c5040000` / `/soc/iommu@3c5020000` / `/soc/filter@3c5044000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/soc/avd@2cc000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | resources | `/soc/iommu@2cd010000` | +| `dart-avd0/mapper-avd0` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | +| `ane0/iop-ane0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@40a400000` | +| `gfx-asc/iop-gfx-nub0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/mca@393400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/mca@393400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/mca@393400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `nub-swd0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `pwm1` | resources | `/soc/pwm@391040000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | +| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0` | partial resources | `/soc/dcp@306c00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext0` | resources | `/soc/iommu@30530c000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext1` | partial resources | `/soc/dcp@44ac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | +| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext1` | resources | `/soc/iommu@44930c000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | +| `dp-audio2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | +| `dcpext2-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext2/iop-dcpext2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | +| `dp-audio3` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | +| `dcpext3-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext3/iop-dcpext3-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | +| `dp-audio4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j514m.md b/docs/device-tree/DT-GAPS-j514m.md new file mode 100644 index 0000000000000..3e9afe23eadb4 --- /dev/null +++ b/docs/device-tree/DT-GAPS-j514m.md @@ -0,0 +1,463 @@ +# DT gaps: J514M + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6034-j514m.dts`. +The hardware resource inventory identifies the T6031 peripheral die. T6034 is the harvested six-channel T6031 variant. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 420 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 | 7 | +| firmware service | 102 | +| gap | 43 | +| partial resources | 43 | +| resources | 98 | +| shared hardware | 4 | +| stream | 123 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@2ac400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@2ac808000`; `/soc/filter@2ac80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `i2c1` | resources | `/soc/i2c@391014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@391014000/codec@38` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@391014000/codec@39` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@391014000/codec@3a` | +| `i2c2` | resources | `/soc/i2c@391018000` | +| `i2c2/audio-codec-output` | bus device | `/soc/i2c@391018000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@39101c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@39101c000/codec@3b` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@39101c000/codec@3c` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@39101c000/codec@3d` | +| `i2c4` | resources | `/soc/i2c@391020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/soc/i2c@391028000` | +| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/soc/i2c@391030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `spi2` | resources | `/soc/spi@391108000` | +| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | +| `spi4` | resources | `/soc/spi@391110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | +| `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `pwm0` | resources | `/soc/pwm@391040000` | +| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | +| `apcie0/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2` | gap | **GAP:** no matching hardware resource node | +| `apciec2/pcic2-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec2` | resources | `/soc/iommu@f21008000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | +| `acio2` | partial resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | +| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | +| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | +| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | +| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | +| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | +| `mcc` | resources | `/soc/pmp_report@2903c0000`; `/soc/memory-controller@2903c0000`; `/soc/power-management@292818000`; `/soc/error-handler@388c40000` | +| `aic` | resources | `/soc/interrupt-controller@292400000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@292400000` | +| `wdt` | partial resources | `/soc/watchdog@2a02d4000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000` | +| `dwi` | resources | `/soc/dwi@2929b0000` | +| `aes` | resources | `/soc/crypto@39100c000` | +| `gpio0` | resources | `/soc/pinctrl@2b3000000` | +| `aop-gpio0` | resources | `/soc/pinctrl@2a8824000` | +| `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | +| `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | +| `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `event-log-handler` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | +| `nco` | resources | `/soc/clock-controller@29003c000` | +| `sio` | resources | `/soc/dma-controller@391c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@391004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/power-management@2903d0000`; **GAP:** 10 larger or unmatched resource window(s) | +| `pmp0/iop-pmp0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp0` | resources | `/soc/iommu@290300000` | +| `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | +| `sep` | resources | `/soc/sep@38a400000` | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@388ac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/ans-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | +| `smc` | partial resources | `/soc/smc@2a4400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | +| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `rsm` | resources | `/soc/rsm@2a0325000` | +| `dart-rsm` | resources | `/soc/iommu@2a033c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | +| `uart0` | resources | `/soc/serial@391200000` | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `qspi` | resources | `/soc/spi@391118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy2` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy3` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-chapelL1-b` | 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@2a1054000` | +| `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2` | resources | `/soc/spmi@2a1094000` | +| `nub-spmi2/spmi-sebringC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2/spmi-sebringC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3` | resources | `/soc/spmi@2a10d4000` | +| `nub-spmi3/spmi-sebringC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3/spmi-sebringC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi4` | resources | `/soc/spmi@2a1114000` | +| `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 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 | +| `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | +| `aop-spmi0` | resources | `/soc/spmi@2a8894000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@2a88d4000` | +| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/iommu@385300000`; `/soc/power-management@2903d0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dart-disp0` | partial resources | `/soc/iommu@385300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | gap | **GAP:** no matching hardware resource node | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | gap | **GAP:** no matching hardware resource node | +| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | +| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@407000000` | +| `dart-scaler0` | resources | `/soc/iommu@407200000` | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | +| `scaler1` | resources | `/soc/scaler@3c7000000` | +| `dart-scaler1` | resources | `/soc/iommu@3c7200000` | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | +| `apr0` | resources | `/soc/video-codec@2c5000000` | +| `dart-apr0` | resources | `/soc/iommu@2c5028000`; `/soc/iommu@2c502c000` | +| `dart-apr0/mapper-apr0` | stream | Stream of `/soc/iommu@2c5028000` / `/soc/iommu@2c502c000`; stream/resource linkage needs review | +| `apr1` | resources | `/soc/video-codec@287000000` | +| `dart-apr1` | resources | `/soc/iommu@287008000` | +| `dart-apr1/mapper-apr1` | stream | Stream of `/soc/iommu@287008000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@2cf000000` | +| `dart-jpeg0` | resources | `/soc/iommu@2cf004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@2cf004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@2cf008000` | +| `dart-jpeg1` | resources | `/soc/iommu@2cf00c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@2cf00c000`; stream/resource linkage needs review | +| `ave0` | resources | `/soc/video-encoder@285100000` | +| `dart-ave0` | resources | `/soc/iommu@285030000`; `/soc/iommu@285040000`; `/soc/iommu@285020000`; `/soc/filter@285044000` | +| `dart-ave0/mapper-ave0` | stream | Stream of `/soc/iommu@285030000` / `/soc/iommu@285040000` / `/soc/iommu@285020000` / `/soc/filter@285044000`; stream/resource linkage needs review | +| `ave1` | resources | `/soc/video-encoder@3c5100000` | +| `dart-ave1` | resources | `/soc/iommu@3c5030000`; `/soc/iommu@3c5040000`; `/soc/iommu@3c5020000`; `/soc/filter@3c5044000` | +| `dart-ave1/mapper-ave1` | stream | Stream of `/soc/iommu@3c5030000` / `/soc/iommu@3c5040000` / `/soc/iommu@3c5020000` / `/soc/filter@3c5044000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/soc/avd@2cc000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | resources | `/soc/iommu@2cd010000` | +| `dart-avd0/mapper-avd0` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | +| `ane0/iop-ane0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@40a400000` | +| `gfx-asc/iop-gfx-nub0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/mca@393400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/mca@393400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/mca@393400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `nub-swd0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `pwm1` | resources | `/soc/pwm@391040000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | +| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0` | partial resources | `/soc/dcp@306c00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext0` | resources | `/soc/iommu@30530c000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext1` | partial resources | `/soc/dcp@44ac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | +| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext1` | resources | `/soc/iommu@44930c000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | +| `dp-audio2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | +| `dcpext2-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext2/iop-dcpext2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | +| `dp-audio3` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | +| `dcpext3-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext3/iop-dcpext3-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | +| `dp-audio4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j514s.md b/docs/device-tree/DT-GAPS-j514s.md new file mode 100644 index 0000000000000..16b3eb154de4c --- /dev/null +++ b/docs/device-tree/DT-GAPS-j514s.md @@ -0,0 +1,423 @@ +# DT gaps: J514S + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6030-j514s.dts`. +The hardware resource inventory identifies the T6030 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 380 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 | 7 | +| firmware service | 92 | +| gap | 33 | +| partial resources | 39 | +| resources | 89 | +| shared hardware | 7 | +| stream | 113 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi2` | resources | `/soc/spi@289108000` | +| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | +| `spi4` | resources | `/soc/spi@289110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c1` | resources | `/soc/i2c@289014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@289014000/codec@38` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@289014000/codec@3a` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@289014000/codec@39` | +| `i2c2` | resources | `/soc/i2c@289018000` | +| `i2c2/audio-codec-output` | bus device | `/soc/i2c@289018000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@28901c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@28901c000/codec@3b` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@28901c000/codec@3d` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@28901c000/codec@3c` | +| `i2c4` | resources | `/soc/i2c@289020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/soc/i2c@289028000` | +| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/soc/i2c@289030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `pwm0` | resources | `/soc/pwm@289040000` | +| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `uart2` | resources | `/soc/serial@289208000` | +| `uart2/wlan-debug` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `acio-cpu0` | resources | `/soc/mailbox@701108000`; `/soc/cio@701ac0000` | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@730000000` | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000` | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `acio-cpu1` | resources | `/soc/mailbox@b01108000`; `/soc/cio@b01ac0000` | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000` | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `acio-cpu2` | resources | `/soc/mailbox@f01108000`; `/soc/cio@f01ac0000` | +| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2` | gap | **GAP:** no matching hardware resource node | +| `apciec2/pcic2-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec2` | resources | `/soc/iommu@f21008000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | +| `acio2` | resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000` | +| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | +| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | +| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | +| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | +| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | +| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mcc` | resources | `/soc/pmp_report@3503c0000`; `/soc/memory-controller@3503c0000`; `/soc/power-management@350780000`; `/soc/error-handler@29cc40000` | +| `aic` | resources | `/soc/interrupt-controller@351000000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@351000000` | +| `wdt` | partial resources | `/soc/watchdog@3642b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@350700000` | +| `dwi` | resources | `/soc/dwi@350200000` | +| `pwm` | resources | `/soc/pwm@289040000` | +| `aes` | resources | `/soc/crypto@28900c000` | +| `gpio0` | partial resources | `/soc/pinctrl@347100000`; **GAP:** 1 larger or unmatched resource window(s) | +| `aop-gpio` | resources | `/soc/pinctrl@374824000` | +| `nub-gpio` | resources | `/soc/pinctrl@3641f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@36c820000` | +| `aop` | partial resources | `/soc/aop@374c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@374818000`; `/soc/filter@37481c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/event-log@350700000`; `/soc/error-handler@29cc40000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@350780000`; `/soc/pmp_report@3503c0000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/phy@f03000000`; `/soc/video-encoder@2cd100000`; `/soc/isp@2c8000000`; `/soc/scaler@391000000`; `/soc/video-codec@30d000000`; **GAP:** 46 larger or unmatched resource window(s) | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nco` | resources | `/soc/clock-controller@350044000` | +| `event-log-handler` | resources | `/soc/event-log@350700000` | +| `pmp` | partial resources | `/soc/pmp@350500000`; `/soc/dcp@28ec00000`; **GAP:** 3 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp` | resources | `/soc/iommu@350300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@350300000`; stream/resource linkage needs review | +| `sep` | resources | `/soc/sep@29e400000` | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@29cac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | +| `sio` | partial resources | `/soc/dma-controller@289c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@289004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@38dcc0000`; **GAP:** 7 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@38dc50000`; `/soc/nvme@38dcc0000` | +| `smc` | partial resources | `/soc/smc@36c400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `rsm` | resources | `/soc/rsm@364325000` | +| `dart-rsm` | resources | `/soc/iommu@36433c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@36433c000`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@289200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `dockchannel-mtp` | partial resources | `/soc/fifo@37ab30000`; `/soc/fifo@37ab30000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@37a400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@37a808000`; `/soc/filter@37a80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@37a808000` / `/soc/filter@37a80c000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `spi1` | resources | `/soc/spi@289104000` | +| `spi1/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi1/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi1/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi1/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `admac-sio` | partial resources | `/soc/dma-controller@28b200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@374980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy2` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy3` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/soc/spmi@364714000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-chapelL1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/spmi-spitfireE1` | 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@364794000` | +| `nub-spmi1/spmi-chapelF1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1/spmi-spitfireE2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2` | resources | `/soc/spmi@364814000` | +| `nub-spmi-a0` | partial resources | `/soc/spmi@364908000`; **GAP:** 3 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 | +| `nub-spmi-a1` | partial resources | `/soc/spmi@364a08000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0` | resources | `/soc/spmi@374894000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@3748d4000` | +| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@28d30c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | +| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | +| `dispext0` | partial resources | `/soc/dcp@2d2c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0` | partial resources | `/soc/dcp@2d2c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext0` | resources | `/soc/iommu@2d130c000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@2d130c000`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/soc/iommu@2d1300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@2d1300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@2d1300000`; stream/resource linkage needs review | +| `dp-audio1` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | +| `dispext1` | partial resources | `/soc/dcp@2d6c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dart-dispext1` | partial resources | `/soc/iommu@2d5300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | +| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1` | partial resources | `/soc/dcp@2d6c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext1` | resources | `/soc/iommu@2d530c000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@2d530c000`; stream/resource linkage needs review | +| `dp-audio2` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | +| `scaler0` | resources | `/soc/scaler@391000000` | +| `dart-scaler` | resources | `/soc/iommu@391200000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@391200000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@391200000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@299000000` | +| `dart-jpeg0` | resources | `/soc/iommu@299004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@299008000` | +| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@2cd100000` | +| `dart-ave` | resources | `/soc/iommu@2cd030000`; `/soc/iommu@2cd040000`; `/soc/iommu@2cd020000`; `/soc/filter@2cd044000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@2cd030000` / `/soc/iommu@2cd040000` / `/soc/iommu@2cd020000` / `/soc/filter@2cd044000`; stream/resource linkage needs review | +| `avd` | partial resources | `/soc/avd@30a000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd` | resources | `/soc/iommu@30b010000` | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@30d000000` | +| `dart-apr` | resources | `/soc/iommu@30d028000`; `/soc/iommu@30d02c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@30d028000` / `/soc/iommu@30d02c000`; stream/resource linkage needs review | +| `isp` | partial resources | `/soc/isp@2c8000000`; `/soc/video-encoder@2cd100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@2ca4a8000`; `/soc/iommu@2ca4b4000`; `/soc/iommu@2ca4bc000`; `/soc/iommu@2ca4b0000`; `/soc/iommu@2ca4b8000`; `/soc/filter@2ca4ac000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2ca4a8000` / `/soc/iommu@2ca4b4000` / `/soc/iommu@2ca4bc000` / `/soc/iommu@2ca4b0000` / `/soc/iommu@2ca4b8000` / `/soc/filter@2ca4ac000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@309804000`; `/soc/video-encoder@2cd100000`; `/soc/pmp_report@3503c0000`; `/soc/cpufreq@211e20000`; **GAP:** 8 larger or unmatched resource window(s) | +| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane` | partial resources | `/soc/filter@309804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@309804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | partial resources | `/soc/gpu@292400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/mca@28b400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/mca@28b400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/mca@28b400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/mca@28b400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j516c.md b/docs/device-tree/DT-GAPS-j516c.md new file mode 100644 index 0000000000000..a57cade1df7a3 --- /dev/null +++ b/docs/device-tree/DT-GAPS-j516c.md @@ -0,0 +1,464 @@ +# DT gaps: J516C + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6031-j516c.dts`. +The hardware resource inventory identifies the T6031 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 421 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 | 7 | +| firmware service | 102 | +| gap | 41 | +| partial resources | 43 | +| resources | 100 | +| shared hardware | 4 | +| stream | 124 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@2ac400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@2ac808000`; `/soc/filter@2ac80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `i2c1` | resources | `/soc/i2c@391014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@391014000/codec@38` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@391014000/codec@39` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@391014000/codec@3a` | +| `i2c2` | resources | `/soc/i2c@391018000` | +| `i2c2/audio-codec-output` | bus device | `/soc/i2c@391018000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@39101c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@39101c000/codec@3b` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@39101c000/codec@3c` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@39101c000/codec@3d` | +| `i2c4` | resources | `/soc/i2c@391020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/soc/i2c@391028000` | +| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/soc/i2c@391030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `spi2` | resources | `/soc/spi@391108000` | +| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | +| `spi4` | resources | `/soc/spi@391110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | +| `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `pwm0` | resources | `/soc/pwm@391040000` | +| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | +| `apcie0/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2` | gap | **GAP:** no matching hardware resource node | +| `apciec2/pcic2-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec2` | resources | `/soc/iommu@f21008000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | +| `acio2` | partial resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | +| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | +| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | +| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | +| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | +| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | +| `mcc` | resources | `/soc/pmp_report@2903c0000`; `/soc/memory-controller@2903c0000`; `/soc/power-management@292818000`; `/soc/error-handler@388c40000` | +| `aic` | resources | `/soc/interrupt-controller@292400000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@292400000` | +| `wdt` | partial resources | `/soc/watchdog@2a02d4000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000` | +| `dwi` | resources | `/soc/dwi@2929b0000` | +| `aes` | resources | `/soc/crypto@39100c000` | +| `gpio0` | resources | `/soc/pinctrl@2b3000000` | +| `aop-gpio0` | resources | `/soc/pinctrl@2a8824000` | +| `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | +| `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | +| `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `event-log-handler` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | +| `nco` | resources | `/soc/clock-controller@29003c000` | +| `sio` | resources | `/soc/dma-controller@391c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@391004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/dcp@386c00000`; **GAP:** 10 larger or unmatched resource window(s) | +| `pmp0/iop-pmp0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp0` | resources | `/soc/iommu@290300000` | +| `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | +| `dart-pmp0/mapper-pmp-ptd-fwd` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | +| `sep` | resources | `/soc/sep@38a400000` | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@388ac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/ans-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | +| `smc` | partial resources | `/soc/smc@2a4400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | +| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `rsm` | resources | `/soc/rsm@2a0325000` | +| `dart-rsm` | resources | `/soc/iommu@2a033c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | +| `uart0` | resources | `/soc/serial@391200000` | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `qspi` | resources | `/soc/spi@391118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy2` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy3` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-chapelL1-b` | 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@2a1054000` | +| `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2` | resources | `/soc/spmi@2a1094000` | +| `nub-spmi2/spmi-sebringC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2/spmi-sebringC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3` | resources | `/soc/spmi@2a10d4000` | +| `nub-spmi3/spmi-sebringC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3/spmi-sebringC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi4` | resources | `/soc/spmi@2a1114000` | +| `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 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 | +| `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | +| `aop-spmi0` | resources | `/soc/spmi@2a8894000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@2a88d4000` | +| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-disp0` | resources | `/soc/iommu@385304000`; `/soc/iommu@385300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@386c00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@38530c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@38530c000`; stream/resource linkage needs review | +| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@407000000` | +| `dart-scaler0` | resources | `/soc/iommu@407200000` | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | +| `scaler1` | resources | `/soc/scaler@3c7000000` | +| `dart-scaler1` | resources | `/soc/iommu@3c7200000` | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | +| `apr0` | resources | `/soc/video-codec@2c5000000` | +| `dart-apr0` | resources | `/soc/iommu@2c5028000`; `/soc/iommu@2c502c000` | +| `dart-apr0/mapper-apr0` | stream | Stream of `/soc/iommu@2c5028000` / `/soc/iommu@2c502c000`; stream/resource linkage needs review | +| `apr1` | resources | `/soc/video-codec@287000000` | +| `dart-apr1` | resources | `/soc/iommu@287008000` | +| `dart-apr1/mapper-apr1` | stream | Stream of `/soc/iommu@287008000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@2cf000000` | +| `dart-jpeg0` | resources | `/soc/iommu@2cf004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@2cf004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@2cf008000` | +| `dart-jpeg1` | resources | `/soc/iommu@2cf00c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@2cf00c000`; stream/resource linkage needs review | +| `ave0` | resources | `/soc/video-encoder@285100000` | +| `dart-ave0` | resources | `/soc/iommu@285030000`; `/soc/iommu@285040000`; `/soc/iommu@285020000`; `/soc/filter@285044000` | +| `dart-ave0/mapper-ave0` | stream | Stream of `/soc/iommu@285030000` / `/soc/iommu@285040000` / `/soc/iommu@285020000` / `/soc/filter@285044000`; stream/resource linkage needs review | +| `ave1` | resources | `/soc/video-encoder@3c5100000` | +| `dart-ave1` | resources | `/soc/iommu@3c5030000`; `/soc/iommu@3c5040000`; `/soc/iommu@3c5020000`; `/soc/filter@3c5044000` | +| `dart-ave1/mapper-ave1` | stream | Stream of `/soc/iommu@3c5030000` / `/soc/iommu@3c5040000` / `/soc/iommu@3c5020000` / `/soc/filter@3c5044000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/soc/avd@2cc000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | resources | `/soc/iommu@2cd010000` | +| `dart-avd0/mapper-avd0` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | +| `ane0/iop-ane0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@40a400000` | +| `gfx-asc/iop-gfx-nub0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/mca@393400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/mca@393400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/mca@393400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `nub-swd0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `pwm1` | resources | `/soc/pwm@391040000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | +| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0` | partial resources | `/soc/dcp@306c00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext0` | resources | `/soc/iommu@30530c000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext1` | partial resources | `/soc/dcp@44ac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | +| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext1` | resources | `/soc/iommu@44930c000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | +| `dp-audio2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | +| `dcpext2-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext2/iop-dcpext2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | +| `dp-audio3` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | +| `dcpext3-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext3/iop-dcpext3-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | +| `dp-audio4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j516m.md b/docs/device-tree/DT-GAPS-j516m.md new file mode 100644 index 0000000000000..6937d219540e1 --- /dev/null +++ b/docs/device-tree/DT-GAPS-j516m.md @@ -0,0 +1,463 @@ +# DT gaps: J516M + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6034-j516m.dts`. +The hardware resource inventory identifies the T6031 peripheral die. T6034 is the harvested six-channel T6031 variant. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 420 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 | 7 | +| firmware service | 102 | +| gap | 43 | +| partial resources | 43 | +| resources | 98 | +| shared hardware | 4 | +| stream | 123 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@2ac400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@2ac808000`; `/soc/filter@2ac80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `i2c1` | resources | `/soc/i2c@391014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@391014000/codec@38` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@391014000/codec@39` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@391014000/codec@3a` | +| `i2c2` | resources | `/soc/i2c@391018000` | +| `i2c2/audio-codec-output` | bus device | `/soc/i2c@391018000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@39101c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@39101c000/codec@3b` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@39101c000/codec@3c` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@39101c000/codec@3d` | +| `i2c4` | resources | `/soc/i2c@391020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/soc/i2c@391028000` | +| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/soc/i2c@391030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `spi2` | resources | `/soc/spi@391108000` | +| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | +| `spi4` | resources | `/soc/spi@391110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | +| `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `pwm0` | resources | `/soc/pwm@391040000` | +| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | +| `apcie0/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2` | gap | **GAP:** no matching hardware resource node | +| `apciec2/pcic2-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec2` | resources | `/soc/iommu@f21008000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | +| `acio2` | partial resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | +| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | +| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | +| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | +| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | +| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | +| `mcc` | resources | `/soc/pmp_report@2903c0000`; `/soc/memory-controller@2903c0000`; `/soc/power-management@292818000`; `/soc/error-handler@388c40000` | +| `aic` | resources | `/soc/interrupt-controller@292400000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@292400000` | +| `wdt` | partial resources | `/soc/watchdog@2a02d4000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000` | +| `dwi` | resources | `/soc/dwi@2929b0000` | +| `aes` | resources | `/soc/crypto@39100c000` | +| `gpio0` | resources | `/soc/pinctrl@2b3000000` | +| `aop-gpio0` | resources | `/soc/pinctrl@2a8824000` | +| `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | +| `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | +| `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `event-log-handler` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | +| `nco` | resources | `/soc/clock-controller@29003c000` | +| `sio` | resources | `/soc/dma-controller@391c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@391004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | +| `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/power-management@2903d0000`; **GAP:** 10 larger or unmatched resource window(s) | +| `pmp0/iop-pmp0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp0` | resources | `/soc/iommu@290300000` | +| `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | +| `sep` | resources | `/soc/sep@38a400000` | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@388ac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/ans-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | +| `smc` | partial resources | `/soc/smc@2a4400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | +| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `rsm` | resources | `/soc/rsm@2a0325000` | +| `dart-rsm` | resources | `/soc/iommu@2a033c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | +| `uart0` | resources | `/soc/serial@391200000` | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `qspi` | resources | `/soc/spi@391118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy2` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy3` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-chapelL1-b` | 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@2a1054000` | +| `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2` | resources | `/soc/spmi@2a1094000` | +| `nub-spmi2/spmi-sebringC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2/spmi-sebringC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3` | resources | `/soc/spmi@2a10d4000` | +| `nub-spmi3/spmi-sebringC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3/spmi-sebringC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi4` | resources | `/soc/spmi@2a1114000` | +| `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 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 | +| `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | +| `aop-spmi0` | resources | `/soc/spmi@2a8894000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@2a88d4000` | +| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/soc/iommu@385300000`; `/soc/power-management@2903d0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dart-disp0` | partial resources | `/soc/iommu@385300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | gap | **GAP:** no matching hardware resource node | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | gap | **GAP:** no matching hardware resource node | +| `dart-dcp/mapper-dcp` | stream | Stream of `dart-dcp`; stream/resource linkage needs review | +| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@407000000` | +| `dart-scaler0` | resources | `/soc/iommu@407200000` | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | +| `scaler1` | resources | `/soc/scaler@3c7000000` | +| `dart-scaler1` | resources | `/soc/iommu@3c7200000` | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | +| `apr0` | resources | `/soc/video-codec@2c5000000` | +| `dart-apr0` | resources | `/soc/iommu@2c5028000`; `/soc/iommu@2c502c000` | +| `dart-apr0/mapper-apr0` | stream | Stream of `/soc/iommu@2c5028000` / `/soc/iommu@2c502c000`; stream/resource linkage needs review | +| `apr1` | resources | `/soc/video-codec@287000000` | +| `dart-apr1` | resources | `/soc/iommu@287008000` | +| `dart-apr1/mapper-apr1` | stream | Stream of `/soc/iommu@287008000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@2cf000000` | +| `dart-jpeg0` | resources | `/soc/iommu@2cf004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@2cf004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@2cf008000` | +| `dart-jpeg1` | resources | `/soc/iommu@2cf00c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@2cf00c000`; stream/resource linkage needs review | +| `ave0` | resources | `/soc/video-encoder@285100000` | +| `dart-ave0` | resources | `/soc/iommu@285030000`; `/soc/iommu@285040000`; `/soc/iommu@285020000`; `/soc/filter@285044000` | +| `dart-ave0/mapper-ave0` | stream | Stream of `/soc/iommu@285030000` / `/soc/iommu@285040000` / `/soc/iommu@285020000` / `/soc/filter@285044000`; stream/resource linkage needs review | +| `ave1` | resources | `/soc/video-encoder@3c5100000` | +| `dart-ave1` | resources | `/soc/iommu@3c5030000`; `/soc/iommu@3c5040000`; `/soc/iommu@3c5020000`; `/soc/filter@3c5044000` | +| `dart-ave1/mapper-ave1` | stream | Stream of `/soc/iommu@3c5030000` / `/soc/iommu@3c5040000` / `/soc/iommu@3c5020000` / `/soc/filter@3c5044000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/soc/avd@2cc000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | resources | `/soc/iommu@2cd010000` | +| `dart-avd0/mapper-avd0` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | +| `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | +| `ane0/iop-ane0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@40a400000` | +| `gfx-asc/iop-gfx-nub0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/mca@393400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/mca@393400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/mca@393400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `nub-swd0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `pwm1` | resources | `/soc/pwm@391040000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | +| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0` | partial resources | `/soc/dcp@306c00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext0` | resources | `/soc/iommu@30530c000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext1` | partial resources | `/soc/dcp@44ac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | +| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext1` | resources | `/soc/iommu@44930c000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | +| `dp-audio2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | +| `dcpext2-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext2/iop-dcpext2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | +| `dp-audio3` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | +| `dcpext3-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext3/iop-dcpext3-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | +| `dp-audio4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j516s.md b/docs/device-tree/DT-GAPS-j516s.md new file mode 100644 index 0000000000000..e8889d2bb2ec8 --- /dev/null +++ b/docs/device-tree/DT-GAPS-j516s.md @@ -0,0 +1,423 @@ +# DT gaps: J516S + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6030-j516s.dts`. +The hardware resource inventory identifies the T6030 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 380 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 | 7 | +| firmware service | 92 | +| gap | 33 | +| partial resources | 39 | +| resources | 89 | +| shared hardware | 7 | +| stream | 113 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi2` | resources | `/soc/spi@289108000` | +| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | +| `spi4` | resources | `/soc/spi@289110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c1` | resources | `/soc/i2c@289014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@289014000/codec@38` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@289014000/codec@3a` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@289014000/codec@39` | +| `i2c2` | resources | `/soc/i2c@289018000` | +| `i2c2/audio-codec-output` | bus device | `/soc/i2c@289018000/codec@4b` | +| `i2c3` | resources | `/soc/i2c@28901c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@28901c000/codec@3b` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@28901c000/codec@3d` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@28901c000/codec@3c` | +| `i2c4` | resources | `/soc/i2c@289020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/soc/i2c@289028000` | +| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/soc/i2c@289030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `pwm0` | resources | `/soc/pwm@289040000` | +| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie1` | resources | `/soc/iommu@595000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | +| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `uart2` | resources | `/soc/serial@289208000` | +| `uart2/wlan-debug` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `acio-cpu0` | resources | `/soc/mailbox@701108000`; `/soc/cio@701ac0000` | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0` | resources | `/usb4-pcie-tunnel-0/pcie@730000000` | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000` | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `acio-cpu1` | resources | `/soc/mailbox@b01108000`; `/soc/cio@b01ac0000` | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000` | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `acio-cpu2` | resources | `/soc/mailbox@f01108000`; `/soc/cio@f01ac0000` | +| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2` | gap | **GAP:** no matching hardware resource node | +| `apciec2/pcic2-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec2` | resources | `/soc/iommu@f21008000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | +| `acio2` | resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000` | +| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | +| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | +| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | +| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | +| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | +| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mcc` | resources | `/soc/pmp_report@3503c0000`; `/soc/memory-controller@3503c0000`; `/soc/power-management@350780000`; `/soc/error-handler@29cc40000` | +| `aic` | resources | `/soc/interrupt-controller@351000000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@351000000` | +| `wdt` | partial resources | `/soc/watchdog@3642b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@350700000` | +| `dwi` | resources | `/soc/dwi@350200000` | +| `pwm` | resources | `/soc/pwm@289040000` | +| `aes` | resources | `/soc/crypto@28900c000` | +| `gpio0` | partial resources | `/soc/pinctrl@347100000`; **GAP:** 1 larger or unmatched resource window(s) | +| `aop-gpio` | resources | `/soc/pinctrl@374824000` | +| `nub-gpio` | resources | `/soc/pinctrl@3641f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@36c820000` | +| `aop` | partial resources | `/soc/aop@374c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@374818000`; `/soc/filter@37481c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/event-log@350700000`; `/soc/error-handler@29cc40000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@350780000`; `/soc/pmp_report@3503c0000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/phy@f03000000`; `/soc/video-encoder@2cd100000`; `/soc/isp@2c8000000`; `/soc/scaler@391000000`; `/soc/video-codec@30d000000`; **GAP:** 46 larger or unmatched resource window(s) | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nco` | resources | `/soc/clock-controller@350044000` | +| `event-log-handler` | resources | `/soc/event-log@350700000` | +| `pmp` | partial resources | `/soc/pmp@350500000`; `/soc/dcp@28ec00000`; **GAP:** 3 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp` | resources | `/soc/iommu@350300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@350300000`; stream/resource linkage needs review | +| `sep` | resources | `/soc/sep@29e400000` | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@29cac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | +| `sio` | partial resources | `/soc/dma-controller@289c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@289004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@38dcc0000`; **GAP:** 7 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@38dc50000`; `/soc/nvme@38dcc0000` | +| `smc` | partial resources | `/soc/smc@36c400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `rsm` | resources | `/soc/rsm@364325000` | +| `dart-rsm` | resources | `/soc/iommu@36433c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@36433c000`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@289200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `dockchannel-mtp` | partial resources | `/soc/fifo@37ab30000`; `/soc/fifo@37ab30000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@37a400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@37a808000`; `/soc/filter@37a80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@37a808000` / `/soc/filter@37a80c000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `spi1` | resources | `/soc/spi@289104000` | +| `spi1/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi1/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi1/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi1/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `admac-sio` | partial resources | `/soc/dma-controller@28b200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@374980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy2` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `atc-phy3` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/soc/spmi@364714000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-chapelL1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/spmi-spitfireE1` | 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@364794000` | +| `nub-spmi1/spmi-chapelF1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi1/spmi-spitfireE2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2` | resources | `/soc/spmi@364814000` | +| `nub-spmi-a0` | partial resources | `/soc/spmi@364908000`; **GAP:** 3 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 | +| `nub-spmi-a1` | partial resources | `/soc/spmi@364a08000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi0` | resources | `/soc/spmi@374894000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@3748d4000` | +| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@28d30c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | +| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | +| `dispext0` | partial resources | `/soc/dcp@2d2c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0` | partial resources | `/soc/dcp@2d2c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext0` | resources | `/soc/iommu@2d130c000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@2d130c000`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/soc/iommu@2d1300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@2d1300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@2d1300000`; stream/resource linkage needs review | +| `dp-audio1` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | +| `dispext1` | partial resources | `/soc/dcp@2d6c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | +| `dart-dispext1` | partial resources | `/soc/iommu@2d5300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | +| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1` | partial resources | `/soc/dcp@2d6c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext1` | resources | `/soc/iommu@2d530c000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@2d530c000`; stream/resource linkage needs review | +| `dp-audio2` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | +| `scaler0` | resources | `/soc/scaler@391000000` | +| `dart-scaler` | resources | `/soc/iommu@391200000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@391200000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@391200000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@299000000` | +| `dart-jpeg0` | resources | `/soc/iommu@299004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@299008000` | +| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@2cd100000` | +| `dart-ave` | resources | `/soc/iommu@2cd030000`; `/soc/iommu@2cd040000`; `/soc/iommu@2cd020000`; `/soc/filter@2cd044000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@2cd030000` / `/soc/iommu@2cd040000` / `/soc/iommu@2cd020000` / `/soc/filter@2cd044000`; stream/resource linkage needs review | +| `avd` | partial resources | `/soc/avd@30a000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd` | resources | `/soc/iommu@30b010000` | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@30d000000` | +| `dart-apr` | resources | `/soc/iommu@30d028000`; `/soc/iommu@30d02c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@30d028000` / `/soc/iommu@30d02c000`; stream/resource linkage needs review | +| `isp` | partial resources | `/soc/isp@2c8000000`; `/soc/video-encoder@2cd100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@2ca4a8000`; `/soc/iommu@2ca4b4000`; `/soc/iommu@2ca4bc000`; `/soc/iommu@2ca4b0000`; `/soc/iommu@2ca4b8000`; `/soc/filter@2ca4ac000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2ca4a8000` / `/soc/iommu@2ca4b4000` / `/soc/iommu@2ca4bc000` / `/soc/iommu@2ca4b0000` / `/soc/iommu@2ca4b8000` / `/soc/filter@2ca4ac000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@309804000`; `/soc/video-encoder@2cd100000`; `/soc/pmp_report@3503c0000`; `/soc/cpufreq@211e20000`; **GAP:** 8 larger or unmatched resource window(s) | +| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane` | partial resources | `/soc/filter@309804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@309804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | partial resources | `/soc/gpu@292400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/mca@28b400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/mca@28b400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/mca@28b400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/mca@28b400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j613.md b/docs/device-tree/DT-GAPS-j613.md new file mode 100644 index 0000000000000..a46f588fa15bc --- /dev/null +++ b/docs/device-tree/DT-GAPS-j613.md @@ -0,0 +1,341 @@ +# DT gaps: J613 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8122-j613.dts`. +The hardware resource inventory identifies the T8122 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 298 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 | 6 | +| firmware service | 81 | +| gap | 23 | +| partial resources | 33 | +| resources | 71 | +| shared hardware | 2 | +| stream | 82 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi2` | resources | `/soc/spi@2a1108000` | +| `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | +| `spi4` | resources | `/soc/spi@2a1110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c1` | resources | `/soc/i2c@2a1014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@2a1014000/codec@39` | +| `i2c3` | resources | `/soc/i2c@2a101c000` | +| `i2c3/audio-speaker-right-woofer` | bus device | `/soc/i2c@2a101c000/codec@3b` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@2a101c000/codec@3c` | +| `i2c3/audio-codec-output` | bus device | `/soc/i2c@2a101c000/codec@4b` | +| `i2c4` | resources | `/soc/i2c@2a1020000` | +| `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | +| `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | +| `fpwm1` | resources | `/soc/pwm@2a1044000` | +| `fpwm1/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | +| `aic` | resources | `/soc/interrupt-controller@2d1000000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | +| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | +| `dwi` | resources | `/soc/dwi@2d0200000` | +| `pwm` | resources | `/soc/pwm@2a1040000` | +| `aes` | resources | `/soc/crypto@2a100c000` | +| `gpio0` | resources | `/soc/pinctrl@2c7100000` | +| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | +| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | +| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nco` | resources | `/soc/clock-controller@2d0044000` | +| `event-log-handler` | resources | `/soc/event-log@2d0700000` | +| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp` | resources | `/soc/iommu@2d0300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@29cac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | +| `sio` | resources | `/soc/dma-controller@2a1c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@2a1004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | +| `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `rsm` | resources | `/soc/rsm@2e4325000` | +| `dart-rsm` | resources | `/soc/iommu@2e433c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@2fa400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@2fa808000`; `/soc/filter@2fa80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c2` | resources | `/soc/i2c@2a1018000` | +| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nub-spmi0` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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@2e4794000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@2e4908000`; **GAP:** 3 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 | +| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@2f48d4000` | +| `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 | +| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@28d30c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | +| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext` | resources | `/soc/iommu@31930c000` | +| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | +| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@31d000000` | +| `dart-scaler` | resources | `/soc/iommu@31d200000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@299000000` | +| `dart-jpeg0` | resources | `/soc/iommu@299004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@299008000` | +| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@315100000` | +| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | +| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd` | resources | `/soc/iommu@289010000` | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@321000000` | +| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | +| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | +| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@292400000` | +| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/i2s@2a3400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/i2s@2a3400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/i2s@2a3400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | diff --git a/docs/device-tree/DT-GAPS-j615.md b/docs/device-tree/DT-GAPS-j615.md new file mode 100644 index 0000000000000..a684cd0d93d27 --- /dev/null +++ b/docs/device-tree/DT-GAPS-j615.md @@ -0,0 +1,343 @@ +# DT gaps: J615 + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t8122-j615.dts`. +The hardware resource inventory identifies the T8122 peripheral die. + +Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This is a resource coverage audit, not a claim of complete board support. 300 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 | 8 | +| firmware service | 81 | +| gap | 23 | +| partial resources | 33 | +| resources | 71 | +| shared hardware | 2 | +| stream | 82 | + +## Remaining work + +- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. +- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. + +## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `spi2` | resources | `/soc/spi@2a1108000` | +| `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | +| `spi4` | resources | `/soc/spi@2a1110000` | +| `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c1` | resources | `/soc/i2c@2a1014000` | +| `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@2a1014000/codec@3a` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@2a1014000/codec@39` | +| `i2c3` | resources | `/soc/i2c@2a101c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@2a101c000/codec@3b` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@2a101c000/codec@3d` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@2a101c000/codec@3c` | +| `i2c3/audio-codec-output` | bus device | `/soc/i2c@2a101c000/codec@4b` | +| `i2c4` | resources | `/soc/i2c@2a1020000` | +| `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | +| `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | +| `fpwm1` | resources | `/soc/pwm@2a1044000` | +| `fpwm1/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | +| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apcie0` | resources | `/soc/iommu@594000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | +| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0` | gap | **GAP:** no matching hardware resource node | +| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec0` | resources | `/soc/iommu@721008000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | +| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | +| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | +| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | +| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | +| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | +| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1` | gap | **GAP:** no matching hardware resource node | +| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-apciec1` | resources | `/soc/iommu@b21008000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | +| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | +| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | +| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | +| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | +| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | +| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | +| `aic` | resources | `/soc/interrupt-controller@2d1000000` | +| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | +| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | +| `dwi` | resources | `/soc/dwi@2d0200000` | +| `pwm` | resources | `/soc/pwm@2a1040000` | +| `aes` | resources | `/soc/crypto@2a100c000` | +| `gpio0` | resources | `/soc/pinctrl@2c7100000` | +| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | +| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | +| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | +| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | +| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | +| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nco` | resources | `/soc/clock-controller@2d0044000` | +| `event-log-handler` | resources | `/soc/event-log@2d0700000` | +| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-pmp` | resources | `/soc/iommu@2d0300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sep` | resources | `/soc/iommu@29cac0000` | +| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | +| `sio` | resources | `/soc/dma-controller@2a1c00000` | +| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-sio` | resources | `/soc/iommu@2a1004000` | +| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | +| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | +| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | +| `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | +| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `rsm` | resources | `/soc/rsm@2e4325000` | +| `dart-rsm` | resources | `/soc/iommu@2e433c000` | +| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | +| `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | +| `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | +| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp` | partial resources | `/soc/mtp@2fa400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-mtp` | resources | `/soc/iommu@2fa808000`; `/soc/filter@2fa80c000` | +| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | +| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c2` | resources | `/soc/i2c@2a1018000` | +| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | +| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | +| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | +| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | +| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `nub-spmi0` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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@2e4794000` | +| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/soc/spmi@2e4908000`; **GAP:** 3 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 | +| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | +| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `aop-spmi1` | resources | `/soc/spmi@2f48d4000` | +| `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 | +| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcp` | resources | `/soc/iommu@28d30c000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | +| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | +| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-dcpext` | resources | `/soc/iommu@31930c000` | +| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | +| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | +| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `scaler0` | resources | `/soc/scaler@31d000000` | +| `dart-scaler` | resources | `/soc/iommu@31d200000` | +| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | +| `jpeg0` | resources | `/soc/jpeg@299000000` | +| `dart-jpeg0` | resources | `/soc/iommu@299004000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | +| `jpeg1` | resources | `/soc/jpeg@299008000` | +| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | +| `ave` | resources | `/soc/video-encoder@315100000` | +| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | +| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | +| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd` | resources | `/soc/iommu@289010000` | +| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | +| `apr` | resources | `/soc/video-codec@321000000` | +| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | +| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | +| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | +| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | +| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | +| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/soc/gpu@292400000` | +| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | +| `mca0` | resources | `/soc/i2s@2a3400000` | +| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1` | resources | `/soc/i2s@2a3400000` | +| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2` | resources | `/soc/i2s@2a3400000` | +| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `aft` | resources | `/soc/trace@220180000` | +| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `apple-processor-trace` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | From 5ff4ff12cedbbd9b2dbcfd88ed664523bf6ac464 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:47:36 +1100 Subject: [PATCH 04/12] arm64: dts: apple: use harvested M3 Max error resources Use the T6034 template resource and interrupt list rather than inheriting absent error sources from the full T6031 die. Refine board reports to map existing SPMI devices and to retain unresolved services and root records explicitly. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- arch/arm64/boot/dts/apple/t6034.dtsi | 258 +++++++++++++++++++++++++ docs/device-tree/DT-GAPS-j433.md | 210 +++++++++++--------- docs/device-tree/DT-GAPS-j434.md | 228 +++++++++++++--------- docs/device-tree/DT-GAPS-j504.md | 229 +++++++++++++--------- docs/device-tree/DT-GAPS-j514c.md | 279 ++++++++++++++++----------- docs/device-tree/DT-GAPS-j514m.md | 279 ++++++++++++++++----------- docs/device-tree/DT-GAPS-j514s.md | 255 ++++++++++++++---------- docs/device-tree/DT-GAPS-j516c.md | 279 ++++++++++++++++----------- docs/device-tree/DT-GAPS-j516m.md | 279 ++++++++++++++++----------- docs/device-tree/DT-GAPS-j516s.md | 255 ++++++++++++++---------- docs/device-tree/DT-GAPS-j613.md | 223 ++++++++++++--------- docs/device-tree/DT-GAPS-j615.md | 223 ++++++++++++--------- 12 files changed, 1864 insertions(+), 1133 deletions(-) diff --git a/arch/arm64/boot/dts/apple/t6034.dtsi b/arch/arm64/boot/dts/apple/t6034.dtsi index ceffae086a0bf..516c76f3a62b9 100644 --- a/arch/arm64/boot/dts/apple/t6034.dtsi +++ b/arch/arm64/boot/dts/apple/t6034.dtsi @@ -73,3 +73,261 @@ <0x2 0x28000000 0x0 0x2000000>, <0x2 0x2a000000 0x0 0x2000000>; }; + +/* Error sources for the harvested CPU and memory topology. */ +&error_handler { + reg = <0x3 0x88c40000 0 0x40000>, + <0x2 0x90000000 0 0x80000>, + <0x2 0x92800000 0 0x1e0000>, + <0x2 0xa02dc000 0 0x4000>, + <0x2 0x20000000 0 0x2000000>, + <0x2 0x22000000 0 0x2000000>, + <0x2 0x24000000 0 0x2000000>, + <0x2 0x26000000 0 0x2000000>, + <0x2 0x28000000 0 0x2000000>, + <0x2 0x2a000000 0 0x2000000>, + <0x2 0x80000000 0 0x4000>, + <0x3 0x00000000 0 0x4000>, + <0x3 0x40000000 0 0x4000>, + <0x3 0x80000000 0 0x4000>, + <0x2 0xc0000000 0 0x4000>, + <0x3 0xc0000000 0 0x4000>, + <0x4 0x00000000 0 0x4000>, + <0x4 0x40000000 0 0x4000>, + <0x2 0xa0000000 0 0x20000>, + <0x2 0x902c0000 0 0x18000>, + <0x2 0xa4800000 0 0x4000>, + <0x2 0x59c00000 0 0x40000>, + <0x2 0x5a000000 0 0x40000>, + <0x2 0x64400000 0 0x40000>, + <0x2 0x64000000 0 0x40000>, + <0x2 0x67000000 0 0x40000>, + <0x2 0x60400000 0 0x40000>, + <0x2 0x60800000 0 0x40000>, + <0x2 0x67400000 0 0x40000>, + <0x2 0x60c00000 0 0x40000>, + <0x2 0x61000000 0 0x40000>, + <0x2 0x61400000 0 0x40000>, + <0x2 0x4f800000 0 0x40000>, + <0x2 0x51800000 0 0x40000>, + <0x2 0x51c00000 0 0x40000>, + <0x2 0x4fc00000 0 0x40000>, + <0x2 0x52000000 0 0x40000>, + <0x4 0x0b180000 0 0x18000>, + <0x4 0x0b1a0000 0 0x18000>, + <0x4 0x0b380000 0 0x18000>, + <0x4 0x0b3a0000 0 0x18000>, + <0x4 0x0b000000 0 0x18000>, + <0x4 0x0b200000 0 0x18000>, + <0x4 0x0b080000 0 0x18000>, + <0x4 0x0b280000 0 0x18000>, + <0x4 0x0b600000 0 0x18000>, + <0x4 0x0b400000 0 0x18000>, + <0x4 0x0b680000 0 0x18000>, + <0x4 0x0b480000 0 0x18000>, + <0x4 0x0b040000 0 0x18000>, + <0x4 0x0b240000 0 0x18000>, + <0x4 0x0b0c0000 0 0x18000>, + <0x4 0x0b2c0000 0 0x18000>, + <0x4 0x0b640000 0 0x18000>, + <0x4 0x0b440000 0 0x18000>, + <0x4 0x0b6c0000 0 0x18000>, + <0x4 0x0b4c0000 0 0x18000>, + <0x2 0x59400000 0 0x40000>, + <0x2 0x5fc00000 0 0x40000>, + <0x2 0x63800000 0 0x40000>, + <0x2 0x66800000 0 0x40000>, + <0x2 0x59800000 0 0x40000>, + <0x2 0x60000000 0 0x40000>, + <0x2 0x4f400000 0 0x40000>, + <0x2 0x51400000 0 0x40000>, + <0x2 0x53c00000 0 0x40000>, + <0x2 0x56000000 0 0x40000>, + <0x2 0x54000000 0 0x40000>, + <0x2 0x56400000 0 0x40000>, + <0x2 0x53432000 0 0x1000>, + <0x2 0x4f032000 0 0x1000>, + <0x2 0x51032000 0 0x1000>, + <0x2 0x55032000 0 0x1000>, + <0x2 0x53032000 0 0x1000>, + <0x2 0x55432000 0 0x1000>, + <0x2 0x5e832000 0 0x1000>, + <0x2 0x62832000 0 0x1000>, + <0x2 0x65832000 0 0x1000>, + <0x2 0x58432000 0 0x1000>, + <0x2 0x5ec32000 0 0x1000>, + <0x2 0x62c32000 0 0x1000>, + <0x2 0x58032000 0 0x1000>, + <0x2 0x63032000 0 0x1000>, + <0x2 0x65c32000 0 0x1000>, + <0x2 0x58832000 0 0x1000>, + <0x2 0x58c32000 0 0x1000>, + <0x2 0x63432000 0 0x1000>, + <0x2 0x5f032000 0 0x1000>, + <0x2 0x66032000 0 0x1000>, + <0x2 0x5f432000 0 0x1000>, + <0x2 0x66432000 0 0x1000>, + <0x4 0x0b114000 0 0x1f000>, + <0x4 0x0b314000 0 0x1f000>, + <0x4 0x0b134000 0 0x1f000>, + <0x4 0x0b334000 0 0x1f000>, + <0x4 0x0b714000 0 0x1f000>, + <0x4 0x0b514000 0 0x1f000>, + <0x4 0x0b734000 0 0x1f000>, + <0x4 0x0b534000 0 0x1f000>, + <0x4 0x0b030000 0 0x4000>, + <0x4 0x0b230000 0 0x4000>, + <0x4 0x0b030000 0 0x4000>, + <0x4 0x0b230000 0 0x4000>, + <0x4 0x0b630000 0 0x4000>, + <0x4 0x0b430000 0 0x4000>, + <0x4 0x0b030000 0 0x4000>, + <0x4 0x0b230000 0 0x4000>, + <0x4 0x0b030000 0 0x4000>, + <0x4 0x0b230000 0 0x4000>, + <0x4 0x0b630000 0 0x4000>, + <0x4 0x0b430000 0 0x4000>, + <0x4 0x0b1e0000 0 0x4000>, + <0x4 0x0b3e0000 0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; +}; diff --git a/docs/device-tree/DT-GAPS-j433.md b/docs/device-tree/DT-GAPS-j433.md index f84b3dba139d5..2c00c12a30877 100644 --- a/docs/device-tree/DT-GAPS-j433.md +++ b/docs/device-tree/DT-GAPS-j433.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 289 ar | Record classification | Count | | --- | ---: | -| bus device | 1 | -| firmware service | 78 | -| gap | 25 | +| bus device | 3 | +| gap | 23 | | partial resources | 30 | | resources | 70 | -| shared hardware | 2 | +| service review | 76 | +| shared hardware | 4 | | stream | 83 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,18 +38,18 @@ This is a resource coverage audit, not a claim of complete board support. 289 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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@2a1110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1014000` | | `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | | `i2c1/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | @@ -56,32 +57,32 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `i2c3` | resources | `/soc/i2c@2a101c000` | | `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 | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `lan0-placeholder` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `lan0-placeholder` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | | `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1/lan0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge1/lan0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -116,9 +117,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | | `atc0-dpin1` | resources | `/soc/displayport@701e58000` | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -152,7 +153,7 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | | `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | | `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | | `aic` | resources | `/soc/interrupt-controller@2d1000000` | | `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | @@ -166,67 +167,67 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | | `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | | `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | | `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `nco` | resources | `/soc/clock-controller@2d0044000` | | `event-log-handler` | resources | `/soc/event-log@2d0700000` | | `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp` | resources | `/soc/iommu@2d0300000` | | `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | | `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@29cac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | | `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | | `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `rsm` | resources | `/soc/rsm@2e4325000` | | `dart-rsm` | resources | `/soc/iommu@2e433c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | | `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `qspi` | resources | `/soc/spi@2a1118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `i2c0` | resources | `/soc/i2c@2a1010000` | | `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | -| `i2c0/hpmBusManager/hpm0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `i2c0/hpmBusManager/hpm1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0/hpmBusManager/hpm1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | | `i2c2` | resources | `/soc/i2c@2a1018000` | | `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | @@ -237,18 +238,18 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | | `nub-spmi1` | resources | `/soc/spmi@2e4794000` | | `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `aop-spmi0` | resources | `/soc/spmi@2f4894000` | @@ -260,26 +261,26 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@28d30c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | | `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext` | resources | `/soc/iommu@31930c000` | | `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | | `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@31d000000` | | `dart-scaler` | resources | `/soc/iommu@31d200000` | | `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | @@ -305,28 +306,63 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | | `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | | `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@292400000` | -| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | | `aft` | resources | `/soc/trace@220180000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `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. | +| `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/device-tree/DT-GAPS-j434.md b/docs/device-tree/DT-GAPS-j434.md index e868ff1a42a73..4d92304dc7e29 100644 --- a/docs/device-tree/DT-GAPS-j434.md +++ b/docs/device-tree/DT-GAPS-j434.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 301 ar | Record classification | Count | | --- | ---: | -| bus device | 1 | -| firmware service | 86 | -| gap | 26 | +| bus device | 3 | +| gap | 24 | | partial resources | 30 | | resources | 71 | -| shared hardware | 2 | +| service review | 84 | +| shared hardware | 4 | | stream | 85 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,18 +38,18 @@ This is a resource coverage audit, not a claim of complete board support. 301 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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@2a1110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1014000` | | `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | | `i2c1/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | @@ -56,42 +57,42 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `i2c3` | resources | `/soc/i2c@2a101c000` | | `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 | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `lan0-placeholder` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `lan0-placeholder` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dart-apcie2` | resources | `/soc/iommu@596000000` | | `dart-apcie2/mapper-apcie2` | stream | Stream of `/soc/iommu@596000000`; stream/resource linkage needs review | | `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `/soc/iommu@596000000`; stream/resource linkage needs review | | `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | | `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1/lan0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge2/pcie-xhci` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-hs-port3` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-hs-port4` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-ss-port1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-ss-port2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge1/lan0` | 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-xhci` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-hs-port3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-hs-port4` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-ss-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-ss-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -126,9 +127,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | | `atc0-dpin1` | resources | `/soc/displayport@701e58000` | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -162,7 +163,7 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | | `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | | `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | | `aic` | resources | `/soc/interrupt-controller@2d1000000` | | `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | @@ -176,69 +177,69 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | | `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | | `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | | `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `nco` | resources | `/soc/clock-controller@2d0044000` | | `event-log-handler` | resources | `/soc/event-log@2d0700000` | | `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp` | resources | `/soc/iommu@2d0300000` | | `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | | `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@29cac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | | `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | | `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `rsm` | resources | `/soc/rsm@2e4325000` | | `dart-rsm` | resources | `/soc/iommu@2e433c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | | `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `qspi` | resources | `/soc/spi@2a1118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `i2c0` | resources | `/soc/i2c@2a1010000` | | `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | -| `i2c0/hpmBusManager/hpm0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `i2c0/hpmBusManager/hpm1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `i2c0/hpmBusManager/hpm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `i2c0/hpmBusManager/hpm3` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0/hpmBusManager/hpm1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0/hpmBusManager/hpm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0/hpmBusManager/hpm3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | | `i2c2` | resources | `/soc/i2c@2a1018000` | | `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | @@ -249,18 +250,18 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | | `nub-spmi1` | resources | `/soc/spmi@2e4794000` | | `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `aop-spmi0` | resources | `/soc/spmi@2f4894000` | @@ -272,26 +273,26 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@28d30c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | | `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext` | resources | `/soc/iommu@31930c000` | | `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | | `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@31d000000` | | `dart-scaler` | resources | `/soc/iommu@31d200000` | | `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | @@ -317,28 +318,65 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | | `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | | `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@292400000` | -| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | | `aft` | resources | `/soc/trace@220180000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `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. | +| `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/device-tree/DT-GAPS-j504.md b/docs/device-tree/DT-GAPS-j504.md index d9efbc177ab9d..ee6d50b7a7bb1 100644 --- a/docs/device-tree/DT-GAPS-j504.md +++ b/docs/device-tree/DT-GAPS-j504.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 312 ar | Record classification | Count | | --- | ---: | -| bus device | 8 | -| firmware service | 86 | -| gap | 25 | +| bus device | 10 | +| gap | 23 | | partial resources | 32 | | resources | 75 | -| shared hardware | 2 | +| service review | 84 | +| shared hardware | 4 | | stream | 84 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,7 +38,7 @@ This is a resource coverage audit, not a claim of complete board support. 312 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | @@ -45,12 +46,12 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | | `spi4` | resources | `/soc/spi@2a1110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1014000` | | `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | | `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@2a1014000/codec@39` | @@ -65,32 +66,32 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | | `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | | `fpwm1` | resources | `/soc/pwm@2a1044000` | -| `fpwm1/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | | `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -125,9 +126,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | | `atc0-dpin1` | resources | `/soc/displayport@701e58000` | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -161,7 +162,7 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | | `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | | `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | | `aic` | resources | `/soc/interrupt-controller@2d1000000` | | `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | @@ -175,80 +176,80 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | | `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | | `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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 | | `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `nco` | resources | `/soc/clock-controller@2d0044000` | | `event-log-handler` | resources | `/soc/event-log@2d0700000` | | `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp` | resources | `/soc/iommu@2d0300000` | | `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | | `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@29cac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | | `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | | `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `rsm` | resources | `/soc/rsm@2e4325000` | | `dart-rsm` | resources | `/soc/iommu@2e433c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | | `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2fa400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@2fa808000`; `/soc/filter@2fa80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `i2c0` | resources | `/soc/i2c@2a1010000` | | `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | -| `i2c0/hpmBusManager/hpm0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `i2c0/hpmBusManager/hpm1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `i2c0/hpmBusManager/hpm5` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `i2c0/hpmBusManager/hpm0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0/hpmBusManager/hpm1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c0/hpmBusManager/hpm5` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `i2c2` | resources | `/soc/i2c@2a1018000` | | `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | | `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | @@ -260,18 +261,18 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | | `nub-spmi1` | resources | `/soc/spmi@2e4794000` | | `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `aop-spmi0` | resources | `/soc/spmi@2f4894000` | @@ -283,26 +284,26 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@28d30c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | | `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext` | resources | `/soc/iommu@31930c000` | | `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | | `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@31d000000` | | `dart-scaler` | resources | `/soc/iommu@31d200000` | | `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | @@ -328,28 +329,66 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | | `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | | `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@292400000` | -| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | | `aft` | resources | `/soc/trace@220180000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `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. | +| `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-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/device-tree/DT-GAPS-j514c.md b/docs/device-tree/DT-GAPS-j514c.md index a14b8a78e23e0..a01bfcfb788a3 100644 --- a/docs/device-tree/DT-GAPS-j514c.md +++ b/docs/device-tree/DT-GAPS-j514c.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 421 ar | Record classification | Count | | --- | ---: | -| bus device | 7 | -| firmware service | 102 | -| gap | 41 | +| bus device | 13 | +| gap | 35 | | partial resources | 43 | | resources | 100 | -| shared hardware | 4 | +| service review | 100 | +| shared hardware | 6 | | stream | 124 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,19 +38,19 @@ This is a resource coverage audit, not a claim of complete board support. 421 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | | `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2ac400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@2ac808000`; `/soc/filter@2ac80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | | `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | @@ -75,43 +76,43 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | | `spi4` | resources | `/soc/spi@391110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | | `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | | `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | | `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | | `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | | `pwm0` | resources | `/soc/pwm@391040000` | -| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | -| `apcie0/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -142,9 +143,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -175,9 +176,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-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` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec2` | resources | `/soc/iommu@f21008000` | | `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | | `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | @@ -208,10 +209,10 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `atc0-dpxbar` | resources | `/soc/mux@70304c000` | | `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | @@ -238,94 +239,94 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | | `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | | `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | | `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/clpc` | 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` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | | `nco` | resources | `/soc/clock-controller@29003c000` | | `sio` | resources | `/soc/dma-controller@391c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@391004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/dcp@386c00000`; **GAP:** 10 larger or unmatched resource window(s) | -| `pmp0/iop-pmp0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp0/iop-pmp0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp0` | resources | `/soc/iommu@290300000` | | `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | | `dart-pmp0/mapper-pmp-ptd-fwd` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | | `sep` | resources | `/soc/sep@38a400000` | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@388ac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `ans/ans-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `ans/ans-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | | `smc` | partial resources | `/soc/smc@2a4400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | -| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `rsm` | resources | `/soc/rsm@2a0325000` | | `dart-rsm` | resources | `/soc/iommu@2a033c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | | `uart0` | resources | `/soc/serial@391200000` | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `qspi` | resources | `/soc/spi@391118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | | `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | | `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | | `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | | `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | 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-spmi0/spmi-chapelL1-b` | bus device | `/soc/spmi@2a1014000/pmic@b` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2a1014000/pmic@b` | | `nub-spmi1` | resources | `/soc/spmi@2a1054000` | | `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | @@ -338,11 +339,11 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-spmi4` | resources | `/soc/spmi@2a1114000` | | `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 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 | +| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2a1188000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2a1188000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2a1188000/usb-pd@6` | | `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@2a1198000/usb-pd@8` | | `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | | `aop-spmi0` | resources | `/soc/spmi@2a8894000` | | `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | @@ -357,13 +358,13 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-disp0` | resources | `/soc/iommu@385304000`; `/soc/iommu@385300000` | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@386c00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@38530c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@38530c000`; stream/resource linkage needs review | | `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@407000000` | | `dart-scaler0` | resources | `/soc/iommu@407200000` | | `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | @@ -396,69 +397,117 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | | `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | | `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ane0/iop-ane0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane0/iop-ane0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@40a400000` | -| `gfx-asc/iop-gfx-nub0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `gfx-asc/iop-gfx-nub0` | 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 | | `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/mca@393400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/mca@393400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/mca@393400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | -| `nub-swd0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `pwm1` | resources | `/soc/pwm@391040000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext0` | partial resources | `/soc/dcp@306c00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext0` | resources | `/soc/iommu@30530c000` | | `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext1` | partial resources | `/soc/dcp@44ac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | | `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | | `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext1` | resources | `/soc/iommu@44930c000` | | `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | -| `dp-audio2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | | `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | | `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dcpext2-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext2-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext2/iop-dcpext2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | | `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | -| `dp-audio3` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | | `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | | `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dcpext3-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext3-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext3/iop-dcpext3-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | | `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | -| `dp-audio4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `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. | +| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu11` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu12` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu13` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu14` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu15` | `/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-hdmi0` | **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. | +| `backlight/twodbl` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `pcie-sdreader-helper` | **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/device-tree/DT-GAPS-j514m.md b/docs/device-tree/DT-GAPS-j514m.md index 3e9afe23eadb4..ad391d1bf95c6 100644 --- a/docs/device-tree/DT-GAPS-j514m.md +++ b/docs/device-tree/DT-GAPS-j514m.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 420 ar | Record classification | Count | | --- | ---: | -| bus device | 7 | -| firmware service | 102 | -| gap | 43 | +| bus device | 13 | +| gap | 37 | | partial resources | 43 | | resources | 98 | -| shared hardware | 4 | +| service review | 100 | +| shared hardware | 6 | | stream | 123 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,19 +38,19 @@ This is a resource coverage audit, not a claim of complete board support. 420 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | | `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2ac400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@2ac808000`; `/soc/filter@2ac80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | | `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | @@ -75,43 +76,43 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | | `spi4` | resources | `/soc/spi@391110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | | `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | | `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | | `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | | `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | | `pwm0` | resources | `/soc/pwm@391040000` | -| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | -| `apcie0/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -142,9 +143,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -175,9 +176,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-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` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec2` | resources | `/soc/iommu@f21008000` | | `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | | `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | @@ -208,10 +209,10 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `atc0-dpxbar` | resources | `/soc/mux@70304c000` | | `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | @@ -238,93 +239,93 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | | `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | | `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | | `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/clpc` | 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` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | | `nco` | resources | `/soc/clock-controller@29003c000` | | `sio` | resources | `/soc/dma-controller@391c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@391004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/power-management@2903d0000`; **GAP:** 10 larger or unmatched resource window(s) | -| `pmp0/iop-pmp0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp0/iop-pmp0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp0` | resources | `/soc/iommu@290300000` | | `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | | `sep` | resources | `/soc/sep@38a400000` | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@388ac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `ans/ans-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `ans/ans-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | | `smc` | partial resources | `/soc/smc@2a4400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | -| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `rsm` | resources | `/soc/rsm@2a0325000` | | `dart-rsm` | resources | `/soc/iommu@2a033c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | | `uart0` | resources | `/soc/serial@391200000` | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `qspi` | resources | `/soc/spi@391118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | | `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | | `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | | `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | | `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | 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-spmi0/spmi-chapelL1-b` | bus device | `/soc/spmi@2a1014000/pmic@b` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2a1014000/pmic@b` | | `nub-spmi1` | resources | `/soc/spmi@2a1054000` | | `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | @@ -337,11 +338,11 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-spmi4` | resources | `/soc/spmi@2a1114000` | | `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 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 | +| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2a1188000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2a1188000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2a1188000/usb-pd@6` | | `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@2a1198000/usb-pd@8` | | `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | | `aop-spmi0` | resources | `/soc/spmi@2a8894000` | | `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | @@ -356,13 +357,13 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-disp0` | partial resources | `/soc/iommu@385300000`; **GAP:** 1 larger or unmatched resource window(s) | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | gap | **GAP:** no matching hardware resource node | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@407000000` | | `dart-scaler0` | resources | `/soc/iommu@407200000` | | `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | @@ -395,69 +396,117 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | | `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | | `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ane0/iop-ane0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane0/iop-ane0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@40a400000` | -| `gfx-asc/iop-gfx-nub0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `gfx-asc/iop-gfx-nub0` | 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 | | `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/mca@393400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/mca@393400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/mca@393400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | -| `nub-swd0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `pwm1` | resources | `/soc/pwm@391040000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext0` | partial resources | `/soc/dcp@306c00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext0` | resources | `/soc/iommu@30530c000` | | `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext1` | partial resources | `/soc/dcp@44ac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | | `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | | `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext1` | resources | `/soc/iommu@44930c000` | | `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | -| `dp-audio2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | | `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | | `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dcpext2-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext2-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext2/iop-dcpext2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | | `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | -| `dp-audio3` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | | `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | | `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dcpext3-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext3-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext3/iop-dcpext3-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | | `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | -| `dp-audio4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `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. | +| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu11` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu12` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu13` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu14` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu15` | `/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-hdmi0` | **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. | +| `backlight/twodbl` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `pcie-sdreader-helper` | **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/device-tree/DT-GAPS-j514s.md b/docs/device-tree/DT-GAPS-j514s.md index 16b3eb154de4c..520dfe7734653 100644 --- a/docs/device-tree/DT-GAPS-j514s.md +++ b/docs/device-tree/DT-GAPS-j514s.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 380 ar | Record classification | Count | | --- | ---: | -| bus device | 7 | -| firmware service | 92 | -| gap | 33 | +| bus device | 14 | +| gap | 26 | | partial resources | 39 | | resources | 89 | -| shared hardware | 7 | +| service review | 90 | +| shared hardware | 9 | | stream | 113 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,7 +38,7 @@ This is a resource coverage audit, not a claim of complete board support. 380 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | @@ -45,12 +46,12 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | | `spi4` | resources | `/soc/spi@289110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@289014000` | | `i2c1/audio-speaker` | bus device | `/soc/i2c@289014000/codec@38` | | `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@289014000/codec@3a` | @@ -70,35 +71,35 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `i2c8` | resources | `/soc/i2c@289030000` | | `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | | `pwm0` | resources | `/soc/pwm@289040000` | -| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | | `uart2` | resources | `/soc/serial@289208000` | -| `uart2/wlan-debug` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `uart2/wlan-debug` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | | `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | | `acio-cpu0` | resources | `/soc/mailbox@701108000`; `/soc/cio@701ac0000` | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@730000000` | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -133,9 +134,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | | `atc0-dpin1` | resources | `/soc/displayport@701e58000` | | `acio-cpu1` | resources | `/soc/mailbox@b01108000`; `/soc/cio@b01ac0000` | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -170,9 +171,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | | `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | | `acio-cpu2` | resources | `/soc/mailbox@f01108000`; `/soc/cio@f01ac0000` | -| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec2` | resources | `/soc/iommu@f21008000` | | `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | | `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | @@ -208,7 +209,7 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | | `atc3-dpxbar` | resources | `/soc/mux@130304c000` | | `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `mcc` | resources | `/soc/pmp_report@3503c0000`; `/soc/memory-controller@3503c0000`; `/soc/power-management@350780000`; `/soc/error-handler@29cc40000` | | `aic` | resources | `/soc/interrupt-controller@351000000` | | `aic-timebase` | resources | `/soc/interrupt-controller@351000000` | @@ -222,78 +223,78 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio` | resources | `/soc/pinctrl@3641f0000` | | `smc-gpio` | resources | `/soc/pinctrl@36c820000` | | `aop` | partial resources | `/soc/aop@374c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | | `dart-aop` | resources | `/soc/iommu@374818000`; `/soc/filter@37481c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/event-log@350700000`; `/soc/error-handler@29cc40000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@350780000`; `/soc/pmp_report@3503c0000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/phy@f03000000`; `/soc/video-encoder@2cd100000`; `/soc/isp@2c8000000`; `/soc/scaler@391000000`; `/soc/video-codec@30d000000`; **GAP:** 46 larger or unmatched resource window(s) | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `nco` | resources | `/soc/clock-controller@350044000` | | `event-log-handler` | resources | `/soc/event-log@350700000` | | `pmp` | partial resources | `/soc/pmp@350500000`; `/soc/dcp@28ec00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp` | resources | `/soc/iommu@350300000` | | `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@350300000`; stream/resource linkage needs review | | `sep` | resources | `/soc/sep@29e400000` | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@29cac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | | `sio` | partial resources | `/soc/dma-controller@289c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@289004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@38dcc0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@38dc50000`; `/soc/nvme@38dcc0000` | | `smc` | partial resources | `/soc/smc@36c400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `rsm` | resources | `/soc/rsm@364325000` | | `dart-rsm` | resources | `/soc/iommu@36433c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@36433c000`; stream/resource linkage needs review | | `uart0` | partial resources | `/soc/serial@289200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `dockchannel-mtp` | partial resources | `/soc/fifo@37ab30000`; `/soc/fifo@37ab30000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@37a400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@37a808000`; `/soc/filter@37a80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@37a808000` / `/soc/filter@37a80c000`; stream/resource linkage needs review | | `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `spi1` | resources | `/soc/spi@289104000` | -| `spi1/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi1/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi1/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi1/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi1/spinor` | bus device | `/soc/spi@289104000/flash@0` | +| `spi1/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi1/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi1/spinor/syscfg` | 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 | | `admac-sio` | partial resources | `/soc/dma-controller@28b200000`; **GAP:** 1 larger or unmatched resource window(s) | | `admac-aop-audio` | partial resources | `/soc/dma-controller@374980000`; **GAP:** 1 larger or unmatched resource window(s) | @@ -301,36 +302,36 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | | `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | | `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | | `nub-spmi0` | partial resources | `/soc/spmi@364714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/spmi-chapelL1` | bus device | `/soc/spmi@364714000/pmic@b` | | `nub-spmi0/spmi-spitfireE1` | 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-spmi0/btm` | bus device | `/soc/spmi@364714000/pmic@b` | | `nub-spmi1` | resources | `/soc/spmi@364794000` | | `nub-spmi1/spmi-chapelF1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi1/spmi-spitfireE2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi2` | resources | `/soc/spmi@364814000` | | `nub-spmi-a0` | partial resources | `/soc/spmi@364908000`; **GAP:** 3 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 | +| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@364908000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@364908000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@364908000/usb-pd@6` | | `nub-spmi-a1` | partial resources | `/soc/spmi@364a08000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@364a08000/usb-pd@8` | | `aop-spmi0` | resources | `/soc/spmi@374894000` | | `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `aop-spmi1` | resources | `/soc/spmi@3748d4000` | @@ -342,9 +343,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@28d30c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | | `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | @@ -353,9 +354,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `dp-audio0` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | | `dispext0` | partial resources | `/soc/dcp@2d2c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext0` | partial resources | `/soc/dcp@2d2c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext0` | resources | `/soc/iommu@2d130c000` | | `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@2d130c000`; stream/resource linkage needs review | | `dart-dispext0` | partial resources | `/soc/iommu@2d1300000`; **GAP:** 1 larger or unmatched resource window(s) | @@ -366,9 +367,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-dispext1` | partial resources | `/soc/iommu@2d5300000`; **GAP:** 1 larger or unmatched resource window(s) | | `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | | `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | -| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext1` | partial resources | `/soc/dcp@2d6c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext1` | resources | `/soc/iommu@2d530c000` | | `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@2d530c000`; stream/resource linkage needs review | | `dp-audio2` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | @@ -397,27 +398,71 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-isp` | resources | `/soc/iommu@2ca4a8000`; `/soc/iommu@2ca4b4000`; `/soc/iommu@2ca4bc000`; `/soc/iommu@2ca4b0000`; `/soc/iommu@2ca4b8000`; `/soc/filter@2ca4ac000` | | `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2ca4a8000` / `/soc/iommu@2ca4b4000` / `/soc/iommu@2ca4bc000` / `/soc/iommu@2ca4b0000` / `/soc/iommu@2ca4b8000` / `/soc/filter@2ca4ac000`; stream/resource linkage needs review | | `ane` | partial resources | `/soc/filter@309804000`; `/soc/video-encoder@2cd100000`; `/soc/pmp_report@3503c0000`; `/soc/cpufreq@211e20000`; **GAP:** 8 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane` | partial resources | `/soc/filter@309804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@309804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | partial resources | `/soc/gpu@292400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `mca-switch` | partial resources | `/soc/mca@28b400000`; **GAP:** 1 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/mca@28b400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/mca@28b400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/mca@28b400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `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. | +| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu11` | `/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-3` | **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. | +| `backlight/twodbl` | **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/device-tree/DT-GAPS-j516c.md b/docs/device-tree/DT-GAPS-j516c.md index a57cade1df7a3..3617fb71e0fa1 100644 --- a/docs/device-tree/DT-GAPS-j516c.md +++ b/docs/device-tree/DT-GAPS-j516c.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 421 ar | Record classification | Count | | --- | ---: | -| bus device | 7 | -| firmware service | 102 | -| gap | 41 | +| bus device | 13 | +| gap | 35 | | partial resources | 43 | | resources | 100 | -| shared hardware | 4 | +| service review | 100 | +| shared hardware | 6 | | stream | 124 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,19 +38,19 @@ This is a resource coverage audit, not a claim of complete board support. 421 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | | `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2ac400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@2ac808000`; `/soc/filter@2ac80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | | `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | @@ -75,43 +76,43 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | | `spi4` | resources | `/soc/spi@391110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | | `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | | `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | | `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | | `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | | `pwm0` | resources | `/soc/pwm@391040000` | -| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | -| `apcie0/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -142,9 +143,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -175,9 +176,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-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` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec2` | resources | `/soc/iommu@f21008000` | | `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | | `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | @@ -208,10 +209,10 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `atc0-dpxbar` | resources | `/soc/mux@70304c000` | | `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | @@ -238,94 +239,94 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | | `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | | `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | | `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/clpc` | 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` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | | `nco` | resources | `/soc/clock-controller@29003c000` | | `sio` | resources | `/soc/dma-controller@391c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@391004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/dcp@386c00000`; **GAP:** 10 larger or unmatched resource window(s) | -| `pmp0/iop-pmp0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp0/iop-pmp0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp0` | resources | `/soc/iommu@290300000` | | `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | | `dart-pmp0/mapper-pmp-ptd-fwd` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | | `sep` | resources | `/soc/sep@38a400000` | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@388ac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `ans/ans-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `ans/ans-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | | `smc` | partial resources | `/soc/smc@2a4400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | -| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `rsm` | resources | `/soc/rsm@2a0325000` | | `dart-rsm` | resources | `/soc/iommu@2a033c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | | `uart0` | resources | `/soc/serial@391200000` | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `qspi` | resources | `/soc/spi@391118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | | `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | | `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | | `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | | `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | 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-spmi0/spmi-chapelL1-b` | bus device | `/soc/spmi@2a1014000/pmic@b` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2a1014000/pmic@b` | | `nub-spmi1` | resources | `/soc/spmi@2a1054000` | | `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | @@ -338,11 +339,11 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-spmi4` | resources | `/soc/spmi@2a1114000` | | `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 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 | +| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2a1188000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2a1188000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2a1188000/usb-pd@6` | | `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@2a1198000/usb-pd@8` | | `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | | `aop-spmi0` | resources | `/soc/spmi@2a8894000` | | `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | @@ -357,13 +358,13 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-disp0` | resources | `/soc/iommu@385304000`; `/soc/iommu@385300000` | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@386c00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@38530c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@38530c000`; stream/resource linkage needs review | | `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@407000000` | | `dart-scaler0` | resources | `/soc/iommu@407200000` | | `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | @@ -396,69 +397,117 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | | `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | | `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ane0/iop-ane0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane0/iop-ane0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@40a400000` | -| `gfx-asc/iop-gfx-nub0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `gfx-asc/iop-gfx-nub0` | 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 | | `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/mca@393400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/mca@393400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/mca@393400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | -| `nub-swd0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `pwm1` | resources | `/soc/pwm@391040000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext0` | partial resources | `/soc/dcp@306c00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext0` | resources | `/soc/iommu@30530c000` | | `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext1` | partial resources | `/soc/dcp@44ac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | | `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | | `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext1` | resources | `/soc/iommu@44930c000` | | `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | -| `dp-audio2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | | `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | | `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dcpext2-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext2-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext2/iop-dcpext2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | | `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | -| `dp-audio3` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | | `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | | `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dcpext3-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext3-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext3/iop-dcpext3-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | | `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | -| `dp-audio4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `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. | +| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu11` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu12` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu13` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu14` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu15` | `/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-hdmi0` | **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. | +| `backlight/twodbl` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `pcie-sdreader-helper` | **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/device-tree/DT-GAPS-j516m.md b/docs/device-tree/DT-GAPS-j516m.md index 6937d219540e1..e8ee7fee1b240 100644 --- a/docs/device-tree/DT-GAPS-j516m.md +++ b/docs/device-tree/DT-GAPS-j516m.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 420 ar | Record classification | Count | | --- | ---: | -| bus device | 7 | -| firmware service | 102 | -| gap | 43 | +| bus device | 13 | +| gap | 37 | | partial resources | 43 | | resources | 98 | -| shared hardware | 4 | +| service review | 100 | +| shared hardware | 6 | | stream | 123 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,19 +38,19 @@ This is a resource coverage audit, not a claim of complete board support. 420 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | | `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2ac400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@2ac808000`; `/soc/filter@2ac80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | | `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | @@ -75,43 +76,43 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | | `spi4` | resources | `/soc/spi@391110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | | `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | | `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | | `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | | `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | | `pwm0` | resources | `/soc/pwm@391040000` | -| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | -| `apcie0/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie0/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apcie0/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -142,9 +143,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -175,9 +176,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-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` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec2` | resources | `/soc/iommu@f21008000` | | `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | | `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | @@ -208,10 +209,10 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | | `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | | `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `atc0-dpxbar` | resources | `/soc/mux@70304c000` | | `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | @@ -238,93 +239,93 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | | `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | | `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | | `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgr/clpc` | 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` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | | `nco` | resources | `/soc/clock-controller@29003c000` | | `sio` | resources | `/soc/dma-controller@391c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@391004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | | `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/power-management@2903d0000`; **GAP:** 10 larger or unmatched resource window(s) | -| `pmp0/iop-pmp0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp0/iop-pmp0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp0` | resources | `/soc/iommu@290300000` | | `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | | `sep` | resources | `/soc/sep@38a400000` | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@388ac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `ans/ans-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `ans/ans-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | | `smc` | partial resources | `/soc/smc@2a4400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | -| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `rsm` | resources | `/soc/rsm@2a0325000` | | `dart-rsm` | resources | `/soc/iommu@2a033c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | | `uart0` | resources | `/soc/serial@391200000` | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `qspi` | resources | `/soc/spi@391118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | | `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | | `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | | `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | | `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | 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-spmi0/spmi-chapelL1-b` | bus device | `/soc/spmi@2a1014000/pmic@b` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2a1014000/pmic@b` | | `nub-spmi1` | resources | `/soc/spmi@2a1054000` | | `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | @@ -337,11 +338,11 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-spmi4` | resources | `/soc/spmi@2a1114000` | | `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 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 | +| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2a1188000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2a1188000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2a1188000/usb-pd@6` | | `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@2a1198000/usb-pd@8` | | `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | | `aop-spmi0` | resources | `/soc/spmi@2a8894000` | | `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | @@ -356,13 +357,13 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-disp0` | partial resources | `/soc/iommu@385300000`; **GAP:** 1 larger or unmatched resource window(s) | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | gap | **GAP:** no matching hardware resource node | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@407000000` | | `dart-scaler0` | resources | `/soc/iommu@407200000` | | `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | @@ -395,69 +396,117 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | | `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | | `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ane0/iop-ane0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane0/iop-ane0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@40a400000` | -| `gfx-asc/iop-gfx-nub0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `gfx-asc/iop-gfx-nub0` | 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 | | `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/mca@393400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/mca@393400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/mca@393400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | -| `nub-swd0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `pwm1` | resources | `/soc/pwm@391040000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext0` | partial resources | `/soc/dcp@306c00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext0` | resources | `/soc/iommu@30530c000` | | `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext1` | partial resources | `/soc/dcp@44ac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | | `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | | `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext1` | resources | `/soc/iommu@44930c000` | | `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | -| `dp-audio2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | | `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | | `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dcpext2-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext2-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext2/iop-dcpext2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | | `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | -| `dp-audio3` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | | `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | | `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dcpext3-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext3-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext3/iop-dcpext3-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | | `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | -| `dp-audio4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `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. | +| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu11` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu12` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu13` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu14` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu15` | `/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-hdmi0` | **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. | +| `backlight/twodbl` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `pcie-sdreader-helper` | **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/device-tree/DT-GAPS-j516s.md b/docs/device-tree/DT-GAPS-j516s.md index e8889d2bb2ec8..d6523be9ce8b8 100644 --- a/docs/device-tree/DT-GAPS-j516s.md +++ b/docs/device-tree/DT-GAPS-j516s.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 380 ar | Record classification | Count | | --- | ---: | -| bus device | 7 | -| firmware service | 92 | -| gap | 33 | +| bus device | 14 | +| gap | 26 | | partial resources | 39 | | resources | 89 | -| shared hardware | 7 | +| service review | 90 | +| shared hardware | 9 | | stream | 113 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,7 +38,7 @@ This is a resource coverage audit, not a claim of complete board support. 380 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | @@ -45,12 +46,12 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | | `spi4` | resources | `/soc/spi@289110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@289014000` | | `i2c1/audio-speaker` | bus device | `/soc/i2c@289014000/codec@38` | | `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@289014000/codec@3a` | @@ -70,35 +71,35 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `i2c8` | resources | `/soc/i2c@289030000` | | `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | | `pwm0` | resources | `/soc/pwm@289040000` | -| `pwm0/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie1` | resources | `/soc/iommu@595000000` | | `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | | `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `aod2` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | | `uart2` | resources | `/soc/serial@289208000` | -| `uart2/wlan-debug` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `uart2/wlan-debug` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | | `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge1/pcie-sdreader` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apcie0` | resources | `/soc/iommu@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | | `acio-cpu0` | resources | `/soc/mailbox@701108000`; `/soc/cio@701ac0000` | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@730000000` | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -133,9 +134,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | | `atc0-dpin1` | resources | `/soc/displayport@701e58000` | | `acio-cpu1` | resources | `/soc/mailbox@b01108000`; `/soc/cio@b01ac0000` | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -170,9 +171,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | | `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | | `acio-cpu2` | resources | `/soc/mailbox@f01108000`; `/soc/cio@f01ac0000` | -| `acio-cpu2/iop-acio2-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec2` | resources | `/soc/iommu@f21008000` | | `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | | `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | @@ -208,7 +209,7 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | | `atc3-dpxbar` | resources | `/soc/mux@130304c000` | | `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `mcc` | resources | `/soc/pmp_report@3503c0000`; `/soc/memory-controller@3503c0000`; `/soc/power-management@350780000`; `/soc/error-handler@29cc40000` | | `aic` | resources | `/soc/interrupt-controller@351000000` | | `aic-timebase` | resources | `/soc/interrupt-controller@351000000` | @@ -222,78 +223,78 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio` | resources | `/soc/pinctrl@3641f0000` | | `smc-gpio` | resources | `/soc/pinctrl@36c820000` | | `aop` | partial resources | `/soc/aop@374c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/als` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | | `dart-aop` | resources | `/soc/iommu@374818000`; `/soc/filter@37481c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/event-log@350700000`; `/soc/error-handler@29cc40000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@350780000`; `/soc/pmp_report@3503c0000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/phy@f03000000`; `/soc/video-encoder@2cd100000`; `/soc/isp@2c8000000`; `/soc/scaler@391000000`; `/soc/video-codec@30d000000`; **GAP:** 46 larger or unmatched resource window(s) | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `nco` | resources | `/soc/clock-controller@350044000` | | `event-log-handler` | resources | `/soc/event-log@350700000` | | `pmp` | partial resources | `/soc/pmp@350500000`; `/soc/dcp@28ec00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp` | resources | `/soc/iommu@350300000` | | `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@350300000`; stream/resource linkage needs review | | `sep` | resources | `/soc/sep@29e400000` | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@29cac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | | `sio` | partial resources | `/soc/dma-controller@289c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@289004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@38dcc0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@38dc50000`; `/soc/nvme@38dcc0000` | | `smc` | partial resources | `/soc/smc@36c400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgrtools` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `rsm` | resources | `/soc/rsm@364325000` | | `dart-rsm` | resources | `/soc/iommu@36433c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@36433c000`; stream/resource linkage needs review | | `uart0` | partial resources | `/soc/serial@289200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `dockchannel-mtp` | partial resources | `/soc/fifo@37ab30000`; `/soc/fifo@37ab30000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@37a400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@37a808000`; `/soc/filter@37a80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@37a808000` / `/soc/filter@37a80c000`; stream/resource linkage needs review | | `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `spi1` | resources | `/soc/spi@289104000` | -| `spi1/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi1/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi1/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi1/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `spi1/spinor` | bus device | `/soc/spi@289104000/flash@0` | +| `spi1/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi1/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi1/spinor/syscfg` | 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 | | `admac-sio` | partial resources | `/soc/dma-controller@28b200000`; **GAP:** 1 larger or unmatched resource window(s) | | `admac-aop-audio` | partial resources | `/soc/dma-controller@374980000`; **GAP:** 1 larger or unmatched resource window(s) | @@ -301,36 +302,36 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | | `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | | `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd2/usb-drd2-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd2/usb-drd2-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | | `nub-spmi0` | partial resources | `/soc/spmi@364714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi0/spmi-chapelL1` | bus device | `/soc/spmi@364714000/pmic@b` | | `nub-spmi0/spmi-spitfireE1` | 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-spmi0/btm` | bus device | `/soc/spmi@364714000/pmic@b` | | `nub-spmi1` | resources | `/soc/spmi@364794000` | | `nub-spmi1/spmi-chapelF1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi1/spmi-spitfireE2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi2` | resources | `/soc/spmi@364814000` | | `nub-spmi-a0` | partial resources | `/soc/spmi@364908000`; **GAP:** 3 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 | +| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@364908000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@364908000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@364908000/usb-pd@6` | | `nub-spmi-a1` | partial resources | `/soc/spmi@364a08000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@364a08000/usb-pd@8` | | `aop-spmi0` | resources | `/soc/spmi@374894000` | | `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `aop-spmi1` | resources | `/soc/spmi@3748d4000` | @@ -342,9 +343,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@28d30c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | | `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | @@ -353,9 +354,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `dp-audio0` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | | `dispext0` | partial resources | `/soc/dcp@2d2c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext0` | partial resources | `/soc/dcp@2d2c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext0/iop-dcpext0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext0` | resources | `/soc/iommu@2d130c000` | | `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@2d130c000`; stream/resource linkage needs review | | `dart-dispext0` | partial resources | `/soc/iommu@2d1300000`; **GAP:** 1 larger or unmatched resource window(s) | @@ -366,9 +367,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-dispext1` | partial resources | `/soc/iommu@2d5300000`; **GAP:** 1 larger or unmatched resource window(s) | | `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | | `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | -| `dcpext1-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext1` | partial resources | `/soc/dcp@2d6c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext1/iop-dcpext1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext1` | resources | `/soc/iommu@2d530c000` | | `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@2d530c000`; stream/resource linkage needs review | | `dp-audio2` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | @@ -397,27 +398,71 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-isp` | resources | `/soc/iommu@2ca4a8000`; `/soc/iommu@2ca4b4000`; `/soc/iommu@2ca4bc000`; `/soc/iommu@2ca4b0000`; `/soc/iommu@2ca4b8000`; `/soc/filter@2ca4ac000` | | `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2ca4a8000` / `/soc/iommu@2ca4b4000` / `/soc/iommu@2ca4bc000` / `/soc/iommu@2ca4b0000` / `/soc/iommu@2ca4b8000` / `/soc/filter@2ca4ac000`; stream/resource linkage needs review | | `ane` | partial resources | `/soc/filter@309804000`; `/soc/video-encoder@2cd100000`; `/soc/pmp_report@3503c0000`; `/soc/cpufreq@211e20000`; **GAP:** 8 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane` | partial resources | `/soc/filter@309804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@309804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | partial resources | `/soc/gpu@292400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `mca-switch` | partial resources | `/soc/mca@28b400000`; **GAP:** 1 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/mca@28b400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/mca@28b400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/mca@28b400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `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. | +| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | +| `cpus/cpu11` | `/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-3` | **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. | +| `backlight/twodbl` | **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/device-tree/DT-GAPS-j613.md b/docs/device-tree/DT-GAPS-j613.md index a46f588fa15bc..192ee44d36740 100644 --- a/docs/device-tree/DT-GAPS-j613.md +++ b/docs/device-tree/DT-GAPS-j613.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 298 ar | Record classification | Count | | --- | ---: | -| bus device | 6 | -| firmware service | 81 | -| gap | 23 | +| bus device | 11 | +| gap | 18 | | partial resources | 33 | | resources | 71 | -| shared hardware | 2 | +| service review | 79 | +| shared hardware | 4 | | stream | 82 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,7 +38,7 @@ This is a resource coverage audit, not a claim of complete board support. 298 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | @@ -45,12 +46,12 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | | `spi4` | resources | `/soc/spi@2a1110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1014000` | | `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | | `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@2a1014000/codec@39` | @@ -62,26 +63,26 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | | `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | | `fpwm1` | resources | `/soc/pwm@2a1044000` | -| `fpwm1/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | | `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -116,9 +117,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | | `atc0-dpin1` | resources | `/soc/displayport@701e58000` | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -152,7 +153,7 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | | `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | | `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | | `aic` | resources | `/soc/interrupt-controller@2d1000000` | | `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | @@ -166,75 +167,75 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | | `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | | `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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 | | `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `nco` | resources | `/soc/clock-controller@2d0044000` | | `event-log-handler` | resources | `/soc/event-log@2d0700000` | | `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp` | resources | `/soc/iommu@2d0300000` | | `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | | `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@29cac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | | `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | | `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `rsm` | resources | `/soc/rsm@2e4325000` | | `dart-rsm` | resources | `/soc/iommu@2e433c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | | `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2fa400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@2fa808000`; `/soc/filter@2fa80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1018000` | | `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | | `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | @@ -244,24 +245,24 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | | `nub-spmi1` | resources | `/soc/spmi@2e4794000` | | `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi-a0` | partial resources | `/soc/spmi@2e4908000`; **GAP:** 3 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 | +| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2e4908000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2e4908000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2e4908000/usb-pd@8` | | `aop-spmi0` | resources | `/soc/spmi@2f4894000` | | `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `aop-spmi1` | resources | `/soc/spmi@2f48d4000` | @@ -269,26 +270,26 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@28d30c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | | `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext` | resources | `/soc/iommu@31930c000` | | `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | | `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@31d000000` | | `dart-scaler` | resources | `/soc/iommu@31d200000` | | `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | @@ -314,28 +315,64 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | | `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | | `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@292400000` | -| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | | `aft` | resources | `/soc/trace@220180000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `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. | +| `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/device-tree/DT-GAPS-j615.md b/docs/device-tree/DT-GAPS-j615.md index a684cd0d93d27..1390dc36f37f7 100644 --- a/docs/device-tree/DT-GAPS-j615.md +++ b/docs/device-tree/DT-GAPS-j615.md @@ -15,17 +15,18 @@ This is a resource coverage audit, not a claim of complete board support. 300 ar | Record classification | Count | | --- | ---: | -| bus device | 8 | -| firmware service | 81 | -| gap | 23 | +| bus device | 13 | +| gap | 18 | | partial resources | 33 | | resources | 71 | -| shared hardware | 2 | +| service review | 79 | +| shared hardware | 4 | | stream | 82 | ## Remaining work -- Close every explicit GAP below, including nested endpoints and shared resource ownership. +- 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. @@ -37,7 +38,7 @@ This is a resource coverage audit, not a claim of complete board support. 300 ar ## 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. Firmware aggregate/service entries are retained for audit visibility and are not silently counted as separate physical devices. +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 | | --- | --- | --- | @@ -45,12 +46,12 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | | `spi4` | resources | `/soc/spi@2a1110000` | | `spi4/dp855` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/dp855/lcd-pmicwp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-pmic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-sswp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/tcon-registers` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `spi4/dp855/lcd-eeprom` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1014000` | | `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | | `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@2a1014000/codec@3a` | @@ -64,26 +65,26 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | | `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | | `fpwm1` | resources | `/soc/pwm@2a1044000` | -| `fpwm1/kbd-backlight` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc0/audio-leap-mic` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `alc4` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `alc4/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `wlan` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `bluetooth` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | | `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 larger or unmatched resource window(s) | -| `apcie/pci-bridge0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/wlan` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `apcie/pci-bridge0/bluetooth-pcie` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@594000000` | | `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | | `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | | `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec0` | resources | `/soc/iommu@721008000` | | `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | | `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | @@ -118,9 +119,9 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc0-dpin0` | resources | `/soc/displayport@701e50000` | | `atc0-dpin1` | resources | `/soc/displayport@701e58000` | | `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-apciec1` | resources | `/soc/iommu@b21008000` | | `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | | `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | @@ -154,7 +155,7 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | | `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | | `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | | `aic` | resources | `/soc/interrupt-controller@2d1000000` | | `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | @@ -168,75 +169,75 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | | `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | | `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `aop/iop-aop-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-pdm2` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-hp` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `aop/iop-aop-nub/gyro` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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 | | `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | | `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | | `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 larger or unmatched resource window(s) | -| `pmgr/clpc` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/soc-tuner` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `pmgr/ppm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `nco` | resources | `/soc/clock-controller@2d0044000` | | `event-log-handler` | resources | `/soc/event-log@2d0700000` | | `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `pmp/iop-pmp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `pmp/iop-pmp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-pmp` | resources | `/soc/iommu@2d0300000` | | `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | | `sep` | partial resources | `/soc/sep@29e400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sep/iop-sep-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/Ocelot` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/xART` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sep/iop-sep-nub/InvalidateHmac` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@29cac0000` | | `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | | `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `sio/iop-sio-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `sio/iop-sio-nub/sio-dma` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1004000` | | `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | | `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | | `smc` | partial resources | `/soc/smc@2ec400000`; **GAP:** 3 larger or unmatched resource window(s) | -| `smc/iop-smc-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-pmu` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-0` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util-1` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smc/iop-smc-nub/smc-charger-util` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `rsm` | resources | `/soc/rsm@2e4325000` | | `dart-rsm` | resources | `/soc/iommu@2e433c000` | | `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | | `uart0` | partial resources | `/soc/serial@2a1200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | | `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/input@0`; **GAP:** 1 larger or unmatched resource window(s) | -| `dockchannel-mtp/mtp-transport` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/multi-touch` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/keyboard` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/stm` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/actuator` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `dockchannel-mtp/mtp-transport/tp-accel` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2fa400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mtp/iop-mtp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mtp/iop-mtp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-mtp` | resources | `/soc/iommu@2fa808000`; `/soc/filter@2fa80c000` | | `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | -| `qspi/spinor` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `qspi/spinor/firmware` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/anvram` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `qspi/spinor/syscfg` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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@2a1018000` | | `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | | `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | @@ -246,24 +247,24 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | | `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | | `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd0/usb-drd0-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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 | | `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | | `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | | `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | | `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | | `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `usb-drd1/usb-drd1-port-hs` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `usb-drd1/usb-drd1-port-ss` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | +| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | | `nub-spmi1` | resources | `/soc/spmi@2e4794000` | | `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `nub-spmi-a0` | partial resources | `/soc/spmi@2e4908000`; **GAP:** 3 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 | +| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2e4908000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2e4908000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2e4908000/usb-pd@8` | | `aop-spmi0` | resources | `/soc/spmi@2f4894000` | | `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `aop-spmi1` | resources | `/soc/spmi@2f48d4000` | @@ -271,26 +272,26 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `aop-spmi1/stockholm-spmi/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | | `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | | `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcp` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp/iop-dcp-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcp/iop-dcp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcp` | resources | `/soc/iommu@28d30c000` | | `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | | `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | | `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | | `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dispext0` | partial resources | `/soc/dcp@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-dcpext` | resources | `/soc/iommu@31930c000` | | `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | | `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | | `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | | `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | | `scaler0` | resources | `/soc/scaler@31d000000` | | `dart-scaler` | resources | `/soc/iommu@31d200000` | | `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | @@ -316,28 +317,64 @@ Paths in the first column are relative to `arm-io`. Stream entries name the owni | `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | | `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | | `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | | `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | | `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | | `gfx-asc` | resources | `/soc/gpu@292400000` | -| `gfx-asc/iop-gfx-nub` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mapper-gfx-asc` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | | `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca0/mca0a/audio-speaker` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca1/mca1a/audio-loopback` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | +| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | | `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2a/audio-codec-output` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `mca2/mca2b/audio-codec-input` | firmware service | Subordinate firmware service/configuration; no independent decoded MMIO resource | -| `smctempsensor0` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `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 | | `aft` | resources | `/soc/trace@220180000` | -| `timesync` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | -| `fillmore` | firmware service | Firmware service/policy or aggregate; no independent MMIO resource in this record | +| `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 | | `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. | +| `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. | From ad8135fcc55538e94d3fbd8b23827885109b3e9b Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:49:55 +1100 Subject: [PATCH 05/12] arm64: dts: apple: consolidate M3 resource bindings and review layout Reuse existing EDAC, media, MCC and ATCPHY contracts and generic resource binding filenames. Admit the T6031 display crossbar, preserve existing driver contracts, and keep board gap ledgers outside the kernel tree. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/crypto/apple,aes.yaml | 99 +++ .../bindings/crypto/apple,m3-aes.yaml | 57 -- .../{apple,m3-dp-in.yaml => apple,dp-in.yaml} | 8 +- .../bindings/dma/apple,m3-pcie-piodma.yaml | 52 -- .../bindings/dma/apple,pcie-piodma.yaml | 87 ++ .../edac/apple,soc-error-handler.yaml | 185 +++-- ...ple,m3-aon-ptd.yaml => apple,aon-ptd.yaml} | 6 +- .../{apple,m3-dapf.yaml => apple,dapf.yaml} | 7 +- ...m3-dart-smmu.yaml => apple,dart-smmu.yaml} | 7 +- .../bindings/leds/backlight/apple,m3-dwi.yaml | 57 -- .../devicetree/bindings/media/apple,jpeg.yaml | 145 ++-- .../bindings/media/apple,m3-ave.yaml | 62 -- .../bindings/media/apple,m3-jpeg.yaml | 62 -- .../bindings/media/apple,m3-prores.yaml | 62 -- .../bindings/media/apple,m3-scaler.yaml | 62 -- .../bindings/media/apple,prores.yaml | 147 ++-- .../bindings/media/apple,scaler.yaml | 118 +++ .../bindings/media/apple,t8140-ave.yaml | 189 +++-- .../memory-controllers/apple,m3-mcc.yaml | 47 -- .../bindings/mux/apple,display-crossbar.yaml | 1 + .../devicetree/bindings/phy/apple,atcphy.yaml | 755 ++++++++++-------- ...e,m3-dptx-phy.yaml => apple,dptx-phy.yaml} | 7 +- .../bindings/phy/apple,m3-atcphy.yaml | 84 -- .../{apple,m3-aft.yaml => apple,aft.yaml} | 7 +- .../bindings/soc/apple/apple,dwi.yaml | 93 +++ .../soc/apple/apple,m3-error-handler.yaml | 56 -- .../soc/apple/apple,m3-event-log-handler.yaml | 52 -- .../bindings/soc/apple/apple,m3-rsm.yaml | 61 -- .../bindings/soc/apple/apple,rsm.yaml | 93 +++ .../bindings/soc/apple/apple,t8140-mcc.yaml | 101 ++- ...e,m3-usb2-otg.yaml => apple,usb2-otg.yaml} | 8 +- .../boot/dts/apple/t6030-peripherals.dtsi | 4 +- .../boot/dts/apple/t6031-peripherals.dtsi | 4 +- .../arm64/boot/dts/apple/t8122-j613-25g83.dts | 2 +- ...3-25g83-qspi.dtsi => t8122-j613-qspi.dtsi} | 14 +- .../arm64/boot/dts/apple/t8122-j615-25g83.dts | 2 +- .../boot/dts/apple/t8122-peripherals.dtsi | 4 +- docs/device-tree/DT-GAPS-j433.md | 368 --------- docs/device-tree/DT-GAPS-j434.md | 382 --------- docs/device-tree/DT-GAPS-j504.md | 394 --------- docs/device-tree/DT-GAPS-j514c.md | 513 ------------ docs/device-tree/DT-GAPS-j514m.md | 512 ------------ docs/device-tree/DT-GAPS-j514s.md | 468 ----------- docs/device-tree/DT-GAPS-j516c.md | 513 ------------ docs/device-tree/DT-GAPS-j516m.md | 512 ------------ docs/device-tree/DT-GAPS-j516s.md | 468 ----------- docs/device-tree/DT-GAPS-j613.md | 378 --------- docs/device-tree/DT-GAPS-j615.md | 380 --------- 48 files changed, 1475 insertions(+), 6220 deletions(-) create mode 100644 Documentation/devicetree/bindings/crypto/apple,aes.yaml delete mode 100644 Documentation/devicetree/bindings/crypto/apple,m3-aes.yaml rename Documentation/devicetree/bindings/display/{apple,m3-dp-in.yaml => apple,dp-in.yaml} (82%) delete mode 100644 Documentation/devicetree/bindings/dma/apple,m3-pcie-piodma.yaml create mode 100644 Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml rename Documentation/devicetree/bindings/interrupt-controller/{apple,m3-aon-ptd.yaml => apple,aon-ptd.yaml} (84%) rename Documentation/devicetree/bindings/iommu/{apple,m3-dapf.yaml => apple,dapf.yaml} (82%) rename Documentation/devicetree/bindings/iommu/{apple,m3-dart-smmu.yaml => apple,dart-smmu.yaml} (82%) delete mode 100644 Documentation/devicetree/bindings/leds/backlight/apple,m3-dwi.yaml delete mode 100644 Documentation/devicetree/bindings/media/apple,m3-ave.yaml delete mode 100644 Documentation/devicetree/bindings/media/apple,m3-jpeg.yaml delete mode 100644 Documentation/devicetree/bindings/media/apple,m3-prores.yaml delete mode 100644 Documentation/devicetree/bindings/media/apple,m3-scaler.yaml create mode 100644 Documentation/devicetree/bindings/media/apple,scaler.yaml delete mode 100644 Documentation/devicetree/bindings/memory-controllers/apple,m3-mcc.yaml rename Documentation/devicetree/bindings/phy/{apple,m3-dptx-phy.yaml => apple,dptx-phy.yaml} (83%) delete mode 100644 Documentation/devicetree/bindings/phy/apple,m3-atcphy.yaml rename Documentation/devicetree/bindings/soc/apple/{apple,m3-aft.yaml => apple,aft.yaml} (81%) create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml delete mode 100644 Documentation/devicetree/bindings/soc/apple/apple,m3-error-handler.yaml delete mode 100644 Documentation/devicetree/bindings/soc/apple/apple,m3-event-log-handler.yaml delete mode 100644 Documentation/devicetree/bindings/soc/apple/apple,m3-rsm.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml rename Documentation/devicetree/bindings/usb/{apple,m3-usb2-otg.yaml => apple,usb2-otg.yaml} (85%) rename arch/arm64/boot/dts/apple/{t8122-j613-25g83-qspi.dtsi => t8122-j613-qspi.dtsi} (61%) delete mode 100644 docs/device-tree/DT-GAPS-j433.md delete mode 100644 docs/device-tree/DT-GAPS-j434.md delete mode 100644 docs/device-tree/DT-GAPS-j504.md delete mode 100644 docs/device-tree/DT-GAPS-j514c.md delete mode 100644 docs/device-tree/DT-GAPS-j514m.md delete mode 100644 docs/device-tree/DT-GAPS-j514s.md delete mode 100644 docs/device-tree/DT-GAPS-j516c.md delete mode 100644 docs/device-tree/DT-GAPS-j516m.md delete mode 100644 docs/device-tree/DT-GAPS-j516s.md delete mode 100644 docs/device-tree/DT-GAPS-j613.md delete mode 100644 docs/device-tree/DT-GAPS-j615.md diff --git a/Documentation/devicetree/bindings/crypto/apple,aes.yaml b/Documentation/devicetree/bindings/crypto/apple,aes.yaml new file mode 100644 index 0000000000000..d765aa1e8ecc5 --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/apple,aes.yaml @@ -0,0 +1,99 @@ +# 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,t8140-aes + - apple,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + - const: apple,aes + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + + 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: + maxItems: 1 + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/crypto/apple,m3-aes.yaml b/Documentation/devicetree/bindings/crypto/apple,m3-aes.yaml deleted file mode 100644 index 966e6845d7e0e..0000000000000 --- a/Documentation/devicetree/bindings/crypto/apple,m3-aes.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/crypto/apple,m3-aes.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family AES accelerator - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family 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,t8122-aes - - apple,t6030-aes - - apple,t6031-aes - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-aes - - apple,t6030-aes - - apple,t6031-aes - - const: apple,aes - - reg: - minItems: 2 - maxItems: 2 - - 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/display/apple,m3-dp-in.yaml b/Documentation/devicetree/bindings/display/apple,dp-in.yaml similarity index 82% rename from Documentation/devicetree/bindings/display/apple,m3-dp-in.yaml rename to Documentation/devicetree/bindings/display/apple,dp-in.yaml index 8ec95b2951c07..22ad79891712a 100644 --- a/Documentation/devicetree/bindings/display/apple,m3-dp-in.yaml +++ b/Documentation/devicetree/bindings/display/apple,dp-in.yaml @@ -1,16 +1,16 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/display/apple,m3-dp-in.yaml# +$id: http://devicetree.org/schemas/display/apple,dp-in.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Apple M3 family DisplayPort input adapter +title: Apple DisplayPort input adapter maintainers: - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> description: | - Hardware resources of the M3 family DisplayPort input adapter. + Hardware resources of the Apple Silicon 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 @@ -37,11 +37,9 @@ properties: - const: apple,dp-in reg: - minItems: 1 maxItems: 1 interrupts: - minItems: 1 maxItems: 1 required: diff --git a/Documentation/devicetree/bindings/dma/apple,m3-pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,m3-pcie-piodma.yaml deleted file mode 100644 index 74807b75b7321..0000000000000 --- a/Documentation/devicetree/bindings/dma/apple,m3-pcie-piodma.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/dma/apple,m3-pcie-piodma.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family PCIe programmed I/O DMA engine - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family 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,t8122-pcie-piodma - - apple,t6030-pcie-piodma - - apple,t6031-pcie-piodma - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-pcie-piodma - - apple,t6030-pcie-piodma - - apple,t6031-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/dma/apple,pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml new file mode 100644 index 0000000000000..be6e1c3bccb2c --- /dev/null +++ b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml @@ -0,0 +1,87 @@ +# 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,t8122-pcie-piodma + - apple,t6030-pcie-piodma + - apple,t6031-pcie-piodma + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-pcie-piodma + - apple,t6030-pcie-piodma + - apple,t6031-pcie-piodma + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-pcie-piodma + - apple,t6030-pcie-piodma + - apple,t6031-pcie-piodma + - const: apple,pcie-piodma + + reg: + minItems: 3 + maxItems: 4 + + interrupts: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + 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: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml b/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml index 71053bd3841a5..76138359864f0 100644 --- a/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml +++ b/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml @@ -14,81 +14,148 @@ description: | errors to dedicated platform interrupt groups. A second group reports fatal events latched by peripheral event logs. -properties: - compatible: - oneOf: - - items: - - const: apple,t6041-error-handler - - const: apple,soc-error-handler - - items: - - const: apple,t8140-error-handler - - const: apple,soc-error-handler - - items: - - const: apple,t6041-event-log - - const: apple,soc-event-log - - items: - - const: apple,t8140-event-log - - const: apple,soc-event-log - - interrupts: - minItems: 9 - maxItems: 89 - - reg: - minItems: 25 - maxItems: 25 - description: | - T6041 per-source NI0 through NI6 status apertures, in interrupt order. - -required: - - compatible - - interrupts +select: + properties: + compatible: + contains: + enum: + - apple,t6041-error-handler + - apple,t8140-error-handler + - apple,t6041-event-log + - apple,t8140-event-log + - apple,t8122-error-handler + - apple,t8122-event-log + - apple,t6030-error-handler + - apple,t6030-event-log + - apple,t6031-error-handler + - apple,t6031-event-log + required: + - compatible allOf: - if: properties: compatible: contains: - const: apple,t6041-error-handler - then: - properties: - interrupts: - minItems: 89 - maxItems: 89 + enum: + - apple,t8122-error-handler + - apple,t8122-event-log + - apple,t6030-error-handler + - apple,t6030-event-log + - apple,t6031-error-handler + - apple,t6031-event-log required: - - reg - - if: - properties: - compatible: - contains: - const: apple,t8140-error-handler + - compatible then: - properties: - interrupts: - minItems: 26 - maxItems: 26 - - if: properties: compatible: - contains: - const: apple,t6041-event-log - then: - properties: + oneOf: + - items: + - enum: + - apple,t8122-error-handler + - apple,t6030-error-handler + - apple,t6031-error-handler + - const: apple,soc-error-handler + - items: + - enum: + - apple,t8122-event-log + - apple,t6030-event-log + - apple,t6031-event-log + - const: apple,soc-event-log + + reg: + minItems: 13 + maxItems: 123 + interrupts: - minItems: 21 - maxItems: 21 - - if: + minItems: 13 + maxItems: 159 + + power-domains: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + additionalProperties: false + else: properties: compatible: - contains: - const: apple,t8140-event-log - then: - properties: + oneOf: + - items: + - const: apple,t6041-error-handler + - const: apple,soc-error-handler + - items: + - const: apple,t8140-error-handler + - const: apple,soc-error-handler + - items: + - const: apple,t6041-event-log + - const: apple,soc-event-log + - items: + - const: apple,t8140-event-log + - const: apple,soc-event-log + interrupts: minItems: 9 - maxItems: 9 + maxItems: 89 + + reg: + minItems: 25 + maxItems: 25 + description: | + T6041 per-source NI0 through NI6 status apertures, in interrupt order. + + required: + - compatible + - interrupts + + allOf: + - if: + properties: + compatible: + contains: + const: apple,t6041-error-handler + then: + properties: + interrupts: + minItems: 89 + maxItems: 89 + required: + - reg + - if: + properties: + compatible: + contains: + const: apple,t8140-error-handler + then: + properties: + interrupts: + minItems: 26 + maxItems: 26 + - if: + properties: + compatible: + contains: + const: apple,t6041-event-log + then: + properties: + interrupts: + minItems: 21 + maxItems: 21 + - if: + properties: + compatible: + contains: + const: apple,t8140-event-log + then: + properties: + interrupts: + minItems: 9 + maxItems: 9 -additionalProperties: false + additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,m3-aon-ptd.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aon-ptd.yaml similarity index 84% rename from Documentation/devicetree/bindings/interrupt-controller/apple,m3-aon-ptd.yaml rename to Documentation/devicetree/bindings/interrupt-controller/apple,aon-ptd.yaml index 8ab14dbf5999a..d1374993b5570 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/apple,m3-aon-ptd.yaml +++ b/Documentation/devicetree/bindings/interrupt-controller/apple,aon-ptd.yaml @@ -1,16 +1,16 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/interrupt-controller/apple,m3-aon-ptd.yaml# +$id: http://devicetree.org/schemas/interrupt-controller/apple,aon-ptd.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Apple M3 family always-on interrupt distributor +title: Apple always-on interrupt distributor maintainers: - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> description: | - Hardware resources of the M3 family always-on interrupt distributor. + Hardware resources of the Apple Silicon 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 diff --git a/Documentation/devicetree/bindings/iommu/apple,m3-dapf.yaml b/Documentation/devicetree/bindings/iommu/apple,dapf.yaml similarity index 82% rename from Documentation/devicetree/bindings/iommu/apple,m3-dapf.yaml rename to Documentation/devicetree/bindings/iommu/apple,dapf.yaml index 100e833d007b5..2a1635099f474 100644 --- a/Documentation/devicetree/bindings/iommu/apple,m3-dapf.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,dapf.yaml @@ -1,16 +1,16 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/iommu/apple,m3-dapf.yaml# +$id: http://devicetree.org/schemas/iommu/apple,dapf.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Apple M3 family DMA address protection filter +title: Apple DMA address protection filter maintainers: - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> description: | - Hardware resources of the M3 family DMA address protection filter. + Hardware resources of the Apple Silicon 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 @@ -37,7 +37,6 @@ properties: - const: apple,dapf reg: - minItems: 1 maxItems: 1 required: diff --git a/Documentation/devicetree/bindings/iommu/apple,m3-dart-smmu.yaml b/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml similarity index 82% rename from Documentation/devicetree/bindings/iommu/apple,m3-dart-smmu.yaml rename to Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml index 2f991cfb7b962..ba8b8fd188358 100644 --- a/Documentation/devicetree/bindings/iommu/apple,m3-dart-smmu.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml @@ -1,16 +1,16 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/iommu/apple,m3-dart-smmu.yaml# +$id: http://devicetree.org/schemas/iommu/apple,dart-smmu.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Apple M3 family system MMU companion interface +title: Apple system MMU companion interface maintainers: - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> description: | - Hardware resources of the M3 family system MMU companion interface. + Hardware resources of the Apple Silicon 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 @@ -37,7 +37,6 @@ properties: - const: apple,dart-smmu reg: - minItems: 1 maxItems: 1 required: diff --git a/Documentation/devicetree/bindings/leds/backlight/apple,m3-dwi.yaml b/Documentation/devicetree/bindings/leds/backlight/apple,m3-dwi.yaml deleted file mode 100644 index 39f144df336ef..0000000000000 --- a/Documentation/devicetree/bindings/leds/backlight/apple,m3-dwi.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/leds/backlight/apple,m3-dwi.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family two-wire display interface - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family 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,t8122-dwi - - apple,t6030-dwi - - apple,t6031-dwi - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-dwi - - apple,t6030-dwi - - apple,t6031-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/media/apple,jpeg.yaml b/Documentation/devicetree/bindings/media/apple,jpeg.yaml index 056e1d33c00fd..754b188b54f3a 100644 --- a/Documentation/devicetree/bindings/media/apple,jpeg.yaml +++ b/Documentation/devicetree/bindings/media/apple,jpeg.yaml @@ -19,61 +19,116 @@ 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,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-jpeg + required: + - compatible allOf: - if: properties: compatible: - const: apple,t6041-jpeg + contains: + enum: + - apple,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-jpeg + required: + - compatible then: + properties: + compatible: + items: + - enum: + - apple,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-jpeg + - const: apple,jpeg + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + 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,m3-ave.yaml b/Documentation/devicetree/bindings/media/apple,m3-ave.yaml deleted file mode 100644 index 060dcea3d4cca..0000000000000 --- a/Documentation/devicetree/bindings/media/apple,m3-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,m3-ave.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family video encoder - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family 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,t8122-ave - - apple,t6030-ave - - apple,t6031-ave - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-ave - - apple,t6030-ave - - apple,t6031-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 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,m3-jpeg.yaml b/Documentation/devicetree/bindings/media/apple,m3-jpeg.yaml deleted file mode 100644 index 15685edc639fd..0000000000000 --- a/Documentation/devicetree/bindings/media/apple,m3-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,m3-jpeg.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family JPEG codec - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family 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,t8122-jpeg - - apple,t6030-jpeg - - apple,t6031-jpeg - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-jpeg - - apple,t6030-jpeg - - apple,t6031-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 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,m3-prores.yaml b/Documentation/devicetree/bindings/media/apple,m3-prores.yaml deleted file mode 100644 index f700aa017c2d8..0000000000000 --- a/Documentation/devicetree/bindings/media/apple,m3-prores.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,m3-prores.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family ProRes codec - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family 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,t8122-prores - - apple,t6030-prores - - apple,t6031-prores - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-prores - - apple,t6030-prores - - apple,t6031-prores - - const: apple,prores - - reg: - minItems: 2 - maxItems: 3 - - interrupts: - minItems: 1 - maxItems: 2 - - power-domains: - minItems: 1 - maxItems: 1 - - iommus: - minItems: 1 - maxItems: 2 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,m3-scaler.yaml b/Documentation/devicetree/bindings/media/apple,m3-scaler.yaml deleted file mode 100644 index 1ed8fb8b1aea9..0000000000000 --- a/Documentation/devicetree/bindings/media/apple,m3-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,m3-scaler.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family image scaler - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family 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,t8122-scaler - - apple,t6030-scaler - - apple,t6031-scaler - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-scaler - - apple,t6030-scaler - - apple,t6031-scaler - - const: apple,scaler - - reg: - minItems: 3 - maxItems: 4 - - interrupts: - minItems: 2 - maxItems: 2 - - power-domains: - minItems: 1 - maxItems: 2 - - iommus: - minItems: 1 - maxItems: 2 - -required: - - compatible - - reg - - interrupts - - power-domains - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,prores.yaml b/Documentation/devicetree/bindings/media/apple,prores.yaml index 07afac17ef2ee..1ece51752e691 100644 --- a/Documentation/devicetree/bindings/media/apple,prores.yaml +++ b/Documentation/devicetree/bindings/media/apple,prores.yaml @@ -14,51 +14,108 @@ 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,t8122-prores + - apple,t6030-prores + - apple,t6031-prores + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-prores + - apple,t6030-prores + - apple,t6031-prores + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-prores + - apple,t6030-prores + - apple,t6031-prores + - const: apple,prores + + reg: + minItems: 2 + maxItems: 3 + + interrupts: + minItems: 1 + maxItems: 2 + + power-domains: + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 2 + + 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..3e7fdf9b93af4 --- /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,t8140-scaler + - apple,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + - const: apple,scaler + + reg: + minItems: 3 + maxItems: 4 + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 2 + + iommus: + minItems: 1 + maxItems: 2 + + 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: + maxItems: 1 + + resets: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - resets + - iommus + - clocks + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml index dadb98b19f822..702b89987be51 100644 --- a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml +++ b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml @@ -14,67 +14,128 @@ 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,t8122-ave + - apple,t6030-ave + - apple,t6031-ave + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-ave + - apple,t6030-ave + - apple,t6031-ave + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-ave + - apple,t6030-ave + - apple,t6031-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 + + 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/memory-controllers/apple,m3-mcc.yaml b/Documentation/devicetree/bindings/memory-controllers/apple,m3-mcc.yaml deleted file mode 100644 index 737a36043992d..0000000000000 --- a/Documentation/devicetree/bindings/memory-controllers/apple,m3-mcc.yaml +++ /dev/null @@ -1,47 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/memory-controllers/apple,m3-mcc.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family memory controller - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family memory 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,t8122-mcc - - apple,t6030-mcc - - apple,t6031-mcc - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-mcc - - apple,t6030-mcc - - apple,t6031-mcc - - const: apple,mcc - - reg: - minItems: 5 - maxItems: 11 - -required: - - compatible - - reg - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml b/Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml index fabdcd74fb2cf..7d3713754e7a6 100644 --- a/Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml +++ b/Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml @@ -33,6 +33,7 @@ properties: - items: - enum: - apple,t6030-display-crossbar + - apple,t6031-display-crossbar - apple,t8122-display-crossbar - const: apple,t6020-display-crossbar diff --git a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml index dc52ed4398ab3..914d8c8ae78fd 100644 --- a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml +++ b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml @@ -36,125 +36,6 @@ description: > display crossbar is not part of the PHY resource. SuperSpeed calibration is supplied in banked lists so that no list spans that crossbar. -allOf: - - $ref: /schemas/usb/usb-switch.yaml# - - if: - properties: - compatible: - contains: - const: apple,t8132-atcphy - then: - oneOf: - - properties: - reg: - minItems: 2 - maxItems: 2 - reg-names: - items: - - const: usb2phy - - const: pipehandler - - properties: - reg: - items: - - description: USB2 PHY specific controls - - description: USB3 PIPE interface controls - - description: SuperSpeed PHY core, excluding the display crossbar - - description: AXI to Apple Fabric interface controls - - description: Local IO address translation controls - - description: ATC fabric controls - - description: ATC common configuration controls - reg-names: - items: - - const: usb2phy - - const: pipehandler - - const: core - - const: axi2af - - const: lioa - - const: fabric - - const: common-config - required: - - power-domains - else: - properties: - reg: - minItems: 5 - items: - - description: Common controls for all PHYs (USB2/3/4, DisplayPort, TBT) - - description: DisplayPort Alternate Mode PHY specific controls - - description: Type-C PHY AXI to Apple Fabric interconnect controls - - description: USB2 PHY specific controls - - description: USB3 PIPE interface controls - - description: Secondary eUSB2 PHY register bank (T8140) - reg-names: - minItems: 5 - items: - - const: core - - const: lpdptx - - const: axi2af - - const: usb2phy - - const: pipehandler - - const: usb2phy-reg - required: - - power-domains - - if: - properties: - compatible: - contains: - const: apple,t8140-atcphy - then: - properties: - reg: - minItems: 6 - reg-names: - minItems: 6 - else: - properties: - apple,tunable-usb2phy-reg-dflt: false - apple,tunable-dp-common-pre: false - apple,tunable-dp-lpdptx: false - apple,tunable-dp-common-post: false - patternProperties: - "^apple,dp-training-table(-rbr|-hbr|-hbr2|-hbr3)?$": false - - if: - properties: - compatible: - not: - contains: - enum: - - apple,t8132-atcphy - - apple,t8140-atcphy - then: - properties: - reg: - maxItems: 5 - reg-names: - maxItems: 5 - - if: - properties: - compatible: - not: - contains: - const: apple,t8132-atcphy - then: - properties: - apple,tunable-usb3-axi2af: false - apple,tunable-usb3-lioa: false - apple,tunable-usb3-fabric: false - apple,tunable-usb3-config: false - apple,tunable-usb3-common: false - apple,tunable-usb3-efuse: false - apple,tunable-usb3-dp: false - apple,tunable-cio-axi2af: false - apple,tunable-cio-lioa: false - apple,tunable-cio-fabric: false - apple,tunable-cio-config: false - apple,tunable-cio-common: false - apple,tunable-cio-lane0: false - apple,tunable-cio-lane0-eq: false - apple,tunable-cio-lane1: false - apple,tunable-cio-lane1-eq: false - apple,tunable-cio-post: false - $defs: apple,tunable: $ref: /schemas/types.yaml#/definitions/uint32-matrix @@ -171,239 +52,457 @@ $defs: Unless otherwise noted these tunables are always applied to the core register region. -properties: - compatible: - oneOf: - - items: - - enum: - - apple,t6000-atcphy - - apple,t6020-atcphy - - apple,t8112-atcphy - - const: apple,t8103-atcphy - - const: apple,t8103-atcphy - - const: apple,t8132-atcphy - - const: apple,t8140-atcphy - - const: apple,t8142-atcphy - - reg: - minItems: 2 - maxItems: 7 - - reg-names: - minItems: 2 - maxItems: 7 - - "#phy-cells": - const: 1 - - "#reset-cells": - const: 0 - - mode-switch: true - orientation-switch: true - - power-domains: - maxItems: 1 - - phys: - maxItems: 1 - description: Phandle to the eUSB2 to USB 2.0 repeater. - - phy-names: - items: - - const: eusb2-repeater - - ports: - $ref: /schemas/graph.yaml#/properties/ports - properties: - port@0: - $ref: /schemas/graph.yaml#/properties/port - description: Outgoing connection to the SS port of the Type-C connector. - - port@1: - $ref: /schemas/graph.yaml#/properties/port - description: Incoming endpoint from the USB3 controller. - - port@2: - $ref: /schemas/graph.yaml#/properties/port - description: Incoming endpoint from the DisplayPort controller. - - port@3: - $ref: /schemas/graph.yaml#/properties/port - description: Incoming endpoint from the USB4/Thunderbolt controller. - apple,tunable-usb3-axi2af: - $ref: "#/$defs/apple,tunable" - description: T8132 AXI setup followed by write-disable and lock operations. +select: + properties: + compatible: + contains: + enum: + - apple,t8132-atcphy + - apple,t8140-atcphy + - apple,t6000-atcphy + - apple,t6020-atcphy + - apple,t8112-atcphy + - apple,t8103-atcphy + - apple,t8142-atcphy + - apple,t8122-atcphy + - apple,t6030-atcphy + - apple,t6031-atcphy + required: + - compatible - apple,tunable-usb3-lioa: - $ref: "#/$defs/apple,tunable" - description: T8132 LIOA setup, applied after the AXI list. - - apple,tunable-usb3-fabric: - $ref: "#/$defs/apple,tunable" - description: T8132 fabric setup, applied after the LIOA list. - - apple,tunable-usb3-config: - $ref: "#/$defs/apple,tunable" - description: T8132 common-configuration setup, applied after fabric setup. - - apple,tunable-usb3-common: - $ref: "#/$defs/apple,tunable" - description: T8132 core PLL and common setup, before the selected USB lane. - - apple,tunable-usb3-dp: - $ref: "#/$defs/apple,tunable" - description: > - T8132 AUX_TOP calibration within the core bank, applied after the - common list has supplied AUSCMN_DIG and AUSPLL_CORE. This handoff - applies to ADTs without AUX_SHM and is optional for USB3-only mode. - This list does not initialize the display crossbar or DisplayPort - transmitter and does not authorize taking over an active PHY epoch. - - apple,tunable-usb3-efuse: - $ref: "#/$defs/apple,tunable" - description: > - T8132 ADT-provided efuse-derived core values, applied after lane routing - and before the PHY reset is released. No raw fuse register is read. - - apple,tunable-cio-axi2af: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO AXI setup, write-disable and lock, applied first in CIO mode. - - apple,tunable-cio-lioa: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO LIOA setup, applied after the CIO AXI list. - - apple,tunable-cio-fabric: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO fabric setup, applied after the CIO LIOA list. +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-atcphy + - apple,t6030-atcphy + - apple,t6031-atcphy + required: + - compatible + then: + allOf: + - $ref: /schemas/usb/usb-switch.yaml# - apple,tunable-cio-config: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO common-configuration setup, applied after the CIO fabric list. + properties: + compatible: + oneOf: + - const: apple,t8122-atcphy + - items: + - enum: + - apple,t6030-atcphy + - apple,t6031-atcphy + - const: apple,t8122-atcphy - apple,tunable-cio-common: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO PLL, shim and top setup in the core bank, before the lanes. + reg: + minItems: 1 + items: + - description: Common PHY controls + - description: DisplayPort alternate mode PHY + - description: AXI to fabric interface + - description: USB2 PHY + - description: USB3 PIPE interface - apple,tunable-cio-lane0: - $ref: "#/$defs/apple,tunable" - description: T8132 lane 0 CIO defaults in the core bank. + reg-names: + minItems: 1 + items: + - const: core + - const: lpdptx + - const: axi2af + - const: usb2phy + - const: pipehandler - apple,tunable-cio-lane0-eq: - $ref: "#/$defs/apple,tunable" - description: T8132 lane 0 CIO equalization in the core bank, after its defaults. + '#phy-cells': + const: 1 - apple,tunable-cio-lane1: - $ref: "#/$defs/apple,tunable" - description: T8132 lane 1 CIO defaults in the core bank. + '#reset-cells': + const: 0 - apple,tunable-cio-lane1-eq: - $ref: "#/$defs/apple,tunable" - description: T8132 lane 1 CIO equalization in the core bank, after its defaults. + power-domains: + maxItems: 1 - apple,tunable-cio-post: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO common setup applied after the crossbar, before the PHY reset is released. + mode-switch: true + orientation-switch: true - apple,tunable-common-a: - $ref: "#/$defs/apple,tunable" - description: > - Common tunables required for all modes, applied before tunable-axi2af. + ports: + $ref: /schemas/graph.yaml#/properties/ports - apple,tunable-axi2af: - $ref: "#/$defs/apple,tunable" - description: > - AXI to Apple Fabric tunables, required for all modes. Unlike all other - tunables these are applied to the axi2af region. + required: + - compatible + - reg + - reg-names + - '#phy-cells' + - '#reset-cells' + - power-domains - apple,tunable-common-b: - $ref: "#/$defs/apple,tunable" - description: > - Common tunables required for all modes, applied after tunable-axi2af. + oneOf: + - properties: + reg: + maxItems: 1 + reg-names: + maxItems: 1 + - properties: + reg: + minItems: 5 + reg-names: + minItems: 5 - apple,tunable-lane0-usb: - $ref: "#/$defs/apple,tunable" - description: USB3 tunables for lane 0. + unevaluatedProperties: false + else: + allOf: + - $ref: /schemas/usb/usb-switch.yaml# + - if: + properties: + compatible: + contains: + const: apple,t8132-atcphy + then: + oneOf: + - properties: + reg: + minItems: 2 + maxItems: 2 + reg-names: + items: + - const: usb2phy + - const: pipehandler + - properties: + reg: + items: + - description: USB2 PHY specific controls + - description: USB3 PIPE interface controls + - description: SuperSpeed PHY core, excluding the display crossbar + - description: AXI to Apple Fabric interface controls + - description: Local IO address translation controls + - description: ATC fabric controls + - description: ATC common configuration controls + reg-names: + items: + - const: usb2phy + - const: pipehandler + - const: core + - const: axi2af + - const: lioa + - const: fabric + - const: common-config + required: + - power-domains + else: + properties: + reg: + minItems: 5 + items: + - description: Common controls for all PHYs (USB2/3/4, DisplayPort, TBT) + - description: DisplayPort Alternate Mode PHY specific controls + - description: Type-C PHY AXI to Apple Fabric interconnect controls + - description: USB2 PHY specific controls + - description: USB3 PIPE interface controls + - description: Secondary eUSB2 PHY register bank (T8140) + reg-names: + minItems: 5 + items: + - const: core + - const: lpdptx + - const: axi2af + - const: usb2phy + - const: pipehandler + - const: usb2phy-reg + required: + - power-domains + - if: + properties: + compatible: + contains: + const: apple,t8140-atcphy + then: + properties: + reg: + minItems: 6 + reg-names: + minItems: 6 + else: + properties: + apple,tunable-usb2phy-reg-dflt: false + apple,tunable-dp-common-pre: false + apple,tunable-dp-lpdptx: false + apple,tunable-dp-common-post: false + patternProperties: + "^apple,dp-training-table(-rbr|-hbr|-hbr2|-hbr3)?$": false + - if: + properties: + compatible: + not: + contains: + enum: + - apple,t8132-atcphy + - apple,t8140-atcphy + then: + properties: + reg: + maxItems: 5 + reg-names: + maxItems: 5 + - if: + properties: + compatible: + not: + contains: + const: apple,t8132-atcphy + then: + properties: + apple,tunable-usb3-axi2af: false + apple,tunable-usb3-lioa: false + apple,tunable-usb3-fabric: false + apple,tunable-usb3-config: false + apple,tunable-usb3-common: false + apple,tunable-usb3-efuse: false + apple,tunable-usb3-dp: false + apple,tunable-cio-axi2af: false + apple,tunable-cio-lioa: false + apple,tunable-cio-fabric: false + apple,tunable-cio-config: false + apple,tunable-cio-common: false + apple,tunable-cio-lane0: false + apple,tunable-cio-lane0-eq: false + apple,tunable-cio-lane1: false + apple,tunable-cio-lane1-eq: false + apple,tunable-cio-post: false - apple,tunable-lane1-usb: - $ref: "#/$defs/apple,tunable" - description: USB3 tunables for lane 1. + properties: + compatible: + oneOf: + - items: + - enum: + - apple,t6000-atcphy + - apple,t6020-atcphy + - apple,t8112-atcphy + - const: apple,t8103-atcphy + - const: apple,t8103-atcphy + - const: apple,t8132-atcphy + - const: apple,t8140-atcphy + - const: apple,t8142-atcphy - apple,tunable-lane0-cio: - $ref: "#/$defs/apple,tunable" - description: USB4/Thunderbolt ("Converged IO") tunables for lane 0. + reg: + minItems: 2 + maxItems: 7 - apple,tunable-lane1-cio: - $ref: "#/$defs/apple,tunable" - description: USB4/Thunderbolt ("Converged IO") tunables for lane 1. + reg-names: + minItems: 2 + maxItems: 7 - apple,tunable-lane0-dp: - $ref: "#/$defs/apple,tunable" - description: > - DisplayPort tunables for lane 0. + "#phy-cells": + const: 1 - Note that lane here refers to a USB RX and TX pair re-used for DisplayPort - and not to an individual DisplayPort differential lane. + "#reset-cells": + const: 0 - apple,tunable-lane1-dp: - $ref: "#/$defs/apple,tunable" - description: > - DisplayPort tunables for lane 1. + mode-switch: true + orientation-switch: true - Note that lane here refers to a USB RX and TX pair re-used for DisplayPort - and not to an individual DisplayPort differential lane. + power-domains: + maxItems: 1 - apple,tunable-dp-common-pre: - $ref: "#/$defs/apple,tunable" - maxItems: 5461 - description: > - T8140 DisplayPort core setup applied before the LPDPTX list. The - bootloader supplies device-specific values for the core register region. + phys: + maxItems: 1 + description: Phandle to the eUSB2 to USB 2.0 repeater. - apple,tunable-dp-lpdptx: - $ref: "#/$defs/apple,tunable" - maxItems: 5461 - description: > - T8140 DisplayPort setup for the lpdptx register region, applied between - the common-pre and common-post lists. + phy-names: + items: + - const: eusb2-repeater + + ports: + $ref: /schemas/graph.yaml#/properties/ports + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Outgoing connection to the SS port of the Type-C connector. + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Incoming endpoint from the USB3 controller. + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: Incoming endpoint from the DisplayPort controller. + + port@3: + $ref: /schemas/graph.yaml#/properties/port + description: Incoming endpoint from the USB4/Thunderbolt controller. + + apple,tunable-usb3-axi2af: + $ref: "#/$defs/apple,tunable" + description: T8132 AXI setup followed by write-disable and lock operations. + + apple,tunable-usb3-lioa: + $ref: "#/$defs/apple,tunable" + description: T8132 LIOA setup, applied after the AXI list. + + apple,tunable-usb3-fabric: + $ref: "#/$defs/apple,tunable" + description: T8132 fabric setup, applied after the LIOA list. + + apple,tunable-usb3-config: + $ref: "#/$defs/apple,tunable" + description: T8132 common-configuration setup, applied after fabric setup. + + apple,tunable-usb3-common: + $ref: "#/$defs/apple,tunable" + description: T8132 core PLL and common setup, before the selected USB lane. + + apple,tunable-usb3-dp: + $ref: "#/$defs/apple,tunable" + description: > + T8132 AUX_TOP calibration within the core bank, applied after the + common list has supplied AUSCMN_DIG and AUSPLL_CORE. This handoff + applies to ADTs without AUX_SHM and is optional for USB3-only mode. + This list does not initialize the display crossbar or DisplayPort + transmitter and does not authorize taking over an active PHY epoch. + + apple,tunable-usb3-efuse: + $ref: "#/$defs/apple,tunable" + description: > + T8132 ADT-provided efuse-derived core values, applied after lane routing + and before the PHY reset is released. No raw fuse register is read. + + apple,tunable-cio-axi2af: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO AXI setup, write-disable and lock, applied first in CIO mode. + + apple,tunable-cio-lioa: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO LIOA setup, applied after the CIO AXI list. + + apple,tunable-cio-fabric: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO fabric setup, applied after the CIO LIOA list. + + apple,tunable-cio-config: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO common-configuration setup, applied after the CIO fabric list. + + apple,tunable-cio-common: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO PLL, shim and top setup in the core bank, before the lanes. + + apple,tunable-cio-lane0: + $ref: "#/$defs/apple,tunable" + description: T8132 lane 0 CIO defaults in the core bank. + + apple,tunable-cio-lane0-eq: + $ref: "#/$defs/apple,tunable" + description: T8132 lane 0 CIO equalization in the core bank, after its defaults. + + apple,tunable-cio-lane1: + $ref: "#/$defs/apple,tunable" + description: T8132 lane 1 CIO defaults in the core bank. + + apple,tunable-cio-lane1-eq: + $ref: "#/$defs/apple,tunable" + description: T8132 lane 1 CIO equalization in the core bank, after its defaults. + + apple,tunable-cio-post: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO common setup applied after the crossbar, before the PHY reset is released. + + apple,tunable-common-a: + $ref: "#/$defs/apple,tunable" + description: > + Common tunables required for all modes, applied before tunable-axi2af. + + apple,tunable-axi2af: + $ref: "#/$defs/apple,tunable" + description: > + AXI to Apple Fabric tunables, required for all modes. Unlike all other + tunables these are applied to the axi2af region. + + apple,tunable-common-b: + $ref: "#/$defs/apple,tunable" + description: > + Common tunables required for all modes, applied after tunable-axi2af. + + apple,tunable-lane0-usb: + $ref: "#/$defs/apple,tunable" + description: USB3 tunables for lane 0. + + apple,tunable-lane1-usb: + $ref: "#/$defs/apple,tunable" + description: USB3 tunables for lane 1. + + apple,tunable-lane0-cio: + $ref: "#/$defs/apple,tunable" + description: USB4/Thunderbolt ("Converged IO") tunables for lane 0. + + apple,tunable-lane1-cio: + $ref: "#/$defs/apple,tunable" + description: USB4/Thunderbolt ("Converged IO") tunables for lane 1. + + apple,tunable-lane0-dp: + $ref: "#/$defs/apple,tunable" + description: > + DisplayPort tunables for lane 0. + + Note that lane here refers to a USB RX and TX pair re-used for DisplayPort + and not to an individual DisplayPort differential lane. + + apple,tunable-lane1-dp: + $ref: "#/$defs/apple,tunable" + description: > + DisplayPort tunables for lane 1. + + Note that lane here refers to a USB RX and TX pair re-used for DisplayPort + and not to an individual DisplayPort differential lane. + + apple,tunable-dp-common-pre: + $ref: "#/$defs/apple,tunable" + maxItems: 5461 + description: > + T8140 DisplayPort core setup applied before the LPDPTX list. The + bootloader supplies device-specific values for the core register region. + + apple,tunable-dp-lpdptx: + $ref: "#/$defs/apple,tunable" + maxItems: 5461 + description: > + T8140 DisplayPort setup for the lpdptx register region, applied between + the common-pre and common-post lists. + + apple,tunable-dp-common-post: + $ref: "#/$defs/apple,tunable" + maxItems: 5461 + description: > + T8140 DisplayPort core setup applied after the LPDPTX list. All three + DisplayPort lists are needed before selecting a DisplayPort PHY mode. + + apple,tunable-usb2phy-reg-dflt: + $ref: "#/$defs/apple,tunable" + description: > + Per-device defaults for the secondary eUSB2 PHY register bank of the + T8140, copied from Apple's Device Tree by the bootloader. Unlike the + other tunables these are applied to the usb2phy-reg region. - apple,tunable-dp-common-post: - $ref: "#/$defs/apple,tunable" - maxItems: 5461 - description: > - T8140 DisplayPort core setup applied after the LPDPTX list. All three - DisplayPort lists are needed before selecting a DisplayPort PHY mode. + patternProperties: + "^apple,dp-training-table(-rbr|-hbr|-hbr2|-hbr3)?$": + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 16 + maxItems: 16 + description: > + Firmware-provided T8140 drive presets indexed by voltage swing times + four plus pre-emphasis. The unsuffixed table is the required fallback; + a link-rate suffix selects an optional rate-specific override. - apple,tunable-usb2phy-reg-dflt: - $ref: "#/$defs/apple,tunable" - description: > - Per-device defaults for the secondary eUSB2 PHY register bank of the - T8140, copied from Apple's Device Tree by the bootloader. Unlike the - other tunables these are applied to the usb2phy-reg region. - -patternProperties: - "^apple,dp-training-table(-rbr|-hbr|-hbr2|-hbr3)?$": - $ref: /schemas/types.yaml#/definitions/uint32-array - minItems: 16 - maxItems: 16 - description: > - Firmware-provided T8140 drive presets indexed by voltage swing times - four plus pre-emphasis. The unsuffixed table is the required fallback; - a link-rate suffix selects an optional rate-specific override. - -required: - - compatible - - reg - - reg-names - - "#phy-cells" - - "#reset-cells" - - orientation-switch - - mode-switch - - ports - -additionalProperties: false + required: + - compatible + - reg + - reg-names + - "#phy-cells" + - "#reset-cells" + - orientation-switch + - mode-switch + - ports + + additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/phy/apple,m3-dptx-phy.yaml b/Documentation/devicetree/bindings/phy/apple,dptx-phy.yaml similarity index 83% rename from Documentation/devicetree/bindings/phy/apple,m3-dptx-phy.yaml rename to Documentation/devicetree/bindings/phy/apple,dptx-phy.yaml index fea0e6e6a60ee..bfbdcae204038 100644 --- a/Documentation/devicetree/bindings/phy/apple,m3-dptx-phy.yaml +++ b/Documentation/devicetree/bindings/phy/apple,dptx-phy.yaml @@ -1,16 +1,16 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/phy/apple,m3-dptx-phy.yaml# +$id: http://devicetree.org/schemas/phy/apple,dptx-phy.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Apple M3 family DisplayPort transmitter PHY +title: Apple DisplayPort transmitter PHY maintainers: - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> description: | - Hardware resources of the M3 family DisplayPort transmitter PHY. + Hardware resources of the Apple Silicon DisplayPort transmitter PHY. 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 @@ -37,7 +37,6 @@ properties: maxItems: 2 power-domains: - minItems: 1 maxItems: 1 '#phy-cells': diff --git a/Documentation/devicetree/bindings/phy/apple,m3-atcphy.yaml b/Documentation/devicetree/bindings/phy/apple,m3-atcphy.yaml deleted file mode 100644 index 43ba59e0f7c50..0000000000000 --- a/Documentation/devicetree/bindings/phy/apple,m3-atcphy.yaml +++ /dev/null @@ -1,84 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/phy/apple,m3-atcphy.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family Type-C PHY - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - The M3 Type-C PHY combines USB and DisplayPort interfaces. The fourth - PHY on the Pro and Max dies can be described with its common control - bank only, for DisplayPort operation. The five-bank description also - exposes the USB interfaces. Calibration is supplied by the bootloader. - -allOf: - - $ref: /schemas/usb/usb-switch.yaml# - -properties: - compatible: - oneOf: - - const: apple,t8122-atcphy - - items: - - enum: - - apple,t6030-atcphy - - apple,t6031-atcphy - - const: apple,t8122-atcphy - - reg: - minItems: 1 - items: - - description: Common PHY controls - - description: DisplayPort alternate mode PHY - - description: AXI to fabric interface - - description: USB2 PHY - - description: USB3 PIPE interface - - reg-names: - minItems: 1 - items: - - const: core - - const: lpdptx - - const: axi2af - - const: usb2phy - - const: pipehandler - - '#phy-cells': - const: 1 - - '#reset-cells': - const: 0 - - power-domains: - maxItems: 1 - - mode-switch: true - orientation-switch: true - - ports: - $ref: /schemas/graph.yaml#/properties/ports - -required: - - compatible - - reg - - reg-names - - '#phy-cells' - - '#reset-cells' - - power-domains - -oneOf: - - properties: - reg: - maxItems: 1 - reg-names: - maxItems: 1 - - properties: - reg: - minItems: 5 - reg-names: - minItems: 5 - -unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,m3-aft.yaml b/Documentation/devicetree/bindings/soc/apple/apple,aft.yaml similarity index 81% rename from Documentation/devicetree/bindings/soc/apple/apple,m3-aft.yaml rename to Documentation/devicetree/bindings/soc/apple/apple,aft.yaml index e1be7bcc4ab04..a82549ee8804d 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,m3-aft.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,aft.yaml @@ -1,16 +1,16 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/soc/apple/apple,m3-aft.yaml# +$id: http://devicetree.org/schemas/soc/apple/apple,aft.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Apple M3 family fabric trace interface +title: Apple fabric trace interface maintainers: - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> description: | - Hardware resources of the M3 family fabric trace interface. + Hardware resources of the Apple Silicon 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 @@ -33,7 +33,6 @@ properties: - const: apple,aft reg: - minItems: 1 maxItems: 1 required: 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..b2363d0d1d8f3 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml @@ -0,0 +1,93 @@ +# 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,t8140-dwi + - apple,t8122-dwi + - apple,t6030-dwi + - apple,t6031-dwi + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-dwi + - apple,t6030-dwi + - apple,t6031-dwi + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-dwi + - apple,t6030-dwi + - apple,t6031-dwi + - const: apple,dwi + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + 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: + maxItems: 1 + description: Register apertures in hardware-description order. + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,m3-error-handler.yaml b/Documentation/devicetree/bindings/soc/apple/apple,m3-error-handler.yaml deleted file mode 100644 index ed7b409fedb36..0000000000000 --- a/Documentation/devicetree/bindings/soc/apple/apple,m3-error-handler.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/soc/apple/apple,m3-error-handler.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family fabric error reporting interface - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family fabric error reporting 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,t8122-error-handler - - apple,t6030-error-handler - - apple,t6031-error-handler - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-error-handler - - apple,t6030-error-handler - - apple,t6031-error-handler - - const: apple,error-handler - - reg: - minItems: 19 - maxItems: 123 - - interrupts: - minItems: 39 - maxItems: 159 - - power-domains: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,m3-event-log-handler.yaml b/Documentation/devicetree/bindings/soc/apple/apple,m3-event-log-handler.yaml deleted file mode 100644 index 31dc176fa554f..0000000000000 --- a/Documentation/devicetree/bindings/soc/apple/apple,m3-event-log-handler.yaml +++ /dev/null @@ -1,52 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/soc/apple/apple,m3-event-log-handler.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family event log interrupt interface - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family event log interrupt 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,t8122-event-log-handler - - apple,t6030-event-log-handler - - apple,t6031-event-log-handler - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-event-log-handler - - apple,t6030-event-log-handler - - apple,t6031-event-log-handler - - const: apple,event-log-handler - - reg: - minItems: 13 - maxItems: 26 - - interrupts: - minItems: 13 - maxItems: 26 - -required: - - compatible - - reg - - interrupts - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,m3-rsm.yaml b/Documentation/devicetree/bindings/soc/apple/apple,m3-rsm.yaml deleted file mode 100644 index 85a49da8ba123..0000000000000 --- a/Documentation/devicetree/bindings/soc/apple/apple,m3-rsm.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/soc/apple/apple,m3-rsm.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple M3 family remote service manager - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the M3 family remote service manager. - 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,t8122-rsm - - apple,t6030-rsm - - apple,t6031-rsm - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t8122-rsm - - apple,t6030-rsm - - apple,t6031-rsm - - const: apple,rsm - - reg: - minItems: 2 - maxItems: 2 - - interrupts: - minItems: 1 - maxItems: 1 - - power-domains: - minItems: 1 - maxItems: 1 - - iommus: - minItems: 1 - maxItems: 1 - -required: - - compatible - - reg - - interrupts - - iommus - -additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml b/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml new file mode 100644 index 0000000000000..633baff4f8868 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml @@ -0,0 +1,93 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,rsm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple remote service manager + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Remote service manager register banks, interrupt and DART stream. + +select: + properties: + compatible: + contains: + enum: + - apple,t8140-rsm + - apple,t8122-rsm + - apple,t6030-rsm + - apple,t6031-rsm + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-rsm + - apple,t6030-rsm + - apple,t6031-rsm + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-rsm + - apple,t6030-rsm + - apple,t6031-rsm + - const: apple,rsm + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t8140-rsm + - const: apple,rsm + + reg: + minItems: 2 + maxItems: 2 + description: Register apertures in hardware-description order. + + interrupts: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml index 63767db0cea1a..d06405ff9cc3a 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml @@ -15,36 +15,81 @@ description: two apertures with two planes each and a multicast cache-enable register; its enabled cache is retained until a dirty-data drain is qualified. -properties: - compatible: - oneOf: - - enum: +select: + properties: + compatible: + contains: + enum: - apple,t8132-mcc - apple,t8140-mcc - - items: - - const: apple,t6041-mcc - - const: apple,t8140-mcc - - reg: - description: Per-plane blocks on T8140, or the two multicast apertures on T8132. - minItems: 1 - maxItems: 32 - - nonposted-mmio: true - - apple,boot-dma-devices: - $ref: /schemas/types.yaml#/definitions/phandle-array - items: - maxItems: 1 - description: - Devices that take over DMA the bootloader left running. Cache allocation - is enabled only once each of them is bound to its driver. - -required: - - compatible - - reg - -additionalProperties: false + - apple,t6041-mcc + - apple,t8122-mcc + - apple,t6030-mcc + - apple,t6031-mcc + required: + - compatible + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-mcc + - apple,t6030-mcc + - apple,t6031-mcc + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-mcc + - apple,t6030-mcc + - apple,t6031-mcc + - const: apple,mcc + + reg: + minItems: 5 + maxItems: 11 + + required: + - compatible + - reg + + additionalProperties: false + else: + properties: + compatible: + oneOf: + - enum: + - apple,t8132-mcc + - apple,t8140-mcc + - items: + - const: apple,t6041-mcc + - const: apple,t8140-mcc + + reg: + description: Per-plane blocks on T8140, or the two multicast apertures on T8132. + minItems: 1 + maxItems: 32 + + nonposted-mmio: true + + apple,boot-dma-devices: + $ref: /schemas/types.yaml#/definitions/phandle-array + items: + maxItems: 1 + description: + Devices that take over DMA the bootloader left running. Cache allocation + is enabled only once each of them is bound to its driver. + + required: + - compatible + - reg + + additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/usb/apple,m3-usb2-otg.yaml b/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml similarity index 85% rename from Documentation/devicetree/bindings/usb/apple,m3-usb2-otg.yaml rename to Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml index 88b63517bc781..2fb808a4e40db 100644 --- a/Documentation/devicetree/bindings/usb/apple,m3-usb2-otg.yaml +++ b/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml @@ -1,16 +1,16 @@ # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- -$id: http://devicetree.org/schemas/usb/apple,m3-usb2-otg.yaml# +$id: http://devicetree.org/schemas/usb/apple,usb2-otg.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# -title: Apple M3 family USB2 OTG interface +title: Apple USB2 OTG interface maintainers: - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> description: | - Hardware resources of the M3 family USB2 OTG interface. + Hardware resources of the Apple Silicon USB2 OTG 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 @@ -41,11 +41,9 @@ properties: maxItems: 2 interrupts: - minItems: 1 maxItems: 1 power-domains: - minItems: 1 maxItems: 1 phys: diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi index d972136f20423..6b95cba06ab93 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -252,7 +252,7 @@ }; error_handler: error-handler@29cc40000 { - compatible = "apple,t6030-error-handler", "apple,error-handler"; + compatible = "apple,t6030-error-handler", "apple,soc-error-handler"; reg = <0x2 0x9cc40000 0x0 0x40000>, <0x3 0x50000000 0x0 0x7c000>, <0x3 0x50700000 0x0 0xcc000>, @@ -357,7 +357,7 @@ }; event_log_handler: event-log@350700000 { - compatible = "apple,t6030-event-log-handler", "apple,event-log-handler"; + compatible = "apple,t6030-event-log", "apple,soc-event-log"; reg = <0x3 0x50700000 0x0 0xcc000>, <0x3 0x64280000 0x0 0x80000>, <0x3 0x50000000 0x0 0x70000>, diff --git a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi index da7f50431df39..6c4d3af00160f 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi @@ -329,7 +329,7 @@ }; error_handler: error-handler@388c40000 { - compatible = "apple,t6031-error-handler", "apple,error-handler"; + compatible = "apple,t6031-error-handler", "apple,soc-error-handler"; reg = <0x3 0x88c40000 0x0 0x40000>, <0x2 0x90000000 0x0 0x80000>, <0x2 0x92800000 0x0 0x1e0000>, @@ -637,7 +637,7 @@ }; event_log_handler: event-log@292800000 { - compatible = "apple,t6031-event-log-handler", "apple,event-log-handler"; + compatible = "apple,t6031-event-log", "apple,soc-event-log"; reg = <0x2 0x92800000 0x0 0x8000>, <0x2 0x92838000 0x0 0x4000>, <0x2 0x92840000 0x0 0x10000>, diff --git a/arch/arm64/boot/dts/apple/t8122-j613-25g83.dts b/arch/arm64/boot/dts/apple/t8122-j613-25g83.dts index 65dd855e4e537..fcf9e4de6672d 100644 --- a/arch/arm64/boot/dts/apple/t8122-j613-25g83.dts +++ b/arch/arm64/boot/dts/apple/t8122-j613-25g83.dts @@ -2,7 +2,7 @@ /* J613 with the exact 25G83 firmware profile. */ #include "t8122-j613.dts" #include "t8122-j613-dcp-25g83.dtsi" -#include "t8122-j613-25g83-qspi.dtsi" +#include "t8122-j613-qspi.dtsi" /* * Keep U-Boot from starting the MTP. U-Boot's helper binds only the generic diff --git a/arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi b/arch/arm64/boot/dts/apple/t8122-j613-qspi.dtsi similarity index 61% rename from arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi rename to arch/arm64/boot/dts/apple/t8122-j613-qspi.dtsi index 261c67fa4ab3d..2825f5d7a4802 100644 --- a/arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-j613-qspi.dtsi @@ -1,15 +1,5 @@ // SPDX-License-Identifier: GPL-2.0+ OR MIT -/* - * J613 25G83 (macOS 26.6.2 firmware): the boot NOR and its NVRAM sit - * behind the QSPIMC controller, not SPI1. - * - * ADT /arm-io/qspi: P=0x2a1118000, C=P+0x800, IRQ 771, gate 73; - * /arm-io/qspi/spinor/anvram: 0x700000, 1 MiB. - * - * spi-apple-qspi defaults read-only. Bounded NVRAM writes need an explicit - * runtime opt-in. Leave the MTD device openable O_RDWR: asahi-bless opens - * it that way for --get-boot without writing. - */ +/* J613/J615 QSPIMC boot NOR and NVRAM layout. */ / { aliases { @@ -49,7 +39,7 @@ }; }; -/* The M1/M2 SPI1 NVRAM from t8122-jxxx.dtsi is not used on 25G83. */ +/* This board variant uses QSPIMC instead of SPI1 for NVRAM. */ &spi1 { status = "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8122-j615-25g83.dts b/arch/arm64/boot/dts/apple/t8122-j615-25g83.dts index 8f3572aa0e86f..20ae3085122b9 100644 --- a/arch/arm64/boot/dts/apple/t8122-j615-25g83.dts +++ b/arch/arm64/boot/dts/apple/t8122-j615-25g83.dts @@ -7,7 +7,7 @@ */ #include "t8122-j615.dts" #include "t8122-j613-dcp-25g83.dtsi" -#include "t8122-j613-25g83-qspi.dtsi" +#include "t8122-j613-qspi.dtsi" /* * As on the J613 25G83 tree: keep U-Boot from starting the MTP. U-Boot's diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi index 4415b4966063e..0c869d45fa8de 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -219,7 +219,7 @@ }; error_handler: error-handler@29cc40000 { - compatible = "apple,t8122-error-handler", "apple,error-handler"; + compatible = "apple,t8122-error-handler", "apple,soc-error-handler"; reg = <0x2 0x9cc40000 0x0 0x40000>, <0x2 0xd0000000 0x0 0x7c000>, <0x2 0xd0700000 0x0 0xcc000>, @@ -302,7 +302,7 @@ }; event_log_handler: event-log@2d0700000 { - compatible = "apple,t8122-event-log-handler", "apple,event-log-handler"; + compatible = "apple,t8122-event-log", "apple,soc-event-log"; reg = <0x2 0xd0700000 0x0 0xcc000>, <0x2 0xe4280000 0x0 0x80000>, <0x2 0xd0000000 0x0 0x70000>, diff --git a/docs/device-tree/DT-GAPS-j433.md b/docs/device-tree/DT-GAPS-j433.md deleted file mode 100644 index 2c00c12a30877..0000000000000 --- a/docs/device-tree/DT-GAPS-j433.md +++ /dev/null @@ -1,368 +0,0 @@ -# DT gaps: J433 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8122-j433.dts`. -The hardware resource inventory identifies the T8122 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 289 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 | 3 | -| gap | 23 | -| partial resources | 30 | -| resources | 70 | -| service review | 76 | -| shared hardware | 4 | -| stream | 83 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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@2a1110000` | -| `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@2a1014000` | -| `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | -| `i2c1/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `i2c1/audio-codec-output` | bus device | `/soc/i2c@2a1014000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@2a101c000` | -| `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 | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `lan0-placeholder` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge1/lan0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | -| `aic` | resources | `/soc/interrupt-controller@2d1000000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | -| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | -| `dwi` | resources | `/soc/dwi@2d0200000` | -| `pwm` | resources | `/soc/pwm@2a1040000` | -| `aes` | resources | `/soc/crypto@2a100c000` | -| `gpio0` | resources | `/soc/pinctrl@2c7100000` | -| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | -| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | -| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | -| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 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 | -| `nco` | resources | `/soc/clock-controller@2d0044000` | -| `event-log-handler` | resources | `/soc/event-log@2d0700000` | -| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 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@2d0300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@29e400000`; **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@29cac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | -| `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `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@2a1004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | -| `smc` | partial resources | `/soc/smc@2ec400000`; **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 | -| `rsm` | resources | `/soc/rsm@2e4325000` | -| `dart-rsm` | resources | `/soc/iommu@2e433c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@2a1200000`; **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` | gap | **GAP:** no matching hardware resource node | -| `qspi` | resources | `/soc/spi@2a1118000` | -| `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 | -| `i2c0` | resources | `/soc/i2c@2a1010000` | -| `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | -| `i2c0/hpmBusManager/hpm0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0/hpmBusManager/hpm1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | -| `i2c2` | resources | `/soc/i2c@2a1018000` | -| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi1` | resources | `/soc/spmi@2e4794000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | -| `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@2f48d4000` | -| `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 | -| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@28ec00000`; **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@28d30c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | -| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; 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@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext` | resources | `/soc/iommu@31930c000` | -| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | -| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@31d000000` | -| `dart-scaler` | resources | `/soc/iommu@31d200000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@299000000` | -| `dart-jpeg0` | resources | `/soc/iommu@299004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@299008000` | -| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@315100000` | -| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | -| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd` | resources | `/soc/iommu@289010000` | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@321000000` | -| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | -| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@292400000` | -| `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 | -| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `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 | -| `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. | -| `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/device-tree/DT-GAPS-j434.md b/docs/device-tree/DT-GAPS-j434.md deleted file mode 100644 index 4d92304dc7e29..0000000000000 --- a/docs/device-tree/DT-GAPS-j434.md +++ /dev/null @@ -1,382 +0,0 @@ -# DT gaps: J434 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8122-j434.dts`. -The hardware resource inventory identifies the T8122 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 301 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 | 3 | -| gap | 24 | -| partial resources | 30 | -| resources | 71 | -| service review | 84 | -| shared hardware | 4 | -| stream | 85 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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@2a1110000` | -| `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@2a1014000` | -| `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | -| `i2c1/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `i2c1/audio-codec-output` | bus device | `/soc/i2c@2a1014000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@2a101c000` | -| `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 | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `lan0-placeholder` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dart-apcie2` | resources | `/soc/iommu@596000000` | -| `dart-apcie2/mapper-apcie2` | stream | Stream of `/soc/iommu@596000000`; stream/resource linkage needs review | -| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `/soc/iommu@596000000`; stream/resource linkage needs review | -| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge1/lan0` | 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-xhci` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-hs-port3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-hs-port4` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-ss-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge2/pcie-xhci/pcie-xhci-ss-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | -| `aic` | resources | `/soc/interrupt-controller@2d1000000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | -| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | -| `dwi` | resources | `/soc/dwi@2d0200000` | -| `pwm` | resources | `/soc/pwm@2a1040000` | -| `aes` | resources | `/soc/crypto@2a100c000` | -| `gpio0` | resources | `/soc/pinctrl@2c7100000` | -| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | -| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | -| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | -| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 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 | -| `nco` | resources | `/soc/clock-controller@2d0044000` | -| `event-log-handler` | resources | `/soc/event-log@2d0700000` | -| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 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@2d0300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@29e400000`; **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@29cac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | -| `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `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@2a1004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | -| `smc` | partial resources | `/soc/smc@2ec400000`; **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 | -| `rsm` | resources | `/soc/rsm@2e4325000` | -| `dart-rsm` | resources | `/soc/iommu@2e433c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@2a1200000`; **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` | gap | **GAP:** no matching hardware resource node | -| `qspi` | resources | `/soc/spi@2a1118000` | -| `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 | -| `i2c0` | resources | `/soc/i2c@2a1010000` | -| `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | -| `i2c0/hpmBusManager/hpm0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0/hpmBusManager/hpm1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0/hpmBusManager/hpm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0/hpmBusManager/hpm3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0/ccg3pa2` | gap | **GAP:** I2C device not described under this bus | -| `i2c2` | resources | `/soc/i2c@2a1018000` | -| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi1` | resources | `/soc/spmi@2e4794000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | -| `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@2f48d4000` | -| `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 | -| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@28ec00000`; **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@28d30c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | -| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; 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@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext` | resources | `/soc/iommu@31930c000` | -| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | -| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@31d000000` | -| `dart-scaler` | resources | `/soc/iommu@31d200000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@299000000` | -| `dart-jpeg0` | resources | `/soc/iommu@299004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@299008000` | -| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@315100000` | -| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | -| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd` | resources | `/soc/iommu@289010000` | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@321000000` | -| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | -| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@292400000` | -| `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 | -| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `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 | -| `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. | -| `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/device-tree/DT-GAPS-j504.md b/docs/device-tree/DT-GAPS-j504.md deleted file mode 100644 index ee6d50b7a7bb1..0000000000000 --- a/docs/device-tree/DT-GAPS-j504.md +++ /dev/null @@ -1,394 +0,0 @@ -# DT gaps: J504 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8122-j504.dts`. -The hardware resource inventory identifies the T8122 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 312 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 | 10 | -| gap | 23 | -| partial resources | 32 | -| resources | 75 | -| service review | 84 | -| shared hardware | 4 | -| stream | 84 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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@2a1108000` | -| `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | -| `spi4` | resources | `/soc/spi@2a1110000` | -| `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@2a1014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@2a1014000/codec@39` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@2a1014000/codec@3a` | -| `i2c1/audio-codec-output` | bus device | `/soc/i2c@2a1014000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@2a101c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@2a101c000/codec@3b` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@2a101c000/codec@3c` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@2a101c000/codec@3d` | -| `i2c3/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `i2c4` | resources | `/soc/i2c@2a1020000` | -| `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | -| `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | -| `fpwm1` | resources | `/soc/pwm@2a1044000` | -| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | -| `aic` | resources | `/soc/interrupt-controller@2d1000000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | -| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | -| `dwi` | resources | `/soc/dwi@2d0200000` | -| `pwm` | resources | `/soc/pwm@2a1040000` | -| `aes` | resources | `/soc/crypto@2a100c000` | -| `gpio0` | resources | `/soc/pinctrl@2c7100000` | -| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | -| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | -| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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 | -| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 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 | -| `nco` | resources | `/soc/clock-controller@2d0044000` | -| `event-log-handler` | resources | `/soc/event-log@2d0700000` | -| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 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@2d0300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@29e400000`; **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@29cac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | -| `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `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@2a1004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | -| `smc` | partial resources | `/soc/smc@2ec400000`; **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 | -| `rsm` | resources | `/soc/rsm@2e4325000` | -| `dart-rsm` | resources | `/soc/iommu@2e433c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@2a1200000`; **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` | gap | **GAP:** no matching hardware resource node | -| `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/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@2fa400000`; **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@2fa808000`; `/soc/filter@2fa80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | -| `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 | -| `i2c0` | resources | `/soc/i2c@2a1010000` | -| `i2c0/hpmBusManager` | gap | **GAP:** I2C device not described under this bus | -| `i2c0/hpmBusManager/hpm0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0/hpmBusManager/hpm1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c0/hpmBusManager/hpm5` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/soc/i2c@2a1018000` | -| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dptx-phy` | resources | `/soc/phy@2c7540000` | -| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi1` | resources | `/soc/spmi@2e4794000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | -| `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@2f48d4000` | -| `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 | -| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@28ec00000`; **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@28d30c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | -| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; 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@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext` | resources | `/soc/iommu@31930c000` | -| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | -| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@31d000000` | -| `dart-scaler` | resources | `/soc/iommu@31d200000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@299000000` | -| `dart-jpeg0` | resources | `/soc/iommu@299004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@299008000` | -| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@315100000` | -| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | -| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd` | resources | `/soc/iommu@289010000` | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@321000000` | -| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | -| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@292400000` | -| `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 | -| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `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 | -| `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. | -| `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-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/device-tree/DT-GAPS-j514c.md b/docs/device-tree/DT-GAPS-j514c.md deleted file mode 100644 index a01bfcfb788a3..0000000000000 --- a/docs/device-tree/DT-GAPS-j514c.md +++ /dev/null @@ -1,513 +0,0 @@ -# DT gaps: J514C - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6031-j514c.dts`. -The hardware resource inventory identifies the T6031 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 421 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 | 13 | -| gap | 35 | -| partial resources | 43 | -| resources | 100 | -| service review | 100 | -| shared hardware | 6 | -| stream | 124 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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 | -| --- | --- | --- | -| `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/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@2ac400000`; **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@2ac808000`; `/soc/filter@2ac80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `i2c1` | resources | `/soc/i2c@391014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@391014000/codec@38` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@391014000/codec@39` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@391014000/codec@3a` | -| `i2c2` | resources | `/soc/i2c@391018000` | -| `i2c2/audio-codec-output` | bus device | `/soc/i2c@391018000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@39101c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@39101c000/codec@3b` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@39101c000/codec@3c` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@39101c000/codec@3d` | -| `i2c4` | resources | `/soc/i2c@391020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/soc/i2c@391028000` | -| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/soc/i2c@391030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `spi2` | resources | `/soc/spi@391108000` | -| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | -| `spi4` | resources | `/soc/spi@391110000` | -| `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 | -| `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | -| `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `pwm0` | resources | `/soc/pwm@391040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | -| `apcie0/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-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` | resources | `/soc/iommu@f21008000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | -| `acio2` | partial resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | -| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | -| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | -| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | -| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | -| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | -| `mcc` | resources | `/soc/pmp_report@2903c0000`; `/soc/memory-controller@2903c0000`; `/soc/power-management@292818000`; `/soc/error-handler@388c40000` | -| `aic` | resources | `/soc/interrupt-controller@292400000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@292400000` | -| `wdt` | partial resources | `/soc/watchdog@2a02d4000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000` | -| `dwi` | resources | `/soc/dwi@2929b0000` | -| `aes` | resources | `/soc/crypto@39100c000` | -| `gpio0` | resources | `/soc/pinctrl@2b3000000` | -| `aop-gpio0` | resources | `/soc/pinctrl@2a8824000` | -| `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | -| `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | -| `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | -| `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/clpc` | 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` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | -| `nco` | resources | `/soc/clock-controller@29003c000` | -| `sio` | resources | `/soc/dma-controller@391c00000` | -| `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@391004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/dcp@386c00000`; **GAP:** 10 larger or unmatched resource window(s) | -| `pmp0/iop-pmp0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp0` | resources | `/soc/iommu@290300000` | -| `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | -| `dart-pmp0/mapper-pmp-ptd-fwd` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | -| `sep` | resources | `/soc/sep@38a400000` | -| `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@388ac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `ans/ans-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | -| `smc` | partial resources | `/soc/smc@2a4400000`; **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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | resources | `/soc/rsm@2a0325000` | -| `dart-rsm` | resources | `/soc/iommu@2a033c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | -| `uart0` | resources | `/soc/serial@391200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | -| `qspi` | resources | `/soc/spi@391118000` | -| `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 | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | bus device | `/soc/spmi@2a1014000/pmic@b` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2a1014000/pmic@b` | -| `nub-spmi1` | resources | `/soc/spmi@2a1054000` | -| `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2` | resources | `/soc/spmi@2a1094000` | -| `nub-spmi2/spmi-sebringC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2/spmi-sebringC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3` | resources | `/soc/spmi@2a10d4000` | -| `nub-spmi3/spmi-sebringC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3/spmi-sebringC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi4` | resources | `/soc/spmi@2a1114000` | -| `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2a1188000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2a1188000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2a1188000/usb-pd@6` | -| `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@2a1198000/usb-pd@8` | -| `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | -| `aop-spmi0` | resources | `/soc/spmi@2a8894000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@2a88d4000` | -| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-disp0` | resources | `/soc/iommu@385304000`; `/soc/iommu@385300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@386c00000`; **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@38530c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@38530c000`; stream/resource linkage needs review | -| `dcp0-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 | -| `scaler0` | resources | `/soc/scaler@407000000` | -| `dart-scaler0` | resources | `/soc/iommu@407200000` | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | -| `scaler1` | resources | `/soc/scaler@3c7000000` | -| `dart-scaler1` | resources | `/soc/iommu@3c7200000` | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | -| `apr0` | resources | `/soc/video-codec@2c5000000` | -| `dart-apr0` | resources | `/soc/iommu@2c5028000`; `/soc/iommu@2c502c000` | -| `dart-apr0/mapper-apr0` | stream | Stream of `/soc/iommu@2c5028000` / `/soc/iommu@2c502c000`; stream/resource linkage needs review | -| `apr1` | resources | `/soc/video-codec@287000000` | -| `dart-apr1` | resources | `/soc/iommu@287008000` | -| `dart-apr1/mapper-apr1` | stream | Stream of `/soc/iommu@287008000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@2cf000000` | -| `dart-jpeg0` | resources | `/soc/iommu@2cf004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@2cf004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@2cf008000` | -| `dart-jpeg1` | resources | `/soc/iommu@2cf00c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@2cf00c000`; stream/resource linkage needs review | -| `ave0` | resources | `/soc/video-encoder@285100000` | -| `dart-ave0` | resources | `/soc/iommu@285030000`; `/soc/iommu@285040000`; `/soc/iommu@285020000`; `/soc/filter@285044000` | -| `dart-ave0/mapper-ave0` | stream | Stream of `/soc/iommu@285030000` / `/soc/iommu@285040000` / `/soc/iommu@285020000` / `/soc/filter@285044000`; stream/resource linkage needs review | -| `ave1` | resources | `/soc/video-encoder@3c5100000` | -| `dart-ave1` | resources | `/soc/iommu@3c5030000`; `/soc/iommu@3c5040000`; `/soc/iommu@3c5020000`; `/soc/filter@3c5044000` | -| `dart-ave1/mapper-ave1` | stream | Stream of `/soc/iommu@3c5030000` / `/soc/iommu@3c5040000` / `/soc/iommu@3c5020000` / `/soc/filter@3c5044000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/soc/avd@2cc000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | resources | `/soc/iommu@2cd010000` | -| `dart-avd0/mapper-avd0` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ane0/iop-ane0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@40a400000` | -| `gfx-asc/iop-gfx-nub0` | 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 | -| `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/mca@393400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/mca@393400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/mca@393400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/soc/pwm@391040000` | -| `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 | -| `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext0` | partial resources | `/soc/dcp@306c00000`; **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@30530c000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; 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@44ac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **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@44930c000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dcpext2-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | -| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dcpext3-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | -| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `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. | -| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu11` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu12` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu13` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu14` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu15` | `/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-hdmi0` | **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. | -| `backlight/twodbl` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `pcie-sdreader-helper` | **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/device-tree/DT-GAPS-j514m.md b/docs/device-tree/DT-GAPS-j514m.md deleted file mode 100644 index ad391d1bf95c6..0000000000000 --- a/docs/device-tree/DT-GAPS-j514m.md +++ /dev/null @@ -1,512 +0,0 @@ -# DT gaps: J514M - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6034-j514m.dts`. -The hardware resource inventory identifies the T6031 peripheral die. T6034 is the harvested six-channel T6031 variant. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 420 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 | 13 | -| gap | 37 | -| partial resources | 43 | -| resources | 98 | -| service review | 100 | -| shared hardware | 6 | -| stream | 123 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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 | -| --- | --- | --- | -| `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/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@2ac400000`; **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@2ac808000`; `/soc/filter@2ac80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `i2c1` | resources | `/soc/i2c@391014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@391014000/codec@38` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@391014000/codec@39` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@391014000/codec@3a` | -| `i2c2` | resources | `/soc/i2c@391018000` | -| `i2c2/audio-codec-output` | bus device | `/soc/i2c@391018000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@39101c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@39101c000/codec@3b` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@39101c000/codec@3c` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@39101c000/codec@3d` | -| `i2c4` | resources | `/soc/i2c@391020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/soc/i2c@391028000` | -| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/soc/i2c@391030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `spi2` | resources | `/soc/spi@391108000` | -| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | -| `spi4` | resources | `/soc/spi@391110000` | -| `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 | -| `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | -| `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `pwm0` | resources | `/soc/pwm@391040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | -| `apcie0/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-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` | resources | `/soc/iommu@f21008000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | -| `acio2` | partial resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | -| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | -| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | -| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | -| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | -| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | -| `mcc` | resources | `/soc/pmp_report@2903c0000`; `/soc/memory-controller@2903c0000`; `/soc/power-management@292818000`; `/soc/error-handler@388c40000` | -| `aic` | resources | `/soc/interrupt-controller@292400000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@292400000` | -| `wdt` | partial resources | `/soc/watchdog@2a02d4000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000` | -| `dwi` | resources | `/soc/dwi@2929b0000` | -| `aes` | resources | `/soc/crypto@39100c000` | -| `gpio0` | resources | `/soc/pinctrl@2b3000000` | -| `aop-gpio0` | resources | `/soc/pinctrl@2a8824000` | -| `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | -| `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | -| `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | -| `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/clpc` | 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` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | -| `nco` | resources | `/soc/clock-controller@29003c000` | -| `sio` | resources | `/soc/dma-controller@391c00000` | -| `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@391004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/power-management@2903d0000`; **GAP:** 10 larger or unmatched resource window(s) | -| `pmp0/iop-pmp0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp0` | resources | `/soc/iommu@290300000` | -| `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | -| `sep` | resources | `/soc/sep@38a400000` | -| `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@388ac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `ans/ans-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | -| `smc` | partial resources | `/soc/smc@2a4400000`; **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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | resources | `/soc/rsm@2a0325000` | -| `dart-rsm` | resources | `/soc/iommu@2a033c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | -| `uart0` | resources | `/soc/serial@391200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | -| `qspi` | resources | `/soc/spi@391118000` | -| `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 | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | bus device | `/soc/spmi@2a1014000/pmic@b` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2a1014000/pmic@b` | -| `nub-spmi1` | resources | `/soc/spmi@2a1054000` | -| `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2` | resources | `/soc/spmi@2a1094000` | -| `nub-spmi2/spmi-sebringC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2/spmi-sebringC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3` | resources | `/soc/spmi@2a10d4000` | -| `nub-spmi3/spmi-sebringC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3/spmi-sebringC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi4` | resources | `/soc/spmi@2a1114000` | -| `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2a1188000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2a1188000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2a1188000/usb-pd@6` | -| `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@2a1198000/usb-pd@8` | -| `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | -| `aop-spmi0` | resources | `/soc/spmi@2a8894000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@2a88d4000` | -| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/iommu@385300000`; `/soc/power-management@2903d0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dart-disp0` | partial resources | `/soc/iommu@385300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `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 | -| `dcp0-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 | -| `scaler0` | resources | `/soc/scaler@407000000` | -| `dart-scaler0` | resources | `/soc/iommu@407200000` | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | -| `scaler1` | resources | `/soc/scaler@3c7000000` | -| `dart-scaler1` | resources | `/soc/iommu@3c7200000` | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | -| `apr0` | resources | `/soc/video-codec@2c5000000` | -| `dart-apr0` | resources | `/soc/iommu@2c5028000`; `/soc/iommu@2c502c000` | -| `dart-apr0/mapper-apr0` | stream | Stream of `/soc/iommu@2c5028000` / `/soc/iommu@2c502c000`; stream/resource linkage needs review | -| `apr1` | resources | `/soc/video-codec@287000000` | -| `dart-apr1` | resources | `/soc/iommu@287008000` | -| `dart-apr1/mapper-apr1` | stream | Stream of `/soc/iommu@287008000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@2cf000000` | -| `dart-jpeg0` | resources | `/soc/iommu@2cf004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@2cf004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@2cf008000` | -| `dart-jpeg1` | resources | `/soc/iommu@2cf00c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@2cf00c000`; stream/resource linkage needs review | -| `ave0` | resources | `/soc/video-encoder@285100000` | -| `dart-ave0` | resources | `/soc/iommu@285030000`; `/soc/iommu@285040000`; `/soc/iommu@285020000`; `/soc/filter@285044000` | -| `dart-ave0/mapper-ave0` | stream | Stream of `/soc/iommu@285030000` / `/soc/iommu@285040000` / `/soc/iommu@285020000` / `/soc/filter@285044000`; stream/resource linkage needs review | -| `ave1` | resources | `/soc/video-encoder@3c5100000` | -| `dart-ave1` | resources | `/soc/iommu@3c5030000`; `/soc/iommu@3c5040000`; `/soc/iommu@3c5020000`; `/soc/filter@3c5044000` | -| `dart-ave1/mapper-ave1` | stream | Stream of `/soc/iommu@3c5030000` / `/soc/iommu@3c5040000` / `/soc/iommu@3c5020000` / `/soc/filter@3c5044000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/soc/avd@2cc000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | resources | `/soc/iommu@2cd010000` | -| `dart-avd0/mapper-avd0` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ane0/iop-ane0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@40a400000` | -| `gfx-asc/iop-gfx-nub0` | 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 | -| `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/mca@393400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/mca@393400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/mca@393400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/soc/pwm@391040000` | -| `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 | -| `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext0` | partial resources | `/soc/dcp@306c00000`; **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@30530c000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; 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@44ac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **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@44930c000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dcpext2-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | -| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dcpext3-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | -| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `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. | -| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu11` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu12` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu13` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu14` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu15` | `/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-hdmi0` | **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. | -| `backlight/twodbl` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `pcie-sdreader-helper` | **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/device-tree/DT-GAPS-j514s.md b/docs/device-tree/DT-GAPS-j514s.md deleted file mode 100644 index 520dfe7734653..0000000000000 --- a/docs/device-tree/DT-GAPS-j514s.md +++ /dev/null @@ -1,468 +0,0 @@ -# DT gaps: J514S - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6030-j514s.dts`. -The hardware resource inventory identifies the T6030 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 380 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 | 14 | -| gap | 26 | -| partial resources | 39 | -| resources | 89 | -| service review | 90 | -| shared hardware | 9 | -| stream | 113 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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@289108000` | -| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | -| `spi4` | resources | `/soc/spi@289110000` | -| `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@289014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@289014000/codec@38` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@289014000/codec@3a` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@289014000/codec@39` | -| `i2c2` | resources | `/soc/i2c@289018000` | -| `i2c2/audio-codec-output` | bus device | `/soc/i2c@289018000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@28901c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@28901c000/codec@3b` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@28901c000/codec@3d` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@28901c000/codec@3c` | -| `i2c4` | resources | `/soc/i2c@289020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/soc/i2c@289028000` | -| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/soc/i2c@289030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `pwm0` | resources | `/soc/pwm@289040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `uart2` | resources | `/soc/serial@289208000` | -| `uart2/wlan-debug` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `acio-cpu0` | resources | `/soc/mailbox@701108000`; `/soc/cio@701ac0000` | -| `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@730000000` | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000` | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `acio-cpu1` | resources | `/soc/mailbox@b01108000`; `/soc/cio@b01ac0000` | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000` | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `acio-cpu2` | resources | `/soc/mailbox@f01108000`; `/soc/cio@f01ac0000` | -| `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` | resources | `/soc/iommu@f21008000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | -| `acio2` | resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000` | -| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | -| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | -| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | -| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | -| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | -| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | resources | `/soc/pmp_report@3503c0000`; `/soc/memory-controller@3503c0000`; `/soc/power-management@350780000`; `/soc/error-handler@29cc40000` | -| `aic` | resources | `/soc/interrupt-controller@351000000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@351000000` | -| `wdt` | partial resources | `/soc/watchdog@3642b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@350700000` | -| `dwi` | resources | `/soc/dwi@350200000` | -| `pwm` | resources | `/soc/pwm@289040000` | -| `aes` | resources | `/soc/crypto@28900c000` | -| `gpio0` | partial resources | `/soc/pinctrl@347100000`; **GAP:** 1 larger or unmatched resource window(s) | -| `aop-gpio` | resources | `/soc/pinctrl@374824000` | -| `nub-gpio` | resources | `/soc/pinctrl@3641f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@36c820000` | -| `aop` | partial resources | `/soc/aop@374c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | -| `dart-aop` | resources | `/soc/iommu@374818000`; `/soc/filter@37481c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/event-log@350700000`; `/soc/error-handler@29cc40000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@350780000`; `/soc/pmp_report@3503c0000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/phy@f03000000`; `/soc/video-encoder@2cd100000`; `/soc/isp@2c8000000`; `/soc/scaler@391000000`; `/soc/video-codec@30d000000`; **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 | -| `nco` | resources | `/soc/clock-controller@350044000` | -| `event-log-handler` | resources | `/soc/event-log@350700000` | -| `pmp` | partial resources | `/soc/pmp@350500000`; `/soc/dcp@28ec00000`; **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@350300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@350300000`; stream/resource linkage needs review | -| `sep` | resources | `/soc/sep@29e400000` | -| `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@29cac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | -| `sio` | partial resources | `/soc/dma-controller@289c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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@289004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@38dcc0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@38dc50000`; `/soc/nvme@38dcc0000` | -| `smc` | partial resources | `/soc/smc@36c400000`; **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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | resources | `/soc/rsm@364325000` | -| `dart-rsm` | resources | `/soc/iommu@36433c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@36433c000`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@289200000`; **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` | gap | **GAP:** no matching hardware resource node | -| `dockchannel-mtp` | partial resources | `/soc/fifo@37ab30000`; `/soc/fifo@37ab30000/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@37a400000`; **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@37a808000`; `/soc/filter@37a80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@37a808000` / `/soc/filter@37a80c000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `spi1` | resources | `/soc/spi@289104000` | -| `spi1/spinor` | bus device | `/soc/spi@289104000/flash@0` | -| `spi1/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi1/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi1/spinor/syscfg` | 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 | -| `admac-sio` | partial resources | `/soc/dma-controller@28b200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@374980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/soc/spmi@364714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1` | bus device | `/soc/spmi@364714000/pmic@b` | -| `nub-spmi0/spmi-spitfireE1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi0/btm` | bus device | `/soc/spmi@364714000/pmic@b` | -| `nub-spmi1` | resources | `/soc/spmi@364794000` | -| `nub-spmi1/spmi-chapelF1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1/spmi-spitfireE2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2` | resources | `/soc/spmi@364814000` | -| `nub-spmi-a0` | partial resources | `/soc/spmi@364908000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@364908000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@364908000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@364908000/usb-pd@6` | -| `nub-spmi-a1` | partial resources | `/soc/spmi@364a08000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@364a08000/usb-pd@8` | -| `aop-spmi0` | resources | `/soc/spmi@374894000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@3748d4000` | -| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@28ec00000`; **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@28d30c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | -| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | -| `dispext0` | partial resources | `/soc/dcp@2d2c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext0` | partial resources | `/soc/dcp@2d2c00000`; **GAP:** 2 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@2d130c000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@2d130c000`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/soc/iommu@2d1300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@2d1300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@2d1300000`; stream/resource linkage needs review | -| `dp-audio1` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | -| `dispext1` | partial resources | `/soc/dcp@2d6c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dart-dispext1` | partial resources | `/soc/iommu@2d5300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | -| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext1` | partial resources | `/soc/dcp@2d6c00000`; **GAP:** 2 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@2d530c000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@2d530c000`; stream/resource linkage needs review | -| `dp-audio2` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | -| `scaler0` | resources | `/soc/scaler@391000000` | -| `dart-scaler` | resources | `/soc/iommu@391200000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@391200000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@391200000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@299000000` | -| `dart-jpeg0` | resources | `/soc/iommu@299004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@299008000` | -| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@2cd100000` | -| `dart-ave` | resources | `/soc/iommu@2cd030000`; `/soc/iommu@2cd040000`; `/soc/iommu@2cd020000`; `/soc/filter@2cd044000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@2cd030000` / `/soc/iommu@2cd040000` / `/soc/iommu@2cd020000` / `/soc/filter@2cd044000`; stream/resource linkage needs review | -| `avd` | partial resources | `/soc/avd@30a000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd` | resources | `/soc/iommu@30b010000` | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@30d000000` | -| `dart-apr` | resources | `/soc/iommu@30d028000`; `/soc/iommu@30d02c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@30d028000` / `/soc/iommu@30d02c000`; stream/resource linkage needs review | -| `isp` | partial resources | `/soc/isp@2c8000000`; `/soc/video-encoder@2cd100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@2ca4a8000`; `/soc/iommu@2ca4b4000`; `/soc/iommu@2ca4bc000`; `/soc/iommu@2ca4b0000`; `/soc/iommu@2ca4b8000`; `/soc/filter@2ca4ac000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2ca4a8000` / `/soc/iommu@2ca4b4000` / `/soc/iommu@2ca4bc000` / `/soc/iommu@2ca4b0000` / `/soc/iommu@2ca4b8000` / `/soc/filter@2ca4ac000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@309804000`; `/soc/video-encoder@2cd100000`; `/soc/pmp_report@3503c0000`; `/soc/cpufreq@211e20000`; **GAP:** 8 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane` | partial resources | `/soc/filter@309804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@309804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | partial resources | `/soc/gpu@292400000`; **GAP:** 2 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 | -| `mca-switch` | partial resources | `/soc/mca@28b400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/mca@28b400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/mca@28b400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/mca@28b400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `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 | -| `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. | -| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu11` | `/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-3` | **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. | -| `backlight/twodbl` | **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/device-tree/DT-GAPS-j516c.md b/docs/device-tree/DT-GAPS-j516c.md deleted file mode 100644 index 3617fb71e0fa1..0000000000000 --- a/docs/device-tree/DT-GAPS-j516c.md +++ /dev/null @@ -1,513 +0,0 @@ -# DT gaps: J516C - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6031-j516c.dts`. -The hardware resource inventory identifies the T6031 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 421 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 | 13 | -| gap | 35 | -| partial resources | 43 | -| resources | 100 | -| service review | 100 | -| shared hardware | 6 | -| stream | 124 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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 | -| --- | --- | --- | -| `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/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@2ac400000`; **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@2ac808000`; `/soc/filter@2ac80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `i2c1` | resources | `/soc/i2c@391014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@391014000/codec@38` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@391014000/codec@39` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@391014000/codec@3a` | -| `i2c2` | resources | `/soc/i2c@391018000` | -| `i2c2/audio-codec-output` | bus device | `/soc/i2c@391018000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@39101c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@39101c000/codec@3b` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@39101c000/codec@3c` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@39101c000/codec@3d` | -| `i2c4` | resources | `/soc/i2c@391020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/soc/i2c@391028000` | -| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/soc/i2c@391030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `spi2` | resources | `/soc/spi@391108000` | -| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | -| `spi4` | resources | `/soc/spi@391110000` | -| `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 | -| `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | -| `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `pwm0` | resources | `/soc/pwm@391040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | -| `apcie0/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-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` | resources | `/soc/iommu@f21008000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | -| `acio2` | partial resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | -| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | -| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | -| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | -| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | -| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | -| `mcc` | resources | `/soc/pmp_report@2903c0000`; `/soc/memory-controller@2903c0000`; `/soc/power-management@292818000`; `/soc/error-handler@388c40000` | -| `aic` | resources | `/soc/interrupt-controller@292400000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@292400000` | -| `wdt` | partial resources | `/soc/watchdog@2a02d4000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000` | -| `dwi` | resources | `/soc/dwi@2929b0000` | -| `aes` | resources | `/soc/crypto@39100c000` | -| `gpio0` | resources | `/soc/pinctrl@2b3000000` | -| `aop-gpio0` | resources | `/soc/pinctrl@2a8824000` | -| `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | -| `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | -| `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | -| `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/clpc` | 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` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | -| `nco` | resources | `/soc/clock-controller@29003c000` | -| `sio` | resources | `/soc/dma-controller@391c00000` | -| `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@391004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/dcp@386c00000`; **GAP:** 10 larger or unmatched resource window(s) | -| `pmp0/iop-pmp0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp0` | resources | `/soc/iommu@290300000` | -| `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | -| `dart-pmp0/mapper-pmp-ptd-fwd` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | -| `sep` | resources | `/soc/sep@38a400000` | -| `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@388ac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `ans/ans-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | -| `smc` | partial resources | `/soc/smc@2a4400000`; **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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | resources | `/soc/rsm@2a0325000` | -| `dart-rsm` | resources | `/soc/iommu@2a033c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | -| `uart0` | resources | `/soc/serial@391200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | -| `qspi` | resources | `/soc/spi@391118000` | -| `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 | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | bus device | `/soc/spmi@2a1014000/pmic@b` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2a1014000/pmic@b` | -| `nub-spmi1` | resources | `/soc/spmi@2a1054000` | -| `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2` | resources | `/soc/spmi@2a1094000` | -| `nub-spmi2/spmi-sebringC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2/spmi-sebringC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3` | resources | `/soc/spmi@2a10d4000` | -| `nub-spmi3/spmi-sebringC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3/spmi-sebringC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi4` | resources | `/soc/spmi@2a1114000` | -| `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2a1188000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2a1188000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2a1188000/usb-pd@6` | -| `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@2a1198000/usb-pd@8` | -| `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | -| `aop-spmi0` | resources | `/soc/spmi@2a8894000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@2a88d4000` | -| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-disp0` | resources | `/soc/iommu@385304000`; `/soc/iommu@385300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385304000` / `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@386c00000`; **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@38530c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@38530c000`; stream/resource linkage needs review | -| `dcp0-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 | -| `scaler0` | resources | `/soc/scaler@407000000` | -| `dart-scaler0` | resources | `/soc/iommu@407200000` | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | -| `scaler1` | resources | `/soc/scaler@3c7000000` | -| `dart-scaler1` | resources | `/soc/iommu@3c7200000` | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | -| `apr0` | resources | `/soc/video-codec@2c5000000` | -| `dart-apr0` | resources | `/soc/iommu@2c5028000`; `/soc/iommu@2c502c000` | -| `dart-apr0/mapper-apr0` | stream | Stream of `/soc/iommu@2c5028000` / `/soc/iommu@2c502c000`; stream/resource linkage needs review | -| `apr1` | resources | `/soc/video-codec@287000000` | -| `dart-apr1` | resources | `/soc/iommu@287008000` | -| `dart-apr1/mapper-apr1` | stream | Stream of `/soc/iommu@287008000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@2cf000000` | -| `dart-jpeg0` | resources | `/soc/iommu@2cf004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@2cf004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@2cf008000` | -| `dart-jpeg1` | resources | `/soc/iommu@2cf00c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@2cf00c000`; stream/resource linkage needs review | -| `ave0` | resources | `/soc/video-encoder@285100000` | -| `dart-ave0` | resources | `/soc/iommu@285030000`; `/soc/iommu@285040000`; `/soc/iommu@285020000`; `/soc/filter@285044000` | -| `dart-ave0/mapper-ave0` | stream | Stream of `/soc/iommu@285030000` / `/soc/iommu@285040000` / `/soc/iommu@285020000` / `/soc/filter@285044000`; stream/resource linkage needs review | -| `ave1` | resources | `/soc/video-encoder@3c5100000` | -| `dart-ave1` | resources | `/soc/iommu@3c5030000`; `/soc/iommu@3c5040000`; `/soc/iommu@3c5020000`; `/soc/filter@3c5044000` | -| `dart-ave1/mapper-ave1` | stream | Stream of `/soc/iommu@3c5030000` / `/soc/iommu@3c5040000` / `/soc/iommu@3c5020000` / `/soc/filter@3c5044000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/soc/avd@2cc000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | resources | `/soc/iommu@2cd010000` | -| `dart-avd0/mapper-avd0` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ane0/iop-ane0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@40a400000` | -| `gfx-asc/iop-gfx-nub0` | 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 | -| `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/mca@393400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/mca@393400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/mca@393400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/soc/pwm@391040000` | -| `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 | -| `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext0` | partial resources | `/soc/dcp@306c00000`; **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@30530c000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; 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@44ac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **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@44930c000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dcpext2-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | -| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/dcp@386c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dcpext3-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | -| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `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. | -| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu11` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu12` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu13` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu14` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu15` | `/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-hdmi0` | **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. | -| `backlight/twodbl` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `pcie-sdreader-helper` | **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/device-tree/DT-GAPS-j516m.md b/docs/device-tree/DT-GAPS-j516m.md deleted file mode 100644 index e8ee7fee1b240..0000000000000 --- a/docs/device-tree/DT-GAPS-j516m.md +++ /dev/null @@ -1,512 +0,0 @@ -# DT gaps: J516M - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6034-j516m.dts`. -The hardware resource inventory identifies the T6031 peripheral die. T6034 is the harvested six-channel T6031 variant. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 420 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 | 13 | -| gap | 37 | -| partial resources | 43 | -| resources | 98 | -| service review | 100 | -| shared hardware | 6 | -| stream | 123 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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 | -| --- | --- | --- | -| `dockchannel-mtp` | partial resources | `/soc/fifo@2acb14000`; `/soc/fifo@2acb14000/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@2ac400000`; **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@2ac808000`; `/soc/filter@2ac80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2ac808000` / `/soc/filter@2ac80c000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `i2c1` | resources | `/soc/i2c@391014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@391014000/codec@38` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@391014000/codec@39` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@391014000/codec@3a` | -| `i2c2` | resources | `/soc/i2c@391018000` | -| `i2c2/audio-codec-output` | bus device | `/soc/i2c@391018000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@39101c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@39101c000/codec@3b` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@39101c000/codec@3c` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@39101c000/codec@3d` | -| `i2c4` | resources | `/soc/i2c@391020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/soc/i2c@391028000` | -| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/soc/i2c@391030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `spi2` | resources | `/soc/spi@391108000` | -| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | -| `spi4` | resources | `/soc/spi@391110000` | -| `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 | -| `spi4/display-temp-sens1` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/display-temp-sens2` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi4/display-temp-sens3` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `isp0` | partial resources | `/soc/isp@38c000000`; `/soc/video-encoder@3c5100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp0` | resources | `/soc/iommu@38e4a8000`; `/soc/iommu@38e4b4000`; `/soc/iommu@38e4bc000`; `/soc/iommu@38e4b0000`; `/soc/iommu@38e4b8000`; `/soc/filter@38e4ac000` | -| `dart-isp0/mapper-isp0` | stream | Stream of `/soc/iommu@38e4a8000` / `/soc/iommu@38e4b4000` / `/soc/iommu@38e4bc000` / `/soc/iommu@38e4b0000` / `/soc/iommu@38e4b8000` / `/soc/filter@38e4ac000`; stream/resource linkage needs review | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2a8980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `pwm0` | resources | `/soc/pwm@391040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | partial resources | `/soc/pcie@580000000`; **GAP:** 23 larger or unmatched resource window(s) | -| `apcie0/pci-bridge0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge0/wlan` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge0/bluetooth-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-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` | resources | `/soc/iommu@f21008000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | -| `acio2` | partial resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/soc/mailbox@f01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu2/iop-acio2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | -| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | -| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | -| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | -| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | -| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | -| `mcc` | resources | `/soc/pmp_report@2903c0000`; `/soc/memory-controller@2903c0000`; `/soc/power-management@292818000`; `/soc/error-handler@388c40000` | -| `aic` | resources | `/soc/interrupt-controller@292400000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@292400000` | -| `wdt` | partial resources | `/soc/watchdog@2a02d4000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000` | -| `dwi` | resources | `/soc/dwi@2929b0000` | -| `aes` | resources | `/soc/crypto@39100c000` | -| `gpio0` | resources | `/soc/pinctrl@2b3000000` | -| `aop-gpio0` | resources | `/soc/pinctrl@2a8824000` | -| `nub-gpio0` | resources | `/soc/pinctrl@2a01f0000` | -| `smc-gpio0` | resources | `/soc/pinctrl@2a4820000` | -| `aop` | partial resources | `/soc/aop@2a8c00000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | -| `dart-aop` | resources | `/soc/iommu@2a8818000`; `/soc/filter@2a881c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2a8818000` / `/soc/filter@2a881c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/error-handler@388c40000`; `/soc/event-log@292800000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/cpufreq@212e20000`; `/soc/power-management@292818000`; `/soc/pmp_report@2903c0000`; `/soc/gpu@40a400000`; `/soc/power-management@408e80000`; **GAP:** 39 larger or unmatched resource window(s) | -| `pmgr/soc-tuner` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgr/clpc` | 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` | resources | `/soc/event-log@292800000`; `/soc/watchdog@2a02d4000` | -| `nco` | resources | `/soc/clock-controller@29003c000` | -| `sio` | resources | `/soc/dma-controller@391c00000` | -| `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@391004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@391004000`; stream/resource linkage needs review | -| `pmp0` | partial resources | `/soc/pmp@290700000`; `/soc/power-management@2903d0000`; **GAP:** 10 larger or unmatched resource window(s) | -| `pmp0/iop-pmp0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-pmp0` | resources | `/soc/iommu@290300000` | -| `dart-pmp0/mapper-pmp0` | stream | Stream of `/soc/iommu@290300000`; stream/resource linkage needs review | -| `sep` | resources | `/soc/sep@38a400000` | -| `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@388ac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@388ac0000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@34dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `ans/ans-pcie` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@34dc50000`; `/soc/nvme@34dcc0000` | -| `smc` | partial resources | `/soc/smc@2a4400000`; **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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aon-ptd` | resources | `/soc/interrupt-controller@2a4dc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | resources | `/soc/rsm@2a0325000` | -| `dart-rsm` | resources | `/soc/iommu@2a033c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2a033c000`; stream/resource linkage needs review | -| `uart0` | resources | `/soc/serial@391200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | gap | **GAP:** no matching hardware resource node | -| `qspi` | resources | `/soc/spi@391118000` | -| `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 | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `admac-sio` | partial resources | `/soc/dma-controller@393200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/soc/spmi@2a1014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | bus device | `/soc/spmi@2a1014000/pmic@b` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2a1014000/pmic@b` | -| `nub-spmi1` | resources | `/soc/spmi@2a1054000` | -| `nub-spmi1/spmi-chapelF1-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1/spmi-spitfireE1-9` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2` | resources | `/soc/spmi@2a1094000` | -| `nub-spmi2/spmi-sebringC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2/spmi-sebringC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3` | resources | `/soc/spmi@2a10d4000` | -| `nub-spmi3/spmi-sebringC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3/spmi-sebringC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi4` | resources | `/soc/spmi@2a1114000` | -| `nub-spmi4/spmi-sebringC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@2a1188000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2a1188000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2a1188000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2a1188000/usb-pd@6` | -| `nub-spmi-a1` | partial resources | `/soc/spmi@2a1198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@2a1198000/usb-pd@8` | -| `nub-spmi-a2` | gap | **GAP:** no matching hardware resource node | -| `aop-spmi0` | resources | `/soc/spmi@2a8894000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@2a88d4000` | -| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/soc/iommu@385300000`; `/soc/power-management@2903d0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dart-disp0` | partial resources | `/soc/iommu@385300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@385300000`; stream/resource linkage needs review | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `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 | -| `dcp0-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 | -| `scaler0` | resources | `/soc/scaler@407000000` | -| `dart-scaler0` | resources | `/soc/iommu@407200000` | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/soc/iommu@407200000`; stream/resource linkage needs review | -| `scaler1` | resources | `/soc/scaler@3c7000000` | -| `dart-scaler1` | resources | `/soc/iommu@3c7200000` | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `/soc/iommu@3c7200000`; stream/resource linkage needs review | -| `apr0` | resources | `/soc/video-codec@2c5000000` | -| `dart-apr0` | resources | `/soc/iommu@2c5028000`; `/soc/iommu@2c502c000` | -| `dart-apr0/mapper-apr0` | stream | Stream of `/soc/iommu@2c5028000` / `/soc/iommu@2c502c000`; stream/resource linkage needs review | -| `apr1` | resources | `/soc/video-codec@287000000` | -| `dart-apr1` | resources | `/soc/iommu@287008000` | -| `dart-apr1/mapper-apr1` | stream | Stream of `/soc/iommu@287008000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@2cf000000` | -| `dart-jpeg0` | resources | `/soc/iommu@2cf004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@2cf004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@2cf008000` | -| `dart-jpeg1` | resources | `/soc/iommu@2cf00c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@2cf00c000`; stream/resource linkage needs review | -| `ave0` | resources | `/soc/video-encoder@285100000` | -| `dart-ave0` | resources | `/soc/iommu@285030000`; `/soc/iommu@285040000`; `/soc/iommu@285020000`; `/soc/filter@285044000` | -| `dart-ave0/mapper-ave0` | stream | Stream of `/soc/iommu@285030000` / `/soc/iommu@285040000` / `/soc/iommu@285020000` / `/soc/filter@285044000`; stream/resource linkage needs review | -| `ave1` | resources | `/soc/video-encoder@3c5100000` | -| `dart-ave1` | resources | `/soc/iommu@3c5030000`; `/soc/iommu@3c5040000`; `/soc/iommu@3c5020000`; `/soc/filter@3c5044000` | -| `dart-ave1/mapper-ave1` | stream | Stream of `/soc/iommu@3c5030000` / `/soc/iommu@3c5040000` / `/soc/iommu@3c5020000` / `/soc/filter@3c5044000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/soc/avd@2cc000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | resources | `/soc/iommu@2cd010000` | -| `dart-avd0/mapper-avd0` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/soc/iommu@2cd010000`; stream/resource linkage needs review | -| `ane0` | partial resources | `/soc/filter@3c9804000`; `/soc/video-encoder@3c5100000`; `/soc/pmp_report@2903c0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ane0/iop-ane0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane0` | partial resources | `/soc/filter@3c9804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane0/mapper-ane0` | stream | Stream of `/soc/filter@3c9804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@40a400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@40a400000` | -| `gfx-asc/iop-gfx-nub0` | 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 | -| `mca-switch` | partial resources | `/soc/mca@393400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/mca@393400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/mca@393400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/mca@393400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/soc/pwm@391040000` | -| `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 | -| `dispext0` | partial resources | `/soc/dcp@306c00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext0` | resources | `/soc/iommu@305304000`; `/soc/iommu@305300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@305304000` / `/soc/iommu@305300000`; stream/resource linkage needs review | -| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext0` | partial resources | `/soc/dcp@306c00000`; **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@30530c000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@30530c000`; 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@44ac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext1` | resources | `/soc/iommu@449304000`; `/soc/iommu@449300000` | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@449304000` / `/soc/iommu@449300000`; stream/resource linkage needs review | -| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext1` | partial resources | `/soc/dcp@44ac00000`; **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@44930c000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@44930c000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext2` | partial resources | `/soc/dcp@44ec00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext2` | resources | `/soc/iommu@44d304000`; `/soc/iommu@44d300000` | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `/soc/iommu@44d304000` / `/soc/iommu@44d300000`; stream/resource linkage needs review | -| `dcpext2-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext2` | partial resources | `/soc/dcp@44ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | resources | `/soc/iommu@44d30c000` | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `/soc/iommu@44d30c000`; stream/resource linkage needs review | -| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext3` | partial resources | `/soc/dcp@2cac00000`; `/soc/power-management@2903d0000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext3` | resources | `/soc/iommu@2c9304000`; `/soc/iommu@2c9300000` | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `/soc/iommu@2c9304000` / `/soc/iommu@2c9300000`; stream/resource linkage needs review | -| `dcpext3-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext3` | partial resources | `/soc/dcp@2cac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | resources | `/soc/iommu@2c930c000` | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `/soc/iommu@2c930c000`; stream/resource linkage needs review | -| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `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. | -| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu11` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu12` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu13` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu14` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu15` | `/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-hdmi0` | **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. | -| `backlight/twodbl` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `pcie-sdreader-helper` | **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/device-tree/DT-GAPS-j516s.md b/docs/device-tree/DT-GAPS-j516s.md deleted file mode 100644 index d6523be9ce8b8..0000000000000 --- a/docs/device-tree/DT-GAPS-j516s.md +++ /dev/null @@ -1,468 +0,0 @@ -# DT gaps: J516S - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6030-j516s.dts`. -The hardware resource inventory identifies the T6030 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 380 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 | 14 | -| gap | 26 | -| partial resources | 39 | -| resources | 89 | -| service review | 90 | -| shared hardware | 9 | -| stream | 113 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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@289108000` | -| `spi2/mesa` | gap | **GAP:** fingerprint endpoint is not described | -| `spi4` | resources | `/soc/spi@289110000` | -| `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@289014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@289014000/codec@38` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@289014000/codec@3a` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@289014000/codec@39` | -| `i2c2` | resources | `/soc/i2c@289018000` | -| `i2c2/audio-codec-output` | bus device | `/soc/i2c@289018000/codec@4b` | -| `i2c3` | resources | `/soc/i2c@28901c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@28901c000/codec@3b` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@28901c000/codec@3d` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@28901c000/codec@3c` | -| `i2c4` | resources | `/soc/i2c@289020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/soc/i2c@289028000` | -| `i2c6/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/atcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/soc/i2c@289030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `pwm0` | resources | `/soc/pwm@289040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie1` | resources | `/soc/iommu@595000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/soc/iommu@595000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/soc/dma-controller@595010000` | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `uart2` | resources | `/soc/serial@289208000` | -| `uart2/wlan-debug` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 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-bridge1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie/pci-bridge1/pcie-sdreader` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/soc/iommu@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `acio-cpu0` | resources | `/soc/mailbox@701108000`; `/soc/cio@701ac0000` | -| `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@730000000` | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/usb4-pcie-tunnel-0/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/usb4-pcie-tunnel-0/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000` | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `acio-cpu1` | resources | `/soc/mailbox@b01108000`; `/soc/cio@b01ac0000` | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000` | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `acio-cpu2` | resources | `/soc/mailbox@f01108000`; `/soc/cio@f01ac0000` | -| `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` | resources | `/soc/iommu@f21008000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/soc/iommu@f21008000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/soc/dma-controller@f22000000` | -| `acio2` | resources | `/soc/cio@f01ac0000/nhi@f00000`; `/soc/cio@f01ac0000` | -| `dart-acio2` | resources | `/soc/cio@f01ac0000/iommu@a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/soc/cio@f01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc2-dpxbar` | resources | `/soc/mux@f0304c000` | -| `atc2-dpphy` | shared hardware | `/soc/phy@f03000000` | -| `atc2-dpin0` | resources | `/soc/displayport@f01e50000` | -| `atc2-dpin1` | resources | `/soc/displayport@f01e58000` | -| `atc3-dpxbar` | resources | `/soc/mux@130304c000` | -| `atc3-dpphy` | shared hardware | `/soc/phy@1303000000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | resources | `/soc/pmp_report@3503c0000`; `/soc/memory-controller@3503c0000`; `/soc/power-management@350780000`; `/soc/error-handler@29cc40000` | -| `aic` | resources | `/soc/interrupt-controller@351000000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@351000000` | -| `wdt` | partial resources | `/soc/watchdog@3642b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@350700000` | -| `dwi` | resources | `/soc/dwi@350200000` | -| `pwm` | resources | `/soc/pwm@289040000` | -| `aes` | resources | `/soc/crypto@28900c000` | -| `gpio0` | partial resources | `/soc/pinctrl@347100000`; **GAP:** 1 larger or unmatched resource window(s) | -| `aop-gpio` | resources | `/soc/pinctrl@374824000` | -| `nub-gpio` | resources | `/soc/pinctrl@3641f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@36c820000` | -| `aop` | partial resources | `/soc/aop@374c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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/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 | -| `dart-aop` | resources | `/soc/iommu@374818000`; `/soc/filter@37481c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@374818000` / `/soc/filter@37481c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/event-log@350700000`; `/soc/error-handler@29cc40000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@350780000`; `/soc/pmp_report@3503c0000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/phy@f03000000`; `/soc/video-encoder@2cd100000`; `/soc/isp@2c8000000`; `/soc/scaler@391000000`; `/soc/video-codec@30d000000`; **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 | -| `nco` | resources | `/soc/clock-controller@350044000` | -| `event-log-handler` | resources | `/soc/event-log@350700000` | -| `pmp` | partial resources | `/soc/pmp@350500000`; `/soc/dcp@28ec00000`; **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@350300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@350300000`; stream/resource linkage needs review | -| `sep` | resources | `/soc/sep@29e400000` | -| `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@29cac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | -| `sio` | partial resources | `/soc/dma-controller@289c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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@289004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@289004000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@38dcc0000`; **GAP:** 7 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@38dc50000`; `/soc/nvme@38dcc0000` | -| `smc` | partial resources | `/soc/smc@36c400000`; **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` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | resources | `/soc/rsm@364325000` | -| `dart-rsm` | resources | `/soc/iommu@36433c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@36433c000`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@289200000`; **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` | gap | **GAP:** no matching hardware resource node | -| `dockchannel-mtp` | partial resources | `/soc/fifo@37ab30000`; `/soc/fifo@37ab30000/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@37a400000`; **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@37a808000`; `/soc/filter@37a80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@37a808000` / `/soc/filter@37a80c000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `spi1` | resources | `/soc/spi@289104000` | -| `spi1/spinor` | bus device | `/soc/spi@289104000/flash@0` | -| `spi1/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi1/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi1/spinor/syscfg` | 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 | -| `admac-sio` | partial resources | `/soc/dma-controller@28b200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@374980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/phy@f03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/soc/iommu@f02f00000`; `/soc/iommu@f02f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/soc/iommu@f02f00000` / `/soc/iommu@f02f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/soc/usb@f02280000`; `/soc/phy@f03000000`; **GAP:** 8 larger or unmatched resource window(s) | -| `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` | partial resources | `/soc/phy@1303000000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/soc/spmi@364714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1` | bus device | `/soc/spmi@364714000/pmic@b` | -| `nub-spmi0/spmi-spitfireE1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi0/btm` | bus device | `/soc/spmi@364714000/pmic@b` | -| `nub-spmi1` | resources | `/soc/spmi@364794000` | -| `nub-spmi1/spmi-chapelF1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi1/spmi-spitfireE2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2` | resources | `/soc/spmi@364814000` | -| `nub-spmi-a0` | partial resources | `/soc/spmi@364908000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@364908000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@364908000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@364908000/usb-pd@6` | -| `nub-spmi-a1` | partial resources | `/soc/spmi@364a08000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | bus device | `/soc/spmi@364a08000/usb-pd@8` | -| `aop-spmi0` | resources | `/soc/spmi@374894000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@3748d4000` | -| `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-spmi1/stockholm-spmi-p1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-p1/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1/stockholm-spmi-juno/stockholm` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@28ec00000`; **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@28d30c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | -| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dcp-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | -| `dispext0` | partial resources | `/soc/dcp@2d2c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dcpext0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext0` | partial resources | `/soc/dcp@2d2c00000`; **GAP:** 2 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@2d130c000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/soc/iommu@2d130c000`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/soc/iommu@2d1300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@2d1300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@2d1300000`; stream/resource linkage needs review | -| `dp-audio1` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | -| `dispext1` | partial resources | `/soc/dcp@2d6c00000`; `/soc/pmp_report@3503c0000`; **GAP:** 5 larger or unmatched resource window(s) | -| `dart-dispext1` | partial resources | `/soc/iommu@2d5300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/soc/iommu@2d5300000`; stream/resource linkage needs review | -| `dcpext1-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext1` | partial resources | `/soc/dcp@2d6c00000`; **GAP:** 2 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@2d530c000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/soc/iommu@2d530c000`; stream/resource linkage needs review | -| `dp-audio2` | shared hardware | `/audio-controller-2`; `/audio-controller-1` | -| `scaler0` | resources | `/soc/scaler@391000000` | -| `dart-scaler` | resources | `/soc/iommu@391200000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@391200000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@391200000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@299000000` | -| `dart-jpeg0` | resources | `/soc/iommu@299004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@299008000` | -| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@2cd100000` | -| `dart-ave` | resources | `/soc/iommu@2cd030000`; `/soc/iommu@2cd040000`; `/soc/iommu@2cd020000`; `/soc/filter@2cd044000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@2cd030000` / `/soc/iommu@2cd040000` / `/soc/iommu@2cd020000` / `/soc/filter@2cd044000`; stream/resource linkage needs review | -| `avd` | partial resources | `/soc/avd@30a000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd` | resources | `/soc/iommu@30b010000` | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@30b010000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@30d000000` | -| `dart-apr` | resources | `/soc/iommu@30d028000`; `/soc/iommu@30d02c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@30d028000` / `/soc/iommu@30d02c000`; stream/resource linkage needs review | -| `isp` | partial resources | `/soc/isp@2c8000000`; `/soc/video-encoder@2cd100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@2ca4a8000`; `/soc/iommu@2ca4b4000`; `/soc/iommu@2ca4bc000`; `/soc/iommu@2ca4b0000`; `/soc/iommu@2ca4b8000`; `/soc/filter@2ca4ac000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2ca4a8000` / `/soc/iommu@2ca4b4000` / `/soc/iommu@2ca4bc000` / `/soc/iommu@2ca4b0000` / `/soc/iommu@2ca4b8000` / `/soc/filter@2ca4ac000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@309804000`; `/soc/video-encoder@2cd100000`; `/soc/pmp_report@3503c0000`; `/soc/cpufreq@211e20000`; **GAP:** 8 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane` | partial resources | `/soc/filter@309804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@309804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | partial resources | `/soc/gpu@292400000`; **GAP:** 2 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 | -| `mca-switch` | partial resources | `/soc/mca@28b400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/mca@28b400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/mca@28b400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/mca@28b400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `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 | -| `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. | -| `cpus/cpu10` | `/cpus`; core topology and harvesting require loader/compiled-DTB reconciliation. | -| `cpus/cpu11` | `/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-3` | **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. | -| `backlight/twodbl` | **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/device-tree/DT-GAPS-j613.md b/docs/device-tree/DT-GAPS-j613.md deleted file mode 100644 index 192ee44d36740..0000000000000 --- a/docs/device-tree/DT-GAPS-j613.md +++ /dev/null @@ -1,378 +0,0 @@ -# DT gaps: J613 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8122-j613.dts`. -The hardware resource inventory identifies the T8122 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 298 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 | 11 | -| gap | 18 | -| partial resources | 33 | -| resources | 71 | -| service review | 79 | -| shared hardware | 4 | -| stream | 82 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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@2a1108000` | -| `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | -| `spi4` | resources | `/soc/spi@2a1110000` | -| `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@2a1014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@2a1014000/codec@39` | -| `i2c3` | resources | `/soc/i2c@2a101c000` | -| `i2c3/audio-speaker-right-woofer` | bus device | `/soc/i2c@2a101c000/codec@3b` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@2a101c000/codec@3c` | -| `i2c3/audio-codec-output` | bus device | `/soc/i2c@2a101c000/codec@4b` | -| `i2c4` | resources | `/soc/i2c@2a1020000` | -| `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | -| `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | -| `fpwm1` | resources | `/soc/pwm@2a1044000` | -| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 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@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | -| `aic` | resources | `/soc/interrupt-controller@2d1000000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | -| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | -| `dwi` | resources | `/soc/dwi@2d0200000` | -| `pwm` | resources | `/soc/pwm@2a1040000` | -| `aes` | resources | `/soc/crypto@2a100c000` | -| `gpio0` | resources | `/soc/pinctrl@2c7100000` | -| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | -| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | -| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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 | -| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 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 | -| `nco` | resources | `/soc/clock-controller@2d0044000` | -| `event-log-handler` | resources | `/soc/event-log@2d0700000` | -| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 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@2d0300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@29e400000`; **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@29cac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | -| `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `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@2a1004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | -| `smc` | partial resources | `/soc/smc@2ec400000`; **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 | -| `rsm` | resources | `/soc/rsm@2e4325000` | -| `dart-rsm` | resources | `/soc/iommu@2e433c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@2a1200000`; **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` | gap | **GAP:** no matching hardware resource node | -| `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/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@2fa400000`; **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@2fa808000`; `/soc/filter@2fa80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | -| `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@2a1018000` | -| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi1` | resources | `/soc/spmi@2e4794000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@2e4908000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2e4908000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2e4908000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2e4908000/usb-pd@8` | -| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@2f48d4000` | -| `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 | -| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@28ec00000`; **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@28d30c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | -| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; 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@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext` | resources | `/soc/iommu@31930c000` | -| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | -| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@31d000000` | -| `dart-scaler` | resources | `/soc/iommu@31d200000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@299000000` | -| `dart-jpeg0` | resources | `/soc/iommu@299004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@299008000` | -| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@315100000` | -| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | -| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd` | resources | `/soc/iommu@289010000` | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@321000000` | -| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | -| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@292400000` | -| `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 | -| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `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 | -| `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. | -| `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/device-tree/DT-GAPS-j615.md b/docs/device-tree/DT-GAPS-j615.md deleted file mode 100644 index 1390dc36f37f7..0000000000000 --- a/docs/device-tree/DT-GAPS-j615.md +++ /dev/null @@ -1,380 +0,0 @@ -# DT gaps: J615 - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t8122-j615.dts`. -The hardware resource inventory identifies the T8122 peripheral die. - -Source: per-board 27.2 firmware hardware-description template. No live dump for this board was available in the supplied live collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This is a resource coverage audit, not a claim of complete board support. 300 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 | 13 | -| gap | 18 | -| partial resources | 33 | -| resources | 71 | -| service review | 79 | -| shared hardware | 4 | -| stream | 82 | - -## 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 #1031: existing M3 DTS cleanup, kept separate from this resource expansion. -- linux PR #1033 and #1086: binding and M3 DTS updates already present in the integration base. - -## 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@2a1108000` | -| `spi2/mesa` | bus device | `/soc/spi@2a1108000/fingerprint@0` | -| `spi4` | resources | `/soc/spi@2a1110000` | -| `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@2a1014000` | -| `i2c1/audio-speaker` | bus device | `/soc/i2c@2a1014000/codec@38` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/soc/i2c@2a1014000/codec@3a` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/soc/i2c@2a1014000/codec@39` | -| `i2c3` | resources | `/soc/i2c@2a101c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/soc/i2c@2a101c000/codec@3b` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/soc/i2c@2a101c000/codec@3d` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/soc/i2c@2a101c000/codec@3c` | -| `i2c3/audio-codec-output` | bus device | `/soc/i2c@2a101c000/codec@4b` | -| `i2c4` | resources | `/soc/i2c@2a1020000` | -| `i2c4/avellino-pre` | gap | **GAP:** I2C device not described under this bus | -| `i2c4/avellino-post` | gap | **GAP:** I2C device not described under this bus | -| `fpwm1` | resources | `/soc/pwm@2a1044000` | -| `fpwm1/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc0/audio-leap-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `alc4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `alc4/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | shared hardware | `/soc/pcie@580000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/soc/pcie@580000000/pci@0,0/bluetooth@0,1` | -| `apcie` | partial resources | `/soc/pcie@580000000`; **GAP:** 18 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@594000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/soc/iommu@594000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/soc/dma-controller@594010000` | -| `acio-cpu0` | partial resources | `/soc/mailbox@701108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu0/iop-acio0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec0` | gap | **GAP:** no matching hardware resource node | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/soc/iommu@721008000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/soc/iommu@721008000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/soc/dma-controller@722000000` | -| `acio0` | partial resources | `/soc/cio@701ac0000/nhi@f00000`; `/soc/cio@701ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0` | resources | `/soc/cio@701ac0000/iommu@a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/soc/cio@701ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc0-dpxbar` | resources | `/soc/mux@70304c000` | -| `atc0-dpphy` | shared hardware | `/soc/phy@703000000` | -| `atc0-dpin0` | resources | `/soc/displayport@701e50000` | -| `atc0-dpin1` | resources | `/soc/displayport@701e58000` | -| `acio-cpu1` | partial resources | `/soc/mailbox@b01108000`; **GAP:** 1 larger or unmatched resource window(s) | -| `acio-cpu1/iop-acio1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apciec1` | gap | **GAP:** no matching hardware resource node | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/soc/iommu@b21008000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/soc/iommu@b21008000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/soc/dma-controller@b22000000` | -| `acio1` | partial resources | `/soc/cio@b01ac0000/nhi@f00000`; `/soc/cio@b01ac0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1` | resources | `/soc/cio@b01ac0000/iommu@a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/soc/cio@b01ac0000/iommu@a80000`; stream/resource linkage needs review | -| `atc1-dpxbar` | resources | `/soc/mux@b0304c000` | -| `atc1-dpphy` | shared hardware | `/soc/phy@b03000000` | -| `atc1-dpin0` | resources | `/soc/displayport@b01e50000` | -| `atc1-dpin1` | resources | `/soc/displayport@b01e58000` | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | resources | `/soc/pmp_report@2d03c0000`; `/soc/memory-controller@2d03c0000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000` | -| `aic` | resources | `/soc/interrupt-controller@2d1000000` | -| `aic-timebase` | resources | `/soc/interrupt-controller@2d1000000` | -| `wdt` | partial resources | `/soc/watchdog@2e42b0000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | resources | `/soc/error-handler@29cc40000`; `/soc/event-log@2d0700000` | -| `dwi` | resources | `/soc/dwi@2d0200000` | -| `pwm` | resources | `/soc/pwm@2a1040000` | -| `aes` | resources | `/soc/crypto@2a100c000` | -| `gpio0` | resources | `/soc/pinctrl@2c7100000` | -| `aop-gpio` | resources | `/soc/pinctrl@2f4824000` | -| `nub-gpio` | resources | `/soc/pinctrl@2e41f0000` | -| `smc-gpio` | resources | `/soc/pinctrl@2ec820000` | -| `aop` | partial resources | `/soc/aop@2f4c00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `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-audio/audio-pdm2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/hfdc-2400000` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-lp-mic-in` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aop/iop-aop-nub/aop-audio/audio-leap-internal-loopback` | 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 | -| `dart-aop` | resources | `/soc/iommu@2f4818000`; `/soc/filter@2f481c000` | -| `dart-aop/mapper-aop` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-aop-admac` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `dart-aop/mapper-scm` | stream | Stream of `/soc/iommu@2f4818000` / `/soc/filter@2f481c000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/soc/event-log@2d0700000`; `/soc/cpufreq@210e20000`; `/soc/cpufreq@211e20000`; `/soc/power-management@2d0780000`; `/soc/error-handler@29cc40000`; `/soc/pmp_report@2d03c0000`; `/soc/video-encoder@315100000`; `/soc/isp@2a4000000`; `/soc/gpu@292400000`; `/soc/phy@703000000`; `/soc/phy@b03000000`; `/soc/video-codec@321000000`; **GAP:** 57 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 | -| `nco` | resources | `/soc/clock-controller@2d0044000` | -| `event-log-handler` | resources | `/soc/event-log@2d0700000` | -| `pmp` | partial resources | `/soc/pmp@2d0500000`; `/soc/dcp@28ec00000`; **GAP:** 2 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@2d0300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/soc/iommu@2d0300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/soc/sep@29e400000`; **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@29cac0000` | -| `dart-sep/mapper-sep` | stream | Stream of `/soc/iommu@29cac0000`; stream/resource linkage needs review | -| `sio` | resources | `/soc/dma-controller@2a1c00000` | -| `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@2a1004000` | -| `dart-sio/mapper-sio` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `dart-sio/mapper-admac` | stream | Stream of `/soc/iommu@2a1004000`; stream/resource linkage needs review | -| `ans` | partial resources | `/soc/nvme@30dcc0000`; **GAP:** 6 larger or unmatched resource window(s) | -| `ans/iop-ans-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `sart-ans` | resources | `/soc/sart@30dc50000`; `/soc/nvme@30dcc0000` | -| `smc` | partial resources | `/soc/smc@2ec400000`; **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 | -| `rsm` | resources | `/soc/rsm@2e4325000` | -| `dart-rsm` | resources | `/soc/iommu@2e433c000` | -| `dart-rsm/mapper-rsm` | stream | Stream of `/soc/iommu@2e433c000`; stream/resource linkage needs review | -| `uart0` | partial resources | `/soc/serial@2a1200000`; **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` | gap | **GAP:** no matching hardware resource node | -| `dockchannel-mtp` | partial resources | `/soc/fifo@2fab14000`; `/soc/fifo@2fab14000/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@2fa400000`; **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@2fa808000`; `/soc/filter@2fa80c000` | -| `dart-mtp/mapper-mtp` | stream | Stream of `/soc/iommu@2fa808000` / `/soc/filter@2fa80c000`; 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@2a1118000` | -| `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@2a1018000` | -| `i2c2/atcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c2/atcrt1` | gap | **GAP:** I2C device not described under this bus | -| `admac-sio` | partial resources | `/soc/dma-controller@2a3200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `admac-aop-audio` | partial resources | `/soc/dma-controller@2f4980000`; **GAP:** 1 larger or unmatched resource window(s) | -| `atc-phy0` | partial resources | `/soc/phy@703000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/soc/iommu@702f00000`; `/soc/iommu@702f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/soc/iommu@702f00000` / `/soc/iommu@702f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/soc/usb@702280000`; `/soc/phy@703000000`; **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 | -| `usb-otg0` | resources | `/soc/usb@702100000`; `/soc/phy@703000000` | -| `atc-phy1` | partial resources | `/soc/phy@b03000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/soc/iommu@b02f00000`; `/soc/iommu@b02f80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/soc/iommu@b02f00000` / `/soc/iommu@b02f80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/soc/usb@b02280000`; `/soc/phy@b03000000`; **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` | partial resources | `/soc/spmi@2e4714000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/pmu-main` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi0/btm` | bus device | `/soc/spmi@2e4714000/pmic@e` | -| `nub-spmi1` | resources | `/soc/spmi@2e4794000` | -| `nub-spmi1/pmu-aux` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/soc/spmi@2e4908000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/soc/spmi@2e4908000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/soc/spmi@2e4908000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/soc/spmi@2e4908000/usb-pd@8` | -| `aop-spmi0` | resources | `/soc/spmi@2f4894000` | -| `aop-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `aop-spmi1` | resources | `/soc/spmi@2f48d4000` | -| `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 | -| `lcd0-sac` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `disp0` | partial resources | `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcp0-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcp` | partial resources | `/soc/dcp@28ec00000`; **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@28d30c000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/soc/iommu@28d30c000`; stream/resource linkage needs review | -| `dart-disp0` | resources | `/soc/iommu@28d304000`; `/soc/iommu@28d300000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/soc/iommu@28d304000` / `/soc/iommu@28d300000`; 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@31ac00000`; `/soc/dcp@28ec00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext-expert` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dcpext` | partial resources | `/soc/dcp@31ac00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dcpext/iop-dcpext-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext` | resources | `/soc/iommu@31930c000` | -| `dart-dcpext/mapper-dcpext` | stream | Stream of `/soc/iommu@31930c000`; stream/resource linkage needs review | -| `dart-dispext0` | resources | `/soc/iommu@319304000`; `/soc/iommu@319300000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/soc/iommu@319304000` / `/soc/iommu@319300000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/soc/scaler@31d000000` | -| `dart-scaler` | resources | `/soc/iommu@31d200000` | -| `dart-scaler/mapper-scaler` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `dart-scaler/mapper-scaler-piodma` | stream | Stream of `/soc/iommu@31d200000`; stream/resource linkage needs review | -| `jpeg0` | resources | `/soc/jpeg@299000000` | -| `dart-jpeg0` | resources | `/soc/iommu@299004000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/soc/iommu@299004000`; stream/resource linkage needs review | -| `jpeg1` | resources | `/soc/jpeg@299008000` | -| `dart-jpeg1` | resources | `/soc/iommu@29900c000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/soc/iommu@29900c000`; stream/resource linkage needs review | -| `ave` | resources | `/soc/video-encoder@315100000` | -| `dart-ave` | resources | `/soc/iommu@315030000`; `/soc/iommu@315040000`; `/soc/iommu@315020000`; `/soc/filter@315044000` | -| `dart-ave/mapper-ave` | stream | Stream of `/soc/iommu@315030000` / `/soc/iommu@315040000` / `/soc/iommu@315020000` / `/soc/filter@315044000`; stream/resource linkage needs review | -| `avd` | partial resources | `/soc/avd@289080000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd` | resources | `/soc/iommu@289010000` | -| `dart-avd/mapper-avd` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-piodma` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `dart-avd/mapper-avd-adsbuf` | stream | Stream of `/soc/iommu@289010000`; stream/resource linkage needs review | -| `apr` | resources | `/soc/video-codec@321000000` | -| `dart-apr` | resources | `/soc/iommu@321028000`; `/soc/iommu@32102c000` | -| `dart-apr/mapper-apr` | stream | Stream of `/soc/iommu@321028000` / `/soc/iommu@32102c000`; stream/resource linkage needs review | -| `isp` | partial resources | `/soc/isp@2a4000000`; `/soc/video-encoder@315100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-isp` | resources | `/soc/iommu@2a64a8000`; `/soc/iommu@2a64b4000`; `/soc/iommu@2a64bc000`; `/soc/iommu@2a64b0000`; `/soc/iommu@2a64b8000`; `/soc/filter@2a64ac000` | -| `dart-isp/mapper-isp` | stream | Stream of `/soc/iommu@2a64a8000` / `/soc/iommu@2a64b4000` / `/soc/iommu@2a64bc000` / `/soc/iommu@2a64b0000` / `/soc/iommu@2a64b8000` / `/soc/filter@2a64ac000`; stream/resource linkage needs review | -| `ane` | partial resources | `/soc/filter@311804000`; `/soc/video-encoder@315100000`; **GAP:** 5 larger or unmatched resource window(s) | -| `ane/iop-ane-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-ane` | partial resources | `/soc/filter@311804000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ane/mapper-ane` | stream | Stream of `/soc/filter@311804000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/soc/gpu@292400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/soc/gpu@292400000` | -| `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 | -| `mca-switch` | partial resources | `/soc/i2s@2a3400000`; **GAP:** 2 larger or unmatched resource window(s) | -| `mca0` | resources | `/soc/i2s@2a3400000` | -| `mca0/mca0a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca0/mca0a/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1` | resources | `/soc/i2s@2a3400000` | -| `mca1/mca1a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca1/mca1a/audio-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2` | resources | `/soc/i2s@2a3400000` | -| `mca2/mca2a` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2a/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `mca2/mca2b/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `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 | -| `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 | -| `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. | -| `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. | From d4845dcf52adef03068ddcddce86a83b234fb464 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:54:03 +1100 Subject: [PATCH 06/12] arm64: dts: apple: complete M3 DMA stream and auxiliary bus dependencies Describe AES and PCIe PIODMA streams through their actual DARTs and add the omitted T6031 A2 SPMI bus. Distinguish the T8122 timer PWM from FPWM, and extend the shared ATCPHY layout constraints without duplicating the common contract. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/crypto/apple,aes.yaml | 4 + .../bindings/dma/apple,pcie-piodma.yaml | 4 + .../devicetree/bindings/phy/apple,atcphy.yaml | 773 +++++++++--------- .../devicetree/bindings/pwm/apple,pwm.yaml | 46 ++ .../bindings/pwm/apple,s5l-fpwm.yaml | 3 - .../boot/dts/apple/t6030-peripherals.dtsi | 6 + .../dts/apple/t6031-peripheral-buses.dtsi | 16 + .../boot/dts/apple/t6031-peripherals.dtsi | 6 + .../boot/dts/apple/t8122-misc-interfaces.dtsi | 6 +- .../boot/dts/apple/t8122-peripherals.dtsi | 5 + 10 files changed, 455 insertions(+), 414 deletions(-) create mode 100644 Documentation/devicetree/bindings/pwm/apple,pwm.yaml diff --git a/Documentation/devicetree/bindings/crypto/apple,aes.yaml b/Documentation/devicetree/bindings/crypto/apple,aes.yaml index d765aa1e8ecc5..27ccd120a2550 100644 --- a/Documentation/devicetree/bindings/crypto/apple,aes.yaml +++ b/Documentation/devicetree/bindings/crypto/apple,aes.yaml @@ -57,11 +57,15 @@ allOf: power-domains: maxItems: 1 + iommus: + maxItems: 1 + required: - compatible - reg - interrupts - power-domains + - iommus additionalProperties: false else: diff --git a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml index be6e1c3bccb2c..fcd075f2e03b1 100644 --- a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml +++ b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml @@ -53,10 +53,14 @@ allOf: interrupts: maxItems: 1 + iommus: + maxItems: 1 + required: - compatible - reg - interrupts + - iommus additionalProperties: false else: diff --git a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml index 914d8c8ae78fd..ffe8cca0207fa 100644 --- a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml +++ b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml @@ -36,42 +36,8 @@ description: > display crossbar is not part of the PHY resource. SuperSpeed calibration is supplied in banked lists so that no list spans that crossbar. -$defs: - apple,tunable: - $ref: /schemas/types.yaml#/definitions/uint32-matrix - items: - items: - - description: Register offset - - description: Mask to be applied to the register value - - description: Bits to be set after applying the mask - description: > - List of (register offset, mask, value) tuples copied from Apple's Device - Tree by our bootloader m1n1 and used to configure the PHY. These values - even vary for a single product/device and likely contain calibration - values determined by Apple at manufacturing time. - Unless otherwise noted these tunables are always applied to the core - register region. - - -select: - properties: - compatible: - contains: - enum: - - apple,t8132-atcphy - - apple,t8140-atcphy - - apple,t6000-atcphy - - apple,t6020-atcphy - - apple,t8112-atcphy - - apple,t8103-atcphy - - apple,t8142-atcphy - - apple,t8122-atcphy - - apple,t6030-atcphy - - apple,t6031-atcphy - required: - - compatible - allOf: + - $ref: /schemas/usb/usb-switch.yaml# - if: properties: compatible: @@ -80,31 +46,16 @@ allOf: - apple,t8122-atcphy - apple,t6030-atcphy - apple,t6031-atcphy - required: - - compatible then: - allOf: - - $ref: /schemas/usb/usb-switch.yaml# - properties: - compatible: - oneOf: - - const: apple,t8122-atcphy - - items: - - enum: - - apple,t6030-atcphy - - apple,t6031-atcphy - - const: apple,t8122-atcphy - reg: minItems: 1 items: - - description: Common PHY controls + - description: Common controls for USB and DisplayPort - description: DisplayPort alternate mode PHY - - description: AXI to fabric interface + - description: AXI to Apple Fabric interface - description: USB2 PHY - description: USB3 PIPE interface - reg-names: minItems: 1 items: @@ -113,30 +64,6 @@ allOf: - const: axi2af - const: usb2phy - const: pipehandler - - '#phy-cells': - const: 1 - - '#reset-cells': - const: 0 - - power-domains: - maxItems: 1 - - mode-switch: true - orientation-switch: true - - ports: - $ref: /schemas/graph.yaml#/properties/ports - - required: - - compatible - - reg - - reg-names - - '#phy-cells' - - '#reset-cells' - - power-domains - oneOf: - properties: reg: @@ -148,361 +75,393 @@ allOf: minItems: 5 reg-names: minItems: 5 - - unevaluatedProperties: false + required: + - power-domains else: - allOf: - - $ref: /schemas/usb/usb-switch.yaml# - - if: - properties: - compatible: - contains: - const: apple,t8132-atcphy - then: - oneOf: - - properties: - reg: - minItems: 2 - maxItems: 2 - reg-names: - items: - - const: usb2phy - - const: pipehandler - - properties: - reg: - items: - - description: USB2 PHY specific controls - - description: USB3 PIPE interface controls - - description: SuperSpeed PHY core, excluding the display crossbar - - description: AXI to Apple Fabric interface controls - - description: Local IO address translation controls - - description: ATC fabric controls - - description: ATC common configuration controls - reg-names: - items: - - const: usb2phy - - const: pipehandler - - const: core - - const: axi2af - - const: lioa - - const: fabric - - const: common-config - required: - - power-domains - else: - properties: + if: + properties: + compatible: + contains: + const: apple,t8132-atcphy + then: + oneOf: + - properties: + reg: + minItems: 2 + maxItems: 2 + reg-names: + items: + - const: usb2phy + - const: pipehandler + - properties: reg: - minItems: 5 items: - - description: Common controls for all PHYs (USB2/3/4, DisplayPort, TBT) - - description: DisplayPort Alternate Mode PHY specific controls - - description: Type-C PHY AXI to Apple Fabric interconnect controls - description: USB2 PHY specific controls - description: USB3 PIPE interface controls - - description: Secondary eUSB2 PHY register bank (T8140) + - description: SuperSpeed PHY core, excluding the display crossbar + - description: AXI to Apple Fabric interface controls + - description: Local IO address translation controls + - description: ATC fabric controls + - description: ATC common configuration controls reg-names: - minItems: 5 items: - - const: core - - const: lpdptx - - const: axi2af - const: usb2phy - const: pipehandler - - const: usb2phy-reg + - const: core + - const: axi2af + - const: lioa + - const: fabric + - const: common-config required: - power-domains - - if: - properties: - compatible: - contains: - const: apple,t8140-atcphy - then: - properties: - reg: - minItems: 6 - reg-names: - minItems: 6 - else: - properties: - apple,tunable-usb2phy-reg-dflt: false - apple,tunable-dp-common-pre: false - apple,tunable-dp-lpdptx: false - apple,tunable-dp-common-post: false - patternProperties: - "^apple,dp-training-table(-rbr|-hbr|-hbr2|-hbr3)?$": false - - if: - properties: - compatible: - not: - contains: - enum: - - apple,t8132-atcphy - - apple,t8140-atcphy - then: - properties: - reg: - maxItems: 5 - reg-names: - maxItems: 5 - - if: - properties: - compatible: - not: - contains: - const: apple,t8132-atcphy - then: - properties: - apple,tunable-usb3-axi2af: false - apple,tunable-usb3-lioa: false - apple,tunable-usb3-fabric: false - apple,tunable-usb3-config: false - apple,tunable-usb3-common: false - apple,tunable-usb3-efuse: false - apple,tunable-usb3-dp: false - apple,tunable-cio-axi2af: false - apple,tunable-cio-lioa: false - apple,tunable-cio-fabric: false - apple,tunable-cio-config: false - apple,tunable-cio-common: false - apple,tunable-cio-lane0: false - apple,tunable-cio-lane0-eq: false - apple,tunable-cio-lane1: false - apple,tunable-cio-lane1-eq: false - apple,tunable-cio-post: false - + else: + properties: + reg: + minItems: 5 + items: + - description: Common controls for all PHYs (USB2/3/4, DisplayPort, TBT) + - description: DisplayPort Alternate Mode PHY specific controls + - description: Type-C PHY AXI to Apple Fabric interconnect controls + - description: USB2 PHY specific controls + - description: USB3 PIPE interface controls + - description: Secondary eUSB2 PHY register bank (T8140) + reg-names: + minItems: 5 + items: + - const: core + - const: lpdptx + - const: axi2af + - const: usb2phy + - const: pipehandler + - const: usb2phy-reg + required: + - power-domains + - if: properties: compatible: - oneOf: - - items: - - enum: - - apple,t6000-atcphy - - apple,t6020-atcphy - - apple,t8112-atcphy - - const: apple,t8103-atcphy - - const: apple,t8103-atcphy - - const: apple,t8132-atcphy - - const: apple,t8140-atcphy - - const: apple,t8142-atcphy - + contains: + const: apple,t8140-atcphy + then: + properties: reg: - minItems: 2 - maxItems: 7 - + minItems: 6 + reg-names: + minItems: 6 + else: + properties: + apple,tunable-usb2phy-reg-dflt: false + apple,tunable-dp-common-pre: false + apple,tunable-dp-lpdptx: false + apple,tunable-dp-common-post: false + patternProperties: + "^apple,dp-training-table(-rbr|-hbr|-hbr2|-hbr3)?$": false + - if: + properties: + compatible: + not: + contains: + enum: + - apple,t8132-atcphy + - apple,t8140-atcphy + then: + properties: + reg: + maxItems: 5 reg-names: - minItems: 2 - maxItems: 7 + maxItems: 5 + - if: + properties: + compatible: + not: + contains: + const: apple,t8132-atcphy + then: + properties: + apple,tunable-usb3-axi2af: false + apple,tunable-usb3-lioa: false + apple,tunable-usb3-fabric: false + apple,tunable-usb3-config: false + apple,tunable-usb3-common: false + apple,tunable-usb3-efuse: false + apple,tunable-usb3-dp: false + apple,tunable-cio-axi2af: false + apple,tunable-cio-lioa: false + apple,tunable-cio-fabric: false + apple,tunable-cio-config: false + apple,tunable-cio-common: false + apple,tunable-cio-lane0: false + apple,tunable-cio-lane0-eq: false + apple,tunable-cio-lane1: false + apple,tunable-cio-lane1-eq: false + apple,tunable-cio-post: false + - if: + properties: + compatible: + not: + contains: + enum: + - apple,t8122-atcphy + - apple,t6030-atcphy + - apple,t6031-atcphy + then: + required: + - orientation-switch + - mode-switch + - ports + + +$defs: + apple,tunable: + $ref: /schemas/types.yaml#/definitions/uint32-matrix + items: + items: + - description: Register offset + - description: Mask to be applied to the register value + - description: Bits to be set after applying the mask + description: > + List of (register offset, mask, value) tuples copied from Apple's Device + Tree by our bootloader m1n1 and used to configure the PHY. These values + even vary for a single product/device and likely contain calibration + values determined by Apple at manufacturing time. + Unless otherwise noted these tunables are always applied to the core + register region. - "#phy-cells": - const: 1 +properties: + compatible: + oneOf: + - items: + - enum: + - apple,t6000-atcphy + - apple,t6020-atcphy + - apple,t8112-atcphy + - const: apple,t8103-atcphy + - const: apple,t8103-atcphy + - const: apple,t8122-atcphy + - items: + - enum: + - apple,t6030-atcphy + - apple,t6031-atcphy + - const: apple,t8122-atcphy + - const: apple,t8132-atcphy + - const: apple,t8140-atcphy + - const: apple,t8142-atcphy - "#reset-cells": - const: 0 + reg: + minItems: 1 + maxItems: 7 - mode-switch: true - orientation-switch: true + reg-names: + minItems: 1 + maxItems: 7 - power-domains: - maxItems: 1 + "#phy-cells": + const: 1 - phys: - maxItems: 1 - description: Phandle to the eUSB2 to USB 2.0 repeater. + "#reset-cells": + const: 0 - phy-names: - items: - - const: eusb2-repeater - - ports: - $ref: /schemas/graph.yaml#/properties/ports - properties: - port@0: - $ref: /schemas/graph.yaml#/properties/port - description: Outgoing connection to the SS port of the Type-C connector. - - port@1: - $ref: /schemas/graph.yaml#/properties/port - description: Incoming endpoint from the USB3 controller. - - port@2: - $ref: /schemas/graph.yaml#/properties/port - description: Incoming endpoint from the DisplayPort controller. - - port@3: - $ref: /schemas/graph.yaml#/properties/port - description: Incoming endpoint from the USB4/Thunderbolt controller. - - apple,tunable-usb3-axi2af: - $ref: "#/$defs/apple,tunable" - description: T8132 AXI setup followed by write-disable and lock operations. - - apple,tunable-usb3-lioa: - $ref: "#/$defs/apple,tunable" - description: T8132 LIOA setup, applied after the AXI list. - - apple,tunable-usb3-fabric: - $ref: "#/$defs/apple,tunable" - description: T8132 fabric setup, applied after the LIOA list. - - apple,tunable-usb3-config: - $ref: "#/$defs/apple,tunable" - description: T8132 common-configuration setup, applied after fabric setup. - - apple,tunable-usb3-common: - $ref: "#/$defs/apple,tunable" - description: T8132 core PLL and common setup, before the selected USB lane. - - apple,tunable-usb3-dp: - $ref: "#/$defs/apple,tunable" - description: > - T8132 AUX_TOP calibration within the core bank, applied after the - common list has supplied AUSCMN_DIG and AUSPLL_CORE. This handoff - applies to ADTs without AUX_SHM and is optional for USB3-only mode. - This list does not initialize the display crossbar or DisplayPort - transmitter and does not authorize taking over an active PHY epoch. - - apple,tunable-usb3-efuse: - $ref: "#/$defs/apple,tunable" - description: > - T8132 ADT-provided efuse-derived core values, applied after lane routing - and before the PHY reset is released. No raw fuse register is read. - - apple,tunable-cio-axi2af: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO AXI setup, write-disable and lock, applied first in CIO mode. - - apple,tunable-cio-lioa: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO LIOA setup, applied after the CIO AXI list. - - apple,tunable-cio-fabric: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO fabric setup, applied after the CIO LIOA list. - - apple,tunable-cio-config: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO common-configuration setup, applied after the CIO fabric list. - - apple,tunable-cio-common: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO PLL, shim and top setup in the core bank, before the lanes. - - apple,tunable-cio-lane0: - $ref: "#/$defs/apple,tunable" - description: T8132 lane 0 CIO defaults in the core bank. - - apple,tunable-cio-lane0-eq: - $ref: "#/$defs/apple,tunable" - description: T8132 lane 0 CIO equalization in the core bank, after its defaults. - - apple,tunable-cio-lane1: - $ref: "#/$defs/apple,tunable" - description: T8132 lane 1 CIO defaults in the core bank. - - apple,tunable-cio-lane1-eq: - $ref: "#/$defs/apple,tunable" - description: T8132 lane 1 CIO equalization in the core bank, after its defaults. - - apple,tunable-cio-post: - $ref: "#/$defs/apple,tunable" - description: T8132 CIO common setup applied after the crossbar, before the PHY reset is released. - - apple,tunable-common-a: - $ref: "#/$defs/apple,tunable" - description: > - Common tunables required for all modes, applied before tunable-axi2af. - - apple,tunable-axi2af: - $ref: "#/$defs/apple,tunable" - description: > - AXI to Apple Fabric tunables, required for all modes. Unlike all other - tunables these are applied to the axi2af region. - - apple,tunable-common-b: - $ref: "#/$defs/apple,tunable" - description: > - Common tunables required for all modes, applied after tunable-axi2af. - - apple,tunable-lane0-usb: - $ref: "#/$defs/apple,tunable" - description: USB3 tunables for lane 0. - - apple,tunable-lane1-usb: - $ref: "#/$defs/apple,tunable" - description: USB3 tunables for lane 1. - - apple,tunable-lane0-cio: - $ref: "#/$defs/apple,tunable" - description: USB4/Thunderbolt ("Converged IO") tunables for lane 0. - - apple,tunable-lane1-cio: - $ref: "#/$defs/apple,tunable" - description: USB4/Thunderbolt ("Converged IO") tunables for lane 1. - - apple,tunable-lane0-dp: - $ref: "#/$defs/apple,tunable" - description: > - DisplayPort tunables for lane 0. - - Note that lane here refers to a USB RX and TX pair re-used for DisplayPort - and not to an individual DisplayPort differential lane. - - apple,tunable-lane1-dp: - $ref: "#/$defs/apple,tunable" - description: > - DisplayPort tunables for lane 1. - - Note that lane here refers to a USB RX and TX pair re-used for DisplayPort - and not to an individual DisplayPort differential lane. - - apple,tunable-dp-common-pre: - $ref: "#/$defs/apple,tunable" - maxItems: 5461 - description: > - T8140 DisplayPort core setup applied before the LPDPTX list. The - bootloader supplies device-specific values for the core register region. - - apple,tunable-dp-lpdptx: - $ref: "#/$defs/apple,tunable" - maxItems: 5461 - description: > - T8140 DisplayPort setup for the lpdptx register region, applied between - the common-pre and common-post lists. - - apple,tunable-dp-common-post: - $ref: "#/$defs/apple,tunable" - maxItems: 5461 - description: > - T8140 DisplayPort core setup applied after the LPDPTX list. All three - DisplayPort lists are needed before selecting a DisplayPort PHY mode. - - apple,tunable-usb2phy-reg-dflt: - $ref: "#/$defs/apple,tunable" - description: > - Per-device defaults for the secondary eUSB2 PHY register bank of the - T8140, copied from Apple's Device Tree by the bootloader. Unlike the - other tunables these are applied to the usb2phy-reg region. + mode-switch: true + orientation-switch: true - patternProperties: - "^apple,dp-training-table(-rbr|-hbr|-hbr2|-hbr3)?$": - $ref: /schemas/types.yaml#/definitions/uint32-array - minItems: 16 - maxItems: 16 - description: > - Firmware-provided T8140 drive presets indexed by voltage swing times - four plus pre-emphasis. The unsuffixed table is the required fallback; - a link-rate suffix selects an optional rate-specific override. + power-domains: + maxItems: 1 - required: - - compatible - - reg - - reg-names - - "#phy-cells" - - "#reset-cells" - - orientation-switch - - mode-switch - - ports + phys: + maxItems: 1 + description: Phandle to the eUSB2 to USB 2.0 repeater. + + phy-names: + items: + - const: eusb2-repeater + + ports: + $ref: /schemas/graph.yaml#/properties/ports + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Outgoing connection to the SS port of the Type-C connector. + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Incoming endpoint from the USB3 controller. + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: Incoming endpoint from the DisplayPort controller. + + port@3: + $ref: /schemas/graph.yaml#/properties/port + description: Incoming endpoint from the USB4/Thunderbolt controller. + + apple,tunable-usb3-axi2af: + $ref: "#/$defs/apple,tunable" + description: T8132 AXI setup followed by write-disable and lock operations. + + apple,tunable-usb3-lioa: + $ref: "#/$defs/apple,tunable" + description: T8132 LIOA setup, applied after the AXI list. + + apple,tunable-usb3-fabric: + $ref: "#/$defs/apple,tunable" + description: T8132 fabric setup, applied after the LIOA list. + + apple,tunable-usb3-config: + $ref: "#/$defs/apple,tunable" + description: T8132 common-configuration setup, applied after fabric setup. + + apple,tunable-usb3-common: + $ref: "#/$defs/apple,tunable" + description: T8132 core PLL and common setup, before the selected USB lane. - additionalProperties: false + apple,tunable-usb3-dp: + $ref: "#/$defs/apple,tunable" + description: > + T8132 AUX_TOP calibration within the core bank, applied after the + common list has supplied AUSCMN_DIG and AUSPLL_CORE. This handoff + applies to ADTs without AUX_SHM and is optional for USB3-only mode. + This list does not initialize the display crossbar or DisplayPort + transmitter and does not authorize taking over an active PHY epoch. + + apple,tunable-usb3-efuse: + $ref: "#/$defs/apple,tunable" + description: > + T8132 ADT-provided efuse-derived core values, applied after lane routing + and before the PHY reset is released. No raw fuse register is read. + + apple,tunable-cio-axi2af: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO AXI setup, write-disable and lock, applied first in CIO mode. + + apple,tunable-cio-lioa: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO LIOA setup, applied after the CIO AXI list. + + apple,tunable-cio-fabric: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO fabric setup, applied after the CIO LIOA list. + + apple,tunable-cio-config: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO common-configuration setup, applied after the CIO fabric list. + + apple,tunable-cio-common: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO PLL, shim and top setup in the core bank, before the lanes. + + apple,tunable-cio-lane0: + $ref: "#/$defs/apple,tunable" + description: T8132 lane 0 CIO defaults in the core bank. + + apple,tunable-cio-lane0-eq: + $ref: "#/$defs/apple,tunable" + description: T8132 lane 0 CIO equalization in the core bank, after its defaults. + + apple,tunable-cio-lane1: + $ref: "#/$defs/apple,tunable" + description: T8132 lane 1 CIO defaults in the core bank. + + apple,tunable-cio-lane1-eq: + $ref: "#/$defs/apple,tunable" + description: T8132 lane 1 CIO equalization in the core bank, after its defaults. + + apple,tunable-cio-post: + $ref: "#/$defs/apple,tunable" + description: T8132 CIO common setup applied after the crossbar, before the PHY reset is released. + + apple,tunable-common-a: + $ref: "#/$defs/apple,tunable" + description: > + Common tunables required for all modes, applied before tunable-axi2af. + + apple,tunable-axi2af: + $ref: "#/$defs/apple,tunable" + description: > + AXI to Apple Fabric tunables, required for all modes. Unlike all other + tunables these are applied to the axi2af region. + + apple,tunable-common-b: + $ref: "#/$defs/apple,tunable" + description: > + Common tunables required for all modes, applied after tunable-axi2af. + + apple,tunable-lane0-usb: + $ref: "#/$defs/apple,tunable" + description: USB3 tunables for lane 0. + + apple,tunable-lane1-usb: + $ref: "#/$defs/apple,tunable" + description: USB3 tunables for lane 1. + + apple,tunable-lane0-cio: + $ref: "#/$defs/apple,tunable" + description: USB4/Thunderbolt ("Converged IO") tunables for lane 0. + + apple,tunable-lane1-cio: + $ref: "#/$defs/apple,tunable" + description: USB4/Thunderbolt ("Converged IO") tunables for lane 1. + + apple,tunable-lane0-dp: + $ref: "#/$defs/apple,tunable" + description: > + DisplayPort tunables for lane 0. + + Note that lane here refers to a USB RX and TX pair re-used for DisplayPort + and not to an individual DisplayPort differential lane. + + apple,tunable-lane1-dp: + $ref: "#/$defs/apple,tunable" + description: > + DisplayPort tunables for lane 1. + + Note that lane here refers to a USB RX and TX pair re-used for DisplayPort + and not to an individual DisplayPort differential lane. + + apple,tunable-dp-common-pre: + $ref: "#/$defs/apple,tunable" + maxItems: 5461 + description: > + T8140 DisplayPort core setup applied before the LPDPTX list. The + bootloader supplies device-specific values for the core register region. + + apple,tunable-dp-lpdptx: + $ref: "#/$defs/apple,tunable" + maxItems: 5461 + description: > + T8140 DisplayPort setup for the lpdptx register region, applied between + the common-pre and common-post lists. + + apple,tunable-dp-common-post: + $ref: "#/$defs/apple,tunable" + maxItems: 5461 + description: > + T8140 DisplayPort core setup applied after the LPDPTX list. All three + DisplayPort lists are needed before selecting a DisplayPort PHY mode. + + apple,tunable-usb2phy-reg-dflt: + $ref: "#/$defs/apple,tunable" + description: > + Per-device defaults for the secondary eUSB2 PHY register bank of the + T8140, copied from Apple's Device Tree by the bootloader. Unlike the + other tunables these are applied to the usb2phy-reg region. + +patternProperties: + "^apple,dp-training-table(-rbr|-hbr|-hbr2|-hbr3)?$": + $ref: /schemas/types.yaml#/definitions/uint32-array + minItems: 16 + maxItems: 16 + description: > + Firmware-provided T8140 drive presets indexed by voltage swing times + four plus pre-emphasis. The unsuffixed table is the required fallback; + a link-rate suffix selects an optional rate-specific override. + +required: + - compatible + - reg + - reg-names + - "#phy-cells" + - "#reset-cells" + +additionalProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/pwm/apple,pwm.yaml b/Documentation/devicetree/bindings/pwm/apple,pwm.yaml new file mode 100644 index 0000000000000..41070fc68212b --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/apple,pwm.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pwm/apple,pwm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple timer PWM controller + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + The timer PWM controller is distinct from the FPWM keyboard-backlight + controller. It has one register aperture, one interrupt and a PMGR gate. + On T6000 the plain-PWM view shares its register bank with FPWM0, + but has a distinct gate and interrupt. Ownership must be coordinated + before either interface is used alongside the other. + +properties: + compatible: + oneOf: + - items: + - enum: + - apple,t8103-pwm + - apple,t8122-pwm + - const: apple,pwm + - items: + - const: apple,t6000-pwm + - const: apple,pwm + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - power-domains + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml index ee89abed63fb5..ca0e014b73b94 100644 --- a/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml +++ b/Documentation/devicetree/bindings/pwm/apple,s5l-fpwm.yaml @@ -32,9 +32,6 @@ properties: reg: maxItems: 1 - interrupts: - maxItems: 1 - clocks: maxItems: 1 diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi index 6b95cba06ab93..42551bec0b843 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -147,6 +147,7 @@ <0x5 0x95018000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pcie0_dart_1 15>; status = "disabled"; }; @@ -157,6 +158,7 @@ <0x5 0x94018000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pcie0_dart_0 15>; status = "disabled"; }; @@ -168,6 +170,7 @@ <0x7 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&usb4_0_pcie_dart 15>; status = "disabled"; }; @@ -195,6 +198,7 @@ <0xb 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pciec1_dart 15>; status = "disabled"; }; @@ -222,6 +226,7 @@ <0xf 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pciec2_dart 15>; status = "disabled"; }; @@ -353,6 +358,7 @@ interrupt-parent = <&aic>; interrupts = ; power-domains = <&ps_aes>; + iommus = <&sio_dart 1>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi index e52f40212e818..ad77a9f1a62b8 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi @@ -144,3 +144,19 @@ }; }; + +&soc { + nub_spmi_a2: spmi@2a11a8000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa11a8000 0 0x4000>, + <0x2 0xa11a4000 0 0x4000>, + <0x2 0xa11a0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi index 6c4d3af00160f..f1688880ac51b 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi @@ -218,6 +218,7 @@ <0x5 0x94018000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pcie0_dart_0 15>; status = "disabled"; }; @@ -228,6 +229,7 @@ <0x5 0x95018000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pcie0_dart_1 15>; status = "disabled"; }; @@ -239,6 +241,7 @@ <0x7 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pciec0_dart 15>; status = "disabled"; }; @@ -250,6 +253,7 @@ <0xb 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pciec1_dart 15>; status = "disabled"; }; @@ -261,6 +265,7 @@ <0xf 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pciec2_dart 15>; status = "disabled"; }; @@ -633,6 +638,7 @@ interrupt-parent = <&aic>; interrupts = ; power-domains = <&ps_aes>; + iommus = <&sio_dart 1>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi b/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi index 5080ca2797612..7be8b7ef3d8dc 100644 --- a/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi @@ -22,14 +22,12 @@ status = "disabled"; }; - fpwm0: pwm@2a1040000 { - compatible = "apple,t8122-fpwm", "apple,s5l-fpwm"; + pwm0: pwm@2a1040000 { + compatible = "apple,t8122-pwm", "apple,pwm"; reg = <0x2 0xa1040000 0 0x4000>; - clocks = <&clkref>; power-domains = <&ps_fpwm0>; interrupt-parent = <&aic>; interrupts = ; - #pwm-cells = <2>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi index 0c869d45fa8de..864ce8e285160 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -141,6 +141,7 @@ <0x5 0x95018000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pcie1_dart 15>; status = "disabled"; }; @@ -151,6 +152,7 @@ <0x5 0x94018000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pcie0_dart 15>; status = "disabled"; }; @@ -162,6 +164,7 @@ <0x7 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pciec0_dart 15>; status = "disabled"; }; @@ -189,6 +192,7 @@ <0xb 0x20008000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + iommus = <&pciec1_dart 15>; status = "disabled"; }; @@ -298,6 +302,7 @@ interrupt-parent = <&aic>; interrupts = ; power-domains = <&ps_aes>; + iommus = <&sio_dart 1>; status = "disabled"; }; From 01576e18d7ec34f09f4376ce6e33e9d460a2ec7e Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:56:39 +1100 Subject: [PATCH 07/12] dt-bindings: apple: constrain M3 error topologies and share AON binding Keep the exact per-die error/event resource counts, including both full and harvested T6031 layouts. Extend the shared generic AON telemetry contract instead of introducing a second binding for the same block. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../edac/apple,soc-error-handler.yaml | 88 +++++++++++++++++++ .../interrupt-controller/apple,aon-ptd.yaml | 57 ------------ .../bindings/soc/apple/apple,aon-ptd.yaml | 54 ++++++++++++ 3 files changed, 142 insertions(+), 57 deletions(-) delete mode 100644 Documentation/devicetree/bindings/interrupt-controller/apple,aon-ptd.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml diff --git a/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml b/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml index 76138359864f0..8712e282f8afe 100644 --- a/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml +++ b/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml @@ -79,6 +79,94 @@ allOf: - reg - interrupts + allOf: + - if: + properties: + compatible: + contains: + const: apple,t8122-error-handler + then: + properties: + reg: + minItems: 19 + maxItems: 19 + interrupts: + minItems: 39 + maxItems: 39 + - if: + properties: + compatible: + contains: + const: apple,t6030-error-handler + then: + properties: + reg: + minItems: 26 + maxItems: 26 + interrupts: + minItems: 54 + maxItems: 54 + - if: + properties: + compatible: + contains: + const: apple,t6031-error-handler + then: + oneOf: + - properties: + reg: + minItems: 123 + maxItems: 123 + interrupts: + minItems: 159 + maxItems: 159 + - properties: + reg: + minItems: 113 + maxItems: 113 + interrupts: + minItems: 141 + maxItems: 141 + - if: + properties: + compatible: + contains: + const: apple,t8122-event-log + then: + properties: + reg: + minItems: 13 + maxItems: 13 + interrupts: + minItems: 13 + maxItems: 13 + - if: + properties: + compatible: + contains: + const: apple,t6030-event-log + then: + properties: + reg: + minItems: 26 + maxItems: 26 + interrupts: + minItems: 26 + maxItems: 26 + - if: + properties: + compatible: + contains: + const: apple,t6031-event-log + then: + properties: + reg: + minItems: 25 + maxItems: 25 + interrupts: + minItems: 26 + maxItems: 26 + additionalProperties: false else: properties: diff --git a/Documentation/devicetree/bindings/interrupt-controller/apple,aon-ptd.yaml b/Documentation/devicetree/bindings/interrupt-controller/apple,aon-ptd.yaml deleted file mode 100644 index d1374993b5570..0000000000000 --- a/Documentation/devicetree/bindings/interrupt-controller/apple,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,aon-ptd.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple always-on interrupt distributor - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - Hardware resources of the Apple Silicon 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,t6031-aon-ptd - required: - - compatible - -properties: - compatible: - items: - - enum: - - apple,t6031-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/soc/apple/apple,aon-ptd.yaml b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml new file mode 100644 index 0000000000000..25addf63b132c --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml @@ -0,0 +1,54 @@ +# 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. + +properties: + compatible: + oneOf: + - items: + - const: apple,t6031-aon-ptd + - const: apple,aon-ptd + - 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 From c6b46f1b8c759efaddb6c7a5f91facf4229efcc3 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 00:06:50 +1100 Subject: [PATCH 08/12] dt-bindings: apple: close composed resource schemas at the root Declare the compatible property at the schema root and use unevaluatedProperties after evaluating the selected resource contract. This preserves the compatible-specific shapes while satisfying the core binding meta-schema and allowing common DT properties. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- Documentation/devicetree/bindings/crypto/apple,aes.yaml | 6 ++++-- .../devicetree/bindings/dma/apple,pcie-piodma.yaml | 6 ++++-- .../devicetree/bindings/edac/apple,soc-error-handler.yaml | 6 ++++-- Documentation/devicetree/bindings/media/apple,jpeg.yaml | 6 ++++-- Documentation/devicetree/bindings/media/apple,prores.yaml | 6 ++++-- Documentation/devicetree/bindings/media/apple,scaler.yaml | 6 ++++-- .../devicetree/bindings/media/apple,t8140-ave.yaml | 6 ++++-- Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml | 6 ++++-- Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml | 6 ++++-- .../devicetree/bindings/soc/apple/apple,t8140-mcc.yaml | 6 ++++-- 10 files changed, 40 insertions(+), 20 deletions(-) diff --git a/Documentation/devicetree/bindings/crypto/apple,aes.yaml b/Documentation/devicetree/bindings/crypto/apple,aes.yaml index 27ccd120a2550..0469858e0a51d 100644 --- a/Documentation/devicetree/bindings/crypto/apple,aes.yaml +++ b/Documentation/devicetree/bindings/crypto/apple,aes.yaml @@ -26,6 +26,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -67,7 +70,6 @@ allOf: - power-domains - iommus - additionalProperties: false else: properties: compatible: @@ -100,4 +102,4 @@ allOf: - power-domains - iommus - additionalProperties: false +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml index fcd075f2e03b1..f769bafe13aad 100644 --- a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml +++ b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml @@ -25,6 +25,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -62,7 +65,6 @@ allOf: - interrupts - iommus - additionalProperties: false else: properties: compatible: @@ -88,4 +90,4 @@ allOf: - interrupts - iommus - additionalProperties: false +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml b/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml index 8712e282f8afe..21c619f278c4f 100644 --- a/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml +++ b/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml @@ -32,6 +32,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -167,7 +170,6 @@ allOf: minItems: 26 maxItems: 26 - additionalProperties: false else: properties: compatible: @@ -243,7 +245,7 @@ allOf: minItems: 9 maxItems: 9 - additionalProperties: false +unevaluatedProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/media/apple,jpeg.yaml b/Documentation/devicetree/bindings/media/apple,jpeg.yaml index 754b188b54f3a..1c44bcb260c7d 100644 --- a/Documentation/devicetree/bindings/media/apple,jpeg.yaml +++ b/Documentation/devicetree/bindings/media/apple,jpeg.yaml @@ -32,6 +32,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -72,7 +75,6 @@ allOf: - power-domains - iommus - additionalProperties: false else: properties: compatible: @@ -128,7 +130,7 @@ allOf: properties: apple,dma-range: false - additionalProperties: false +unevaluatedProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/media/apple,prores.yaml b/Documentation/devicetree/bindings/media/apple,prores.yaml index 1ece51752e691..bf8847a7947c9 100644 --- a/Documentation/devicetree/bindings/media/apple,prores.yaml +++ b/Documentation/devicetree/bindings/media/apple,prores.yaml @@ -26,6 +26,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -69,7 +72,6 @@ allOf: - power-domains - iommus - additionalProperties: false else: properties: compatible: @@ -115,7 +117,7 @@ allOf: - iommus - power-domains - additionalProperties: false +unevaluatedProperties: false examples: - | diff --git a/Documentation/devicetree/bindings/media/apple,scaler.yaml b/Documentation/devicetree/bindings/media/apple,scaler.yaml index 3e7fdf9b93af4..6ca38c48cab5b 100644 --- a/Documentation/devicetree/bindings/media/apple,scaler.yaml +++ b/Documentation/devicetree/bindings/media/apple,scaler.yaml @@ -27,6 +27,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -71,7 +74,6 @@ allOf: - power-domains - iommus - additionalProperties: false else: properties: compatible: @@ -115,4 +117,4 @@ allOf: - iommus - clocks - additionalProperties: false +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml index 702b89987be51..3210b7884e921 100644 --- a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml +++ b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml @@ -29,6 +29,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -73,7 +76,6 @@ allOf: - power-domains - iommus - additionalProperties: false else: properties: compatible: @@ -138,4 +140,4 @@ allOf: - power-domain-names - iommus - additionalProperties: false +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml index b2363d0d1d8f3..9a0f5d4eaa00e 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml @@ -26,6 +26,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -62,7 +65,6 @@ allOf: - interrupts - power-domains - additionalProperties: false else: properties: compatible: @@ -90,4 +92,4 @@ allOf: - interrupts - power-domains - additionalProperties: false +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml b/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml index 633baff4f8868..4332fa5347519 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml @@ -24,6 +24,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -64,7 +67,6 @@ allOf: - interrupts - iommus - additionalProperties: false else: properties: compatible: @@ -90,4 +92,4 @@ allOf: - interrupts - iommus - additionalProperties: false +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml index d06405ff9cc3a..44f2d14280637 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml @@ -29,6 +29,9 @@ select: required: - compatible +properties: + compatible: true + allOf: - if: properties: @@ -58,7 +61,6 @@ allOf: - compatible - reg - additionalProperties: false else: properties: compatible: @@ -89,7 +91,7 @@ allOf: - compatible - reg - additionalProperties: false +unevaluatedProperties: false examples: - | From 28dcb1fe45b4ee647fff17039d5b3783a0d4586a Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 00:22:04 +1100 Subject: [PATCH 09/12] arm64: dts: apple: describe disabled M3 retimer control endpoints Describe the two T8122 and three T6030/T6031 I2C retimer interfaces present consistently across the family board descriptions. Keep them disabled until their connector routing and ownership contract are supported, and constrain the resource-only binding accordingly. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/phy/apple,atcrt.yaml | 39 +++++++++++++++++++ .../dts/apple/t6030-peripheral-buses.dtsi | 22 +++++++++++ .../dts/apple/t6031-peripheral-buses.dtsi | 22 +++++++++++ .../dts/apple/t8122-peripheral-buses.dtsi | 16 ++++++++ 4 files changed, 99 insertions(+) create mode 100644 Documentation/devicetree/bindings/phy/apple,atcrt.yaml diff --git a/Documentation/devicetree/bindings/phy/apple,atcrt.yaml b/Documentation/devicetree/bindings/phy/apple,atcrt.yaml new file mode 100644 index 0000000000000..93452993f6f5b --- /dev/null +++ b/Documentation/devicetree/bindings/phy/apple,atcrt.yaml @@ -0,0 +1,39 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/apple,atcrt.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple ATC retimer control interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + ATC retimers have individually addressed I2C control interfaces alongside + the SoC Type-C PHY. This binding describes those control endpoints only. + Connector routing, power sequencing and firmware ownership must be + established before an interface can be enabled. No firmware or calibration + data is part of this hardware description. + +properties: + compatible: + items: + - enum: + - apple,t8122-atcrt + - apple,t6030-atcrt + - apple,t6031-atcrt + - const: apple,atcrt + + reg: + maxItems: 1 + + status: + const: disabled + +required: + - compatible + - reg + - status + +additionalProperties: false diff --git a/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi index b03254c622758..c0446667ed933 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi @@ -83,3 +83,25 @@ }; }; + +/* Unclaimed Type-C retimer control ports; connector routing remains unbound. */ +&i2c6 { + atcrt0: retimer@18 { + compatible = "apple,t6030-atcrt", "apple,atcrt"; + reg = <0x18>; + status = "disabled"; + }; + + atcrt1: retimer@19 { + compatible = "apple,t6030-atcrt", "apple,atcrt"; + reg = <0x19>; + status = "disabled"; + }; + + atcrt2: retimer@1a { + compatible = "apple,t6030-atcrt", "apple,atcrt"; + reg = <0x1a>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi index ad77a9f1a62b8..87040aa945b34 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi @@ -160,3 +160,25 @@ status = "disabled"; }; }; + +/* Unclaimed Type-C retimer control ports; connector routing remains unbound. */ +&i2c6 { + atcrt0: retimer@18 { + compatible = "apple,t6031-atcrt", "apple,atcrt"; + reg = <0x18>; + status = "disabled"; + }; + + atcrt1: retimer@19 { + compatible = "apple,t6031-atcrt", "apple,atcrt"; + reg = <0x19>; + status = "disabled"; + }; + + atcrt2: retimer@1a { + compatible = "apple,t6031-atcrt", "apple,atcrt"; + reg = <0x1a>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi index a4a4affe0147d..357f936cc7c17 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi @@ -69,3 +69,19 @@ }; }; + +/* Unclaimed Type-C retimer control ports; connector routing remains unbound. */ +&i2c2 { + atcrt0: retimer@18 { + compatible = "apple,t8122-atcrt", "apple,atcrt"; + reg = <0x18>; + status = "disabled"; + }; + + atcrt1: retimer@19 { + compatible = "apple,t8122-atcrt", "apple,atcrt"; + reg = <0x19>; + status = "disabled"; + }; + +}; From 012217faaab2cdbd9adfe65dcc1773b3fea5a4d5 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 01:54:34 +1100 Subject: [PATCH 10/12] arm64: dts: apple: describe M3 panel and card control resources Reuse the merged PCON, SD-card sideband and DP855 contracts for the addressed devices present in each board's ADT. Keep the new devices disabled and do not expose unqualified downstream panel clients. Drop the premature retimer control binding and descriptions. Retimer behaviour belongs to CONN; its unqualified diagnostic/control view is waived rather than assigning a second Linux binding or connector graph. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../bindings/misc/apple,display-pcon.yaml | 6 ++- .../bindings/misc/apple,sd-card-control.yaml | 5 ++- .../devicetree/bindings/phy/apple,atcrt.yaml | 39 ------------------- arch/arm64/boot/dts/apple/t6030-j514s.dts | 16 ++++++++ arch/arm64/boot/dts/apple/t6030-j516s.dts | 16 ++++++++ .../dts/apple/t6030-peripheral-buses.dtsi | 22 ----------- arch/arm64/boot/dts/apple/t6031-j514c.dts | 16 ++++++++ arch/arm64/boot/dts/apple/t6031-j516c.dts | 16 ++++++++ .../dts/apple/t6031-peripheral-buses.dtsi | 22 ----------- arch/arm64/boot/dts/apple/t6034-j514m.dts | 16 ++++++++ arch/arm64/boot/dts/apple/t6034-j516m.dts | 16 ++++++++ .../arm64/boot/dts/apple/t603x-j514-j516.dtsi | 9 +++++ arch/arm64/boot/dts/apple/t8122-j504.dts | 8 ++++ arch/arm64/boot/dts/apple/t8122-jxxx.dtsi | 9 +++++ .../dts/apple/t8122-peripheral-buses.dtsi | 16 -------- 15 files changed, 131 insertions(+), 101 deletions(-) delete mode 100644 Documentation/devicetree/bindings/phy/apple,atcrt.yaml diff --git a/Documentation/devicetree/bindings/misc/apple,display-pcon.yaml b/Documentation/devicetree/bindings/misc/apple,display-pcon.yaml index 095b4bfd67ee8..ea095a1832c88 100644 --- a/Documentation/devicetree/bindings/misc/apple,display-pcon.yaml +++ b/Documentation/devicetree/bindings/misc/apple,display-pcon.yaml @@ -16,7 +16,11 @@ description: | properties: compatible: items: - - const: apple,t6041-display-pcon + - enum: + - apple,t6041-display-pcon + - apple,t8122-display-pcon + - apple,t6030-display-pcon + - apple,t6031-display-pcon - const: apple,display-pcon reg: diff --git a/Documentation/devicetree/bindings/misc/apple,sd-card-control.yaml b/Documentation/devicetree/bindings/misc/apple,sd-card-control.yaml index 7671d72d9b306..00f1b60a7b232 100644 --- a/Documentation/devicetree/bindings/misc/apple,sd-card-control.yaml +++ b/Documentation/devicetree/bindings/misc/apple,sd-card-control.yaml @@ -16,7 +16,10 @@ description: | properties: compatible: items: - - const: apple,t6041-sd-card-control + - enum: + - apple,t6041-sd-card-control + - apple,t6030-sd-card-control + - apple,t6031-sd-card-control - const: apple,sd-card-control reg: diff --git a/Documentation/devicetree/bindings/phy/apple,atcrt.yaml b/Documentation/devicetree/bindings/phy/apple,atcrt.yaml deleted file mode 100644 index 93452993f6f5b..0000000000000 --- a/Documentation/devicetree/bindings/phy/apple,atcrt.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/phy/apple,atcrt.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple ATC retimer control interface - -maintainers: - - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> - -description: | - ATC retimers have individually addressed I2C control interfaces alongside - the SoC Type-C PHY. This binding describes those control endpoints only. - Connector routing, power sequencing and firmware ownership must be - established before an interface can be enabled. No firmware or calibration - data is part of this hardware description. - -properties: - compatible: - items: - - enum: - - apple,t8122-atcrt - - apple,t6030-atcrt - - apple,t6031-atcrt - - const: apple,atcrt - - reg: - maxItems: 1 - - status: - const: disabled - -required: - - compatible - - reg - - status - -additionalProperties: false diff --git a/arch/arm64/boot/dts/apple/t6030-j514s.dts b/arch/arm64/boot/dts/apple/t6030-j514s.dts index 1116c648a2c23..1ccf2f1294d6b 100644 --- a/arch/arm64/boot/dts/apple/t6030-j514s.dts +++ b/arch/arm64/boot/dts/apple/t6030-j514s.dts @@ -99,3 +99,19 @@ &isp { apple,platform-id = <16>; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6030-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6030-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6030-j516s.dts b/arch/arm64/boot/dts/apple/t6030-j516s.dts index f1e88f9a1d8b5..e55cecc2110bc 100644 --- a/arch/arm64/boot/dts/apple/t6030-j516s.dts +++ b/arch/arm64/boot/dts/apple/t6030-j516s.dts @@ -107,3 +107,19 @@ "Tf24", "Tf25", "Tf2A", "Tf2B"; apple,thermal-pressure-key = "mTPL"; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6030-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6030-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi index c0446667ed933..b03254c622758 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi @@ -83,25 +83,3 @@ }; }; - -/* Unclaimed Type-C retimer control ports; connector routing remains unbound. */ -&i2c6 { - atcrt0: retimer@18 { - compatible = "apple,t6030-atcrt", "apple,atcrt"; - reg = <0x18>; - status = "disabled"; - }; - - atcrt1: retimer@19 { - compatible = "apple,t6030-atcrt", "apple,atcrt"; - reg = <0x19>; - status = "disabled"; - }; - - atcrt2: retimer@1a { - compatible = "apple,t6030-atcrt", "apple,atcrt"; - reg = <0x1a>; - status = "disabled"; - }; - -}; diff --git a/arch/arm64/boot/dts/apple/t6031-j514c.dts b/arch/arm64/boot/dts/apple/t6031-j514c.dts index 2d9389e529612..a52c4c34e3e96 100644 --- a/arch/arm64/boot/dts/apple/t6031-j514c.dts +++ b/arch/arm64/boot/dts/apple/t6031-j514c.dts @@ -67,3 +67,19 @@ "Tf34", "Tf36", "Tf39", "Tf3A", "Tf3B", "Tf44", "Tf46", "Tf49", "Tf4A", "Tf4B"; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6031-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6031-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6031-j516c.dts b/arch/arm64/boot/dts/apple/t6031-j516c.dts index c2c4324c8b68d..354dfd51e77f9 100644 --- a/arch/arm64/boot/dts/apple/t6031-j516c.dts +++ b/arch/arm64/boot/dts/apple/t6031-j516c.dts @@ -67,3 +67,19 @@ "Tf34", "Tf36", "Tf39", "Tf3A", "Tf3B", "Tf44", "Tf46", "Tf49", "Tf4A", "Tf4B"; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6031-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6031-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi index 87040aa945b34..ad77a9f1a62b8 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi @@ -160,25 +160,3 @@ status = "disabled"; }; }; - -/* Unclaimed Type-C retimer control ports; connector routing remains unbound. */ -&i2c6 { - atcrt0: retimer@18 { - compatible = "apple,t6031-atcrt", "apple,atcrt"; - reg = <0x18>; - status = "disabled"; - }; - - atcrt1: retimer@19 { - compatible = "apple,t6031-atcrt", "apple,atcrt"; - reg = <0x19>; - status = "disabled"; - }; - - atcrt2: retimer@1a { - compatible = "apple,t6031-atcrt", "apple,atcrt"; - reg = <0x1a>; - status = "disabled"; - }; - -}; diff --git a/arch/arm64/boot/dts/apple/t6034-j514m.dts b/arch/arm64/boot/dts/apple/t6034-j514m.dts index f9c2b6241c955..5c072716dd799 100644 --- a/arch/arm64/boot/dts/apple/t6034-j514m.dts +++ b/arch/arm64/boot/dts/apple/t6034-j514m.dts @@ -38,3 +38,19 @@ compatible = "apple,j514-macaudio", "apple,j314-macaudio", "apple,macaudio"; model = "MacBook Pro J514"; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6031-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6031-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6034-j516m.dts b/arch/arm64/boot/dts/apple/t6034-j516m.dts index 22ad5251eaece..03fa1cf23e51d 100644 --- a/arch/arm64/boot/dts/apple/t6034-j516m.dts +++ b/arch/arm64/boot/dts/apple/t6034-j516m.dts @@ -38,3 +38,19 @@ compatible = "apple,j516-macaudio", "apple,j316-macaudio", "apple,macaudio"; model = "MacBook Pro J516"; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6031-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6031-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi b/arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi index de19c196ace1d..44aff05b625fa 100644 --- a/arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi +++ b/arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi @@ -642,3 +642,12 @@ #include "hwmon-common.dtsi" #include "hwmon-fan-dual.dtsi" #include "hwmon-laptop.dtsi" + +/* Panel control remains firmware-owned until the host transport is supported. */ +&spi4 { + tcon: panel-controller@0 { + compatible = "parade,dp855"; + reg = <0>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8122-j504.dts b/arch/arm64/boot/dts/apple/t8122-j504.dts index 98992e024aac8..eb83efc17884b 100644 --- a/arch/arm64/boot/dts/apple/t8122-j504.dts +++ b/arch/arm64/boot/dts/apple/t8122-j504.dts @@ -272,3 +272,11 @@ #include "hwmon-fan-dual.dtsi" #include "hwmon-laptop.dtsi" + +&i2c3 { + display_pcon: display-converter@8 { + compatible = "apple,t8122-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8122-jxxx.dtsi b/arch/arm64/boot/dts/apple/t8122-jxxx.dtsi index c96ec50bbe82c..530955375336b 100644 --- a/arch/arm64/boot/dts/apple/t8122-jxxx.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-jxxx.dtsi @@ -257,3 +257,12 @@ #include "hwmon-common.dtsi" #include "spi1-nvram.dtsi" + +/* Panel control remains firmware-owned until the host transport is supported. */ +&spi4 { + tcon: panel-controller@0 { + compatible = "parade,dp855"; + reg = <0>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi index 357f936cc7c17..a4a4affe0147d 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi @@ -69,19 +69,3 @@ }; }; - -/* Unclaimed Type-C retimer control ports; connector routing remains unbound. */ -&i2c2 { - atcrt0: retimer@18 { - compatible = "apple,t8122-atcrt", "apple,atcrt"; - reg = <0x18>; - status = "disabled"; - }; - - atcrt1: retimer@19 { - compatible = "apple,t8122-atcrt", "apple,atcrt"; - reg = <0x19>; - status = "disabled"; - }; - -}; From af7f16f11b6903d1d493a3b1cbb7a8242016f5fc Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 02:34:06 +1100 Subject: [PATCH 11/12] arm64: dts: apple: complete generic M3 compatible chains Use the merged DP ingress and PCIe tunnel PIODMA generic fallbacks as well as their SoC-specific compatibles. Remove an extra blank line from the extended ATCPHY binding found by the required binding check. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/phy/apple,atcphy.yaml | 1 - .../boot/dts/apple/t6030-peripherals.dtsi | 18 +++++++++--------- .../boot/dts/apple/t6031-peripherals.dtsi | 18 +++++++++--------- .../boot/dts/apple/t8122-peripherals.dtsi | 12 ++++++------ 4 files changed, 24 insertions(+), 25 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml index ffe8cca0207fa..5364f6dd8871b 100644 --- a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml +++ b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml @@ -209,7 +209,6 @@ allOf: - mode-switch - ports - $defs: apple,tunable: $ref: /schemas/types.yaml#/definitions/uint32-matrix diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi index 7d7473f87e3a9..af80117dcb8b5 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -163,7 +163,7 @@ }; apciec0_piodma: dma-controller@722000000 { - compatible = "apple,t6030-pciec-piodma", "apple,pcie-piodma"; + compatible = "apple,t6030-pciec-piodma", "apple,pciec-piodma"; reg = <0x7 0x22000000 0x0 0x4000>, <0x7 0x22004000 0x0 0x4000>, <0x7 0x22008000 0x0 0x4000>, @@ -175,7 +175,7 @@ }; atc0_dpin0: displayport@701e50000 { - compatible = "apple,t6030-dpin", "apple,dp-in"; + compatible = "apple,t6030-dpin", "apple,dpin"; reg = <0x7 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -183,7 +183,7 @@ }; atc0_dpin1: displayport@701e58000 { - compatible = "apple,t6030-dpin", "apple,dp-in"; + compatible = "apple,t6030-dpin", "apple,dpin"; reg = <0x7 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -191,7 +191,7 @@ }; apciec1_piodma: dma-controller@b22000000 { - compatible = "apple,t6030-pciec-piodma", "apple,pcie-piodma"; + compatible = "apple,t6030-pciec-piodma", "apple,pciec-piodma"; reg = <0xb 0x22000000 0x0 0x4000>, <0xb 0x22004000 0x0 0x4000>, <0xb 0x22008000 0x0 0x4000>, @@ -203,7 +203,7 @@ }; atc1_dpin0: displayport@b01e50000 { - compatible = "apple,t6030-dpin", "apple,dp-in"; + compatible = "apple,t6030-dpin", "apple,dpin"; reg = <0xb 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -211,7 +211,7 @@ }; atc1_dpin1: displayport@b01e58000 { - compatible = "apple,t6030-dpin", "apple,dp-in"; + compatible = "apple,t6030-dpin", "apple,dpin"; reg = <0xb 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -219,7 +219,7 @@ }; apciec2_piodma: dma-controller@f22000000 { - compatible = "apple,t6030-pciec-piodma", "apple,pcie-piodma"; + compatible = "apple,t6030-pciec-piodma", "apple,pciec-piodma"; reg = <0xf 0x22000000 0x0 0x4000>, <0xf 0x22004000 0x0 0x4000>, <0xf 0x22008000 0x0 0x4000>, @@ -231,7 +231,7 @@ }; atc2_dpin0: displayport@f01e50000 { - compatible = "apple,t6030-dpin", "apple,dp-in"; + compatible = "apple,t6030-dpin", "apple,dpin"; reg = <0xf 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -239,7 +239,7 @@ }; atc2_dpin1: displayport@f01e58000 { - compatible = "apple,t6030-dpin", "apple,dp-in"; + compatible = "apple,t6030-dpin", "apple,dpin"; reg = <0xf 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; diff --git a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi index 8c465fc54f185..0c6282de56898 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi @@ -234,7 +234,7 @@ }; apciec0_piodma: dma-controller@722000000 { - compatible = "apple,t6031-pciec-piodma", "apple,pcie-piodma"; + compatible = "apple,t6031-pciec-piodma", "apple,pciec-piodma"; reg = <0x7 0x22000000 0x0 0x4000>, <0x7 0x22004000 0x0 0x4000>, <0x7 0x22008000 0x0 0x4000>, @@ -246,7 +246,7 @@ }; apciec1_piodma: dma-controller@b22000000 { - compatible = "apple,t6031-pciec-piodma", "apple,pcie-piodma"; + compatible = "apple,t6031-pciec-piodma", "apple,pciec-piodma"; reg = <0xb 0x22000000 0x0 0x4000>, <0xb 0x22004000 0x0 0x4000>, <0xb 0x22008000 0x0 0x4000>, @@ -258,7 +258,7 @@ }; apciec2_piodma: dma-controller@f22000000 { - compatible = "apple,t6031-pciec-piodma", "apple,pcie-piodma"; + compatible = "apple,t6031-pciec-piodma", "apple,pciec-piodma"; reg = <0xf 0x22000000 0x0 0x4000>, <0xf 0x22004000 0x0 0x4000>, <0xf 0x22008000 0x0 0x4000>, @@ -270,7 +270,7 @@ }; atc0_dpin0: displayport@701e50000 { - compatible = "apple,t6031-dpin", "apple,dp-in"; + compatible = "apple,t6031-dpin", "apple,dpin"; reg = <0x7 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -278,7 +278,7 @@ }; atc0_dpin1: displayport@701e58000 { - compatible = "apple,t6031-dpin", "apple,dp-in"; + compatible = "apple,t6031-dpin", "apple,dpin"; reg = <0x7 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -286,7 +286,7 @@ }; atc1_dpin0: displayport@b01e50000 { - compatible = "apple,t6031-dpin", "apple,dp-in"; + compatible = "apple,t6031-dpin", "apple,dpin"; reg = <0xb 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -294,7 +294,7 @@ }; atc1_dpin1: displayport@b01e58000 { - compatible = "apple,t6031-dpin", "apple,dp-in"; + compatible = "apple,t6031-dpin", "apple,dpin"; reg = <0xb 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -302,7 +302,7 @@ }; atc2_dpin0: displayport@f01e50000 { - compatible = "apple,t6031-dpin", "apple,dp-in"; + compatible = "apple,t6031-dpin", "apple,dpin"; reg = <0xf 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -310,7 +310,7 @@ }; atc2_dpin1: displayport@f01e58000 { - compatible = "apple,t6031-dpin", "apple,dp-in"; + compatible = "apple,t6031-dpin", "apple,dpin"; reg = <0xf 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi index e1cad543ddfab..019116e7f51ac 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -157,7 +157,7 @@ }; apciec0_piodma: dma-controller@722000000 { - compatible = "apple,t8122-pciec-piodma", "apple,pcie-piodma"; + compatible = "apple,t8122-pciec-piodma", "apple,pciec-piodma"; reg = <0x7 0x22000000 0x0 0x4000>, <0x7 0x22004000 0x0 0x4000>, <0x7 0x22008000 0x0 0x4000>, @@ -169,7 +169,7 @@ }; atc0_dpin0: displayport@701e50000 { - compatible = "apple,t8122-dpin", "apple,dp-in"; + compatible = "apple,t8122-dpin", "apple,dpin"; reg = <0x7 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -177,7 +177,7 @@ }; atc0_dpin1: displayport@701e58000 { - compatible = "apple,t8122-dpin", "apple,dp-in"; + compatible = "apple,t8122-dpin", "apple,dpin"; reg = <0x7 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -185,7 +185,7 @@ }; apciec1_piodma: dma-controller@b22000000 { - compatible = "apple,t8122-pciec-piodma", "apple,pcie-piodma"; + compatible = "apple,t8122-pciec-piodma", "apple,pciec-piodma"; reg = <0xb 0x22000000 0x0 0x4000>, <0xb 0x22004000 0x0 0x4000>, <0xb 0x22008000 0x0 0x4000>, @@ -197,7 +197,7 @@ }; atc1_dpin0: displayport@b01e50000 { - compatible = "apple,t8122-dpin", "apple,dp-in"; + compatible = "apple,t8122-dpin", "apple,dpin"; reg = <0xb 0x01e50000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; @@ -205,7 +205,7 @@ }; atc1_dpin1: displayport@b01e58000 { - compatible = "apple,t8122-dpin", "apple,dp-in"; + compatible = "apple,t8122-dpin", "apple,dpin"; reg = <0xb 0x01e58000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; From 1c821e675dd63d219e47569f43d0c8d2a504a741 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sun, 8 Nov 2026 03:15:25 +1100 Subject: [PATCH 12/12] arm64: dts: apple: complete M3 USB2 OTG resource dependencies Describe stream 1 through both USB0 DART banks and the existing ATC0 USB power-domain provider. The compiled-resource audit against every supplied M3 board found these missing dependencies; all OTG instances stay disabled. Require the DMA and power resources in the driverless interface binding. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml | 6 ++++++ arch/arm64/boot/dts/apple/t6030-peripherals.dtsi | 2 ++ arch/arm64/boot/dts/apple/t6031-peripherals.dtsi | 1 + arch/arm64/boot/dts/apple/t8122-peripherals.dtsi | 2 ++ 4 files changed, 11 insertions(+) diff --git a/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml b/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml index 2fb808a4e40db..bb4b9f1bb5ab9 100644 --- a/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml +++ b/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml @@ -43,6 +43,10 @@ properties: interrupts: maxItems: 1 + iommus: + minItems: 2 + maxItems: 2 + power-domains: maxItems: 1 @@ -55,6 +59,8 @@ required: - compatible - reg - interrupts + - iommus + - power-domains - phys - phy-names diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi index af80117dcb8b5..1f38eb1255901 100644 --- a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -436,6 +436,8 @@ <0x7 0x02a84000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + power-domains = <&ps_atc0_usb>; + iommus = <&dwc3_0_dart_0 1>, <&dwc3_0_dart_1 1>; phys = <&atcphy0 PHY_TYPE_USB2>; phy-names = "usb2-phy"; status = "disabled"; diff --git a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi index 0c6282de56898..e4027e2188c3b 100644 --- a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi @@ -762,6 +762,7 @@ interrupt-parent = <&aic>; interrupts = ; power-domains = <&ps_atc0_usb>; + iommus = <&dwc3_0_dart_0 1>, <&dwc3_0_dart_1 1>; phys = <&atcphy0 PHY_TYPE_USB2>; phy-names = "usb2-phy"; status = "disabled"; diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi index 019116e7f51ac..c4a12ff089aa3 100644 --- a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -363,6 +363,8 @@ <0x7 0x02a84000 0x0 0x4000>; interrupt-parent = <&aic>; interrupts = ; + power-domains = <&ps_atc0_usb>; + iommus = <&dwc3_0_dart_0 1>, <&dwc3_0_dart_1 1>; phys = <&atcphy0 PHY_TYPE_USB2>; phy-names = "usb2-phy"; status = "disabled";