From 6925ecaaa2ef4e117809dfba3b2503055ac62fc7 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:53:11 +1100 Subject: [PATCH 1/3] arm64: dts: apple: share T604x resources and describe M4 sibling boards Build on the J616s audit. Separate shared hardware from laptop endpoints, restore disabled Max providers, and add initial J614c, J575c and J773s board descriptions. Record every supplied board inventory and its remaining gaps. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- arch/arm64/boot/dts/apple/Makefile | 6 + arch/arm64/boot/dts/apple/t6040-j773s.dts | 56 ++ .../boot/dts/apple/t6040-peripherals.dtsi | 352 +----------- arch/arm64/boot/dts/apple/t6041-j575c.dts | 54 ++ arch/arm64/boot/dts/apple/t6041-j614c.dts | 54 ++ .../boot/dts/apple/t6041-peripherals.dtsi | 170 ++++++ arch/arm64/boot/dts/apple/t6041.dtsi | 2 + .../boot/dts/apple/t604x-peripherals.dtsi | 353 ++++++++++++ docs/devicetree/DT-GAPS-j575c.md | 543 ++++++++++++++++++ docs/devicetree/DT-GAPS-j614c.md | 521 +++++++++++++++++ docs/devicetree/DT-GAPS-j614s.md | 514 +++++++++++++++++ docs/devicetree/DT-GAPS-j616c.md | 515 +++++++++++++++++ docs/devicetree/DT-GAPS-j616s.md | 514 +++++++++++++++++ docs/devicetree/DT-GAPS-j773s.md | 437 ++++++++++++++ 14 files changed, 3741 insertions(+), 350 deletions(-) create mode 100644 arch/arm64/boot/dts/apple/t6040-j773s.dts create mode 100644 arch/arm64/boot/dts/apple/t6041-j575c.dts create mode 100644 arch/arm64/boot/dts/apple/t6041-j614c.dts create mode 100644 arch/arm64/boot/dts/apple/t6041-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t604x-peripherals.dtsi create mode 100644 docs/devicetree/DT-GAPS-j575c.md create mode 100644 docs/devicetree/DT-GAPS-j614c.md create mode 100644 docs/devicetree/DT-GAPS-j614s.md create mode 100644 docs/devicetree/DT-GAPS-j616c.md create mode 100644 docs/devicetree/DT-GAPS-j616s.md create mode 100644 docs/devicetree/DT-GAPS-j773s.md diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile index 52b15f4bdb8cb..7a628213c726e 100644 --- a/arch/arm64/boot/dts/apple/Makefile +++ b/arch/arm64/boot/dts/apple/Makefile @@ -120,3 +120,9 @@ dtb-$(CONFIG_ARCH_APPLE) += t8142-j813.dtb dtb-$(CONFIG_ARCH_APPLE) += t8152-j873g.dtb # Explicit cold-ANE lead test; never select as the production board DTB. + +dtb-$(CONFIG_ARCH_APPLE) += t6040-j773s.dtb + +dtb-$(CONFIG_ARCH_APPLE) += t6041-j614c.dtb + +dtb-$(CONFIG_ARCH_APPLE) += t6041-j575c.dtb diff --git a/arch/arm64/boot/dts/apple/t6040-j773s.dts b/arch/arm64/boot/dts/apple/t6040-j773s.dts new file mode 100644 index 0000000000000..d2fd2f31dc80d --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6040-j773s.dts @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Apple Mac mini (M4 Pro, 2024). Unqualified peripherals remain disabled. */ + +/dts-v1/; + +#include "t6040.dtsi" + +/ { + compatible = "apple,j773s", "apple,t6040", "apple,arm-platform"; + model = "Apple Mac mini (M4 Pro, 2024)"; + chassis-type = "desktop"; + + aliases { + serial0 = &serial0; + sep = &sep; + pmp = &pmp; + gpu = &gpu; + }; + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + stdout-path = "serial0:115200n8"; + + framebuffer0: framebuffer@0 { + compatible = "apple,simple-framebuffer", "simple-framebuffer"; + reg = <0 0 0 0>; + /* The loader supplies this boot's framebuffer allocation. */ + status = "disabled"; + }; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + /* Runtime firmware reservations are supplied by the loader. */ + }; + + memory@0 { + device_type = "memory"; + reg = <0 0 0 0>; /* Filled by the loader. */ + }; +}; + +&serial0 { + status = "okay"; +}; + +/* These endpoints belong to the laptop board, not the Mac mini. */ +/delete-node/ &battery_monitor; +/delete-node/ &hid_mux; +/delete-node/ &audio_low_power_mic; +/delete-node/ &audio_mic_buffer; +/delete-node/ &audio_listening_client; diff --git a/arch/arm64/boot/dts/apple/t6040-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6040-peripherals.dtsi index 81685adca2cb9..b4784cdfde877 100644 --- a/arch/arm64/boot/dts/apple/t6040-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t6040-peripherals.dtsi @@ -1,350 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only OR MIT -/* - * Structural hardware resources from the board's saved Apple Device Tree. - * Keep unqualified blocks disabled: describing them does not transfer - * ownership from firmware or make their registers safe to access. - */ +#include "t604x-peripherals.dtsi" -/ { - - /* ADT /arm-io/dwi. */ - dwi: dwi@5029b0000 { - compatible = "apple,t6041-dwi", "apple,dwi"; - reg = <0x5 0x029b0000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - power-domains = <&ps_dwi>; - status = "disabled"; - }; - - /* ADT /arm-io/aes. */ - aes: crypto@42900c000 { - compatible = "apple,t6041-aes", "apple,aes"; - reg = <0x4 0x2900c000 0x0 0x4000>, - <0x5 0x08340000 0x0 0x8000>, - <0x5 0x08090000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - power-domains = <&ps_aes>; - iommus = <&sio_dart 1>; - status = "disabled"; - }; - - /* ADT /arm-io/aon-ptd. */ - aon_ptd: aon-ptd@50cdc0000 { - compatible = "apple,t6041-aon-ptd", "apple,aon-ptd"; - reg = <0x5 0x0cdc0000 0x0 0x4000>, - <0x5 0x0cdd0000 0x0 0x4000>, - <0x5 0x0cdd8000 0x0 0x4000>, - <0x5 0x0cde0000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - , - ; - status = "disabled"; - }; - - /* ADT /arm-io/scaler0. */ - scaler0: scaler@521000000 { - compatible = "apple,t6041-scaler", "apple,scaler"; - reg = <0x5 0x21000000 0x0 0x38000>, - <0x5 0x21210000 0x0 0x4000>, - <0x5 0x21204000 0x0 0x4000>, - <0x5 0x20000000 0x0 0x8000>; - interrupt-parent = <&aic>; - interrupts = , - ; - power-domains = <&ps_msr0>, - <&ps_msr0_ase_core>; - iommus = <&scaler0_dart 0>, - <&scaler0_dart 1>; - clocks = <&peripheral_clocks 417>; - resets = <&ps_msr0>; - status = "disabled"; - }; - - /* ADT /arm-io/aic-timebase. */ - aic_timebase: aic-timebase@502580000 { - compatible = "apple,t6041-aic-timebase", "apple,aic-timebase"; - reg = <0x5 0x02580000 0x0 0x1000>; - status = "disabled"; - }; - - /* ADT /arm-io/dbgCPU. */ - cpu_debug: cpu-debug@508700000 { - compatible = "apple,t6041-cpu-debug", "apple,cpu-debug"; - reg = <0x5 0x08700000 0x0 0x28000>, - <0x5 0x085c0000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/apcie0-piodma. */ - apcie0_piodma: dma@410030000 { - compatible = "apple,t6041-pcie-piodma", "apple,pcie-piodma"; - reg = <0x4 0x10030000 0x0 0x4000>, - <0x4 0x10034000 0x0 0x4000>, - <0x4 0x10038000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - iommus = <&pcie_dart 17>; - status = "disabled"; - }; - - /* ADT /arm-io/apcie1-piodma. */ - apcie1_piodma: dma@411030000 { - compatible = "apple,t6041-pcie-piodma", "apple,pcie-piodma"; - reg = <0x4 0x11030000 0x0 0x4000>, - <0x4 0x11034000 0x0 0x4000>, - <0x4 0x11038000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - iommus = <&apcie1_dart 17>; - status = "disabled"; - }; - - /* ADT /arm-io/apciec0-piodma. */ - apciec0_piodma: dma@384068000 { - compatible = "apple,t6041-pciec-piodma", "apple,pciec-piodma"; - reg = <0x3 0x84068000 0x0 0x4000>, - <0x3 0x8406c000 0x0 0x4000>, - <0x3 0x84070000 0x0 0x4000>, - <0x3 0x8403c000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - iommus = <&apciec0_dart 254>; - status = "disabled"; - }; - - /* ADT /arm-io/apciec1-piodma. */ - apciec1_piodma: dma@38c068000 { - compatible = "apple,t6041-pciec-piodma", "apple,pciec-piodma"; - reg = <0x3 0x8c068000 0x0 0x4000>, - <0x3 0x8c06c000 0x0 0x4000>, - <0x3 0x8c070000 0x0 0x4000>, - <0x3 0x8c03c000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - iommus = <&apciec1_dart 254>; - status = "disabled"; - }; - - /* ADT /arm-io/apciec2-piodma. */ - apciec2_piodma: dma@394068000 { - compatible = "apple,t6041-pciec-piodma", "apple,pciec-piodma"; - reg = <0x3 0x94068000 0x0 0x4000>, - <0x3 0x9406c000 0x0 0x4000>, - <0x3 0x94070000 0x0 0x4000>, - <0x3 0x9403c000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - iommus = <&apciec2_dart 254>; - status = "disabled"; - }; - - /* ADT /arm-io/apr0. */ - apr0: video-codec@301000000 { - compatible = "apple,t6041-prores", "apple,prores"; - reg = <0x3 0x01000000 0x0 0x4000>, - <0x3 0x00000000 0x0 0x1000000>, - <0x3 0x010c0000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - power-domains = <&ps_scodec>; - iommus = <&apr0_dart 1>; - resets = <&ps_scodec>; - status = "disabled"; - }; - - /* ADT /arm-io/atc0-dpin0. */ - atc0_dpin0: dpin@381e50000 { - compatible = "apple,t6041-dpin", "apple,dpin"; - reg = <0x3 0x81e50000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/atc0-dpin1. */ - atc0_dpin1: dpin@381e58000 { - compatible = "apple,t6041-dpin", "apple,dpin"; - reg = <0x3 0x81e58000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/atc1-dpin0. */ - atc1_dpin0: dpin@389e50000 { - compatible = "apple,t6041-dpin", "apple,dpin"; - reg = <0x3 0x89e50000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/atc1-dpin1. */ - atc1_dpin1: dpin@389e58000 { - compatible = "apple,t6041-dpin", "apple,dpin"; - reg = <0x3 0x89e58000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/atc2-dpin0. */ - atc2_dpin0: dpin@391e50000 { - compatible = "apple,t6041-dpin", "apple,dpin"; - reg = <0x3 0x91e50000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/atc2-dpin1. */ - atc2_dpin1: dpin@391e58000 { - compatible = "apple,t6041-dpin", "apple,dpin"; - reg = <0x3 0x91e58000 0x0 0x4000>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/dcp0-expert. */ - dcp_expert: display-expert@4023a8050 { - compatible = "apple,t6041-dcp-expert", "apple,dcp-expert"; - reg = <0x4 0x023a8050 0x0 0x4>, - <0x4 0x02374000 0x0 0x40>, - <0x4 0x02370000 0x0 0x40>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/dcpext0-expert. */ - dcpext0_expert: display-expert@3a23a8050 { - compatible = "apple,t6041-dcp-expert", "apple,dcp-expert"; - reg = <0x3 0xa23a8050 0x0 0x4>, - <0x3 0xa2374000 0x0 0x40>, - <0x3 0xa2370000 0x0 0x40>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* ADT /arm-io/dcpext1-expert. */ - dcpext1_expert: display-expert@6023a8050 { - compatible = "apple,t6041-dcp-expert", "apple,dcp-expert"; - reg = <0x6 0x023a8050 0x0 0x4>, - <0x6 0x02374000 0x0 0x40>, - <0x6 0x02370000 0x0 0x40>; - interrupt-parent = <&aic>; - interrupts = ; - status = "disabled"; - }; - - /* Clock IDs are SoC hardware selectors, not ADT phandles. */ - peripheral_clocks: clock-controller@502800000 { - compatible = "apple,t6041-pmgr-clocks", "apple,pmgr-clocks"; - /* ADT /arm-io/pmgr register banks, in hardware-description order. */ - reg = <0x5 0x02800000 0x0 0x1e0000>, - <0x5 0x08300000 0x0 0x80000>, - <0x5 0x02280000 0x0 0x100000>, - <0x5 0x00000000 0x0 0x80000>, - <0x5 0x08200000 0x0 0x80000>, - <0x5 0x08004000 0x0 0x1000>, - <0x2 0x10e20000 0x0 0x2000>, - <0x2 0x10050000 0x0 0xef1000>, - <0x2 0x10e40000 0x0 0x9000>, - <0x2 0x10e50000 0x0 0xe81000>, - <0x2 0x10e70000 0x0 0x1000>, - <0x2 0x10050000 0x0 0x10000>, - <0x2 0x10150000 0x0 0x10000>, - <0x2 0x10250000 0x0 0x10000>, - <0x2 0x10350000 0x0 0x10000>, - <0x2 0x11e20000 0x0 0x2000>, - <0x2 0x11050000 0x0 0xef1000>, - <0x2 0x11e40000 0x0 0xb000>, - <0x2 0x11e50000 0x0 0xe81000>, - <0x2 0x11e70000 0x0 0x1000>, - <0x2 0x11050000 0x0 0x10000>, - <0x2 0x11150000 0x0 0x10000>, - <0x2 0x11250000 0x0 0x10000>, - <0x2 0x11350000 0x0 0x10000>, - <0x2 0x11450000 0x0 0x10000>, - <0x2 0x11550000 0x0 0x10000>, - <0x2 0x12e20000 0x0 0x2000>, - <0x2 0x12050000 0x0 0xef1000>, - <0x2 0x12e40000 0x0 0xb000>, - <0x2 0x12e50000 0x0 0xe81000>, - <0x2 0x12e70000 0x0 0x1000>, - <0x2 0x12050000 0x0 0x10000>, - <0x2 0x12150000 0x0 0x10000>, - <0x2 0x12250000 0x0 0x10000>, - <0x2 0x12350000 0x0 0x10000>, - <0x2 0x12450000 0x0 0x10000>, - <0x2 0x12550000 0x0 0x10000>, - <0x5 0x02800000 0x0 0x18000>, - <0x5 0x0282c000 0x0 0x4000>, - <0x5 0x02850000 0x0 0x4000>, - <0x5 0x02880000 0x0 0x1c000>, - <0x5 0x02900000 0x0 0x24000>, - <0x5 0x028f0000 0x0 0x4000>, - <0x5 0x028e0000 0x0 0x4000>, - <0x5 0x02820000 0x0 0x4000>, - <0x5 0x08330000 0x0 0x10000>, - <0x5 0x08374000 0x0 0x4000>, - <0x5 0x08360000 0x0 0x4000>, - <0x5 0x00200000 0x0 0x8000>, - <0x5 0x00400000 0x0 0x34000>, - <0x5 0x003c0000 0x0 0x30000>, - <0x5 0x08800000 0x0 0xa8000>, - <0x4 0x85878000 0x0 0x4000>, - <0x2 0x88eb0000 0x0 0x4000>, - <0x2 0x88e80000 0x0 0x30000>, - <0x5 0x08900000 0x0 0x18000>, - <0x5 0x00210000 0x0 0x8000>, - <0x5 0x0020c000 0x0 0x4000>, - <0x5 0x08004000 0x0 0x1000>, - <0x5 0x0007a000 0x0 0x4000>, - <0x5 0x04000000 0x0 0x1000000>, - <0x2 0x88e1c000 0x0 0x4000>, - <0x5 0x022a0000 0x0 0x4000>; - #clock-cells = <1>; - apple,pmgr = <&pmgr>; - status = "disabled"; - }; -}; / { @@ -382,11 +38,7 @@ }; -&aon_ptd { - interrupt-controller; - #interrupt-cells = <1>; - #address-cells = <0>; -}; + &nub_spmi0 { battery_monitor: battery-monitor@b { diff --git a/arch/arm64/boot/dts/apple/t6041-j575c.dts b/arch/arm64/boot/dts/apple/t6041-j575c.dts new file mode 100644 index 0000000000000..d1f9923b0a6ed --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6041-j575c.dts @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Apple Mac Studio (M4 Max, 2025). Unqualified peripherals remain disabled. */ + +/dts-v1/; + +#include "t6041.dtsi" + +/ { + compatible = "apple,j575c", "apple,t6041", "apple,arm-platform"; + model = "Apple Mac Studio (M4 Max, 2025)"; + chassis-type = "desktop"; + + aliases { + serial0 = &serial0; + sep = &sep; + pmp = &pmp; + gpu = &gpu; + }; + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + stdout-path = "serial0:115200n8"; + + framebuffer0: framebuffer@0 { + compatible = "apple,simple-framebuffer", "simple-framebuffer"; + reg = <0 0 0 0>; + /* The loader supplies this boot's framebuffer allocation. */ + status = "disabled"; + }; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + /* Runtime firmware reservations are supplied by the loader. */ + }; + + memory@0 { + device_type = "memory"; + reg = <0 0 0 0>; /* Filled by the loader. */ + }; +}; + +&serial0 { + status = "okay"; +}; + +/* The Max console has the same register interface as the Pro. */ +&serial0 { + reg = <0x4 0x29200000 0 0x4000>; +}; diff --git a/arch/arm64/boot/dts/apple/t6041-j614c.dts b/arch/arm64/boot/dts/apple/t6041-j614c.dts new file mode 100644 index 0000000000000..b8bfe83b9220e --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6041-j614c.dts @@ -0,0 +1,54 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Apple MacBook Pro (14-inch, M4 Max, 2024). Unqualified peripherals remain disabled. */ + +/dts-v1/; + +#include "t6041.dtsi" + +/ { + compatible = "apple,j614c", "apple,t6041", "apple,arm-platform"; + model = "Apple MacBook Pro (14-inch, M4 Max, 2024)"; + chassis-type = "laptop"; + + aliases { + serial0 = &serial0; + sep = &sep; + pmp = &pmp; + gpu = &gpu; + }; + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + stdout-path = "serial0:115200n8"; + + framebuffer0: framebuffer@0 { + compatible = "apple,simple-framebuffer", "simple-framebuffer"; + reg = <0 0 0 0>; + /* The loader supplies this boot's framebuffer allocation. */ + status = "disabled"; + }; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + /* Runtime firmware reservations are supplied by the loader. */ + }; + + memory@0 { + device_type = "memory"; + reg = <0 0 0 0>; /* Filled by the loader. */ + }; +}; + +&serial0 { + status = "okay"; +}; + +/* The Max console has the same register interface as the Pro. */ +&serial0 { + reg = <0x4 0x29200000 0 0x4000>; +}; diff --git a/arch/arm64/boot/dts/apple/t6041-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6041-peripherals.dtsi new file mode 100644 index 0000000000000..979eeca6f858c --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6041-peripherals.dtsi @@ -0,0 +1,170 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* Restore disabled providers for the shared T604x resource descriptions. */ + +&pmgr_aux { + ps_scodec: power-controller@328 { + compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x328 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec"; + power-domains = <&ps_fab1_soc>; + status = "disabled"; + }; +}; + +/ { + apciec0_dart: iommu@384000000 { + compatible = "apple,t6041-dart", "apple,t8110-dart"; + reg = <0x3 0x84000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; +}; + +&pmgr_aux { + ps_fab1_soc: power-controller@2d0 { + compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "fab1_soc"; + power-domains = <&ps_afi>; + status = "disabled"; + }; +}; + +/ { + apcie1_dart: iommu@411000000 { + compatible = "apple,t6041-dart", "apple,t8110-dart"; + reg = <0x4 0x11000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; +}; + +&pmgr_aux { + ps_msr0_ase_core: power-controller@478 { + compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x478 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr0_ase_core"; + power-domains = <&ps_msr0>; + status = "disabled"; + }; +}; + +/ { + sio_dart: iommu@429060000 { + compatible = "apple,t6041-dart", "apple,t8110-dart"; + reg = <0x4 0x29060000 0x0 0x20000>; + #iommu-cells = <1>; + apple,dma-range = <0x100 0x1c000 0x2ff 0xfffe4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_sio>; + status = "disabled"; + }; +}; + +&pmgr_aux { + ps_msr0: power-controller@470 { + compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x470 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr0"; + power-domains = <&ps_fab5_soc>; + status = "disabled"; + }; +}; + +&pmgr { + ps_aes: power-controller@1b0 { + compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1b0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "aes"; + power-domains = <&ps_sio>; + status = "disabled"; + }; +}; + +/ { + scaler0_dart: iommu@521260000 { + compatible = "apple,t6041-dart", "apple,t8110-dart"; + reg = <0x5 0x21260000 0x0 0xc000>; + #iommu-cells = <1>; + apple,dma-range = <0x100 0x0 0x300 0x0>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_msr0>; + status = "disabled"; + }; +}; + +/ { + apr0_dart: iommu@301020000 { + compatible = "apple,t6041-dart", "apple,t8110-dart"; + reg = <0x3 0x01020000 0x0 0xc000>; + #iommu-cells = <1>; + apple,dma-range = <0x100 0x0 0x300 0x0>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + status = "disabled"; + }; +}; + +&pmgr_aux { + ps_dwi: power-controller@108 { + compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x108 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "dwi"; + status = "disabled"; + }; +}; + +/ { + apciec2_dart: iommu@394000000 { + compatible = "apple,t6041-dart", "apple,t8110-dart"; + reg = <0x3 0x94000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; +}; + +/ { + apciec1_dart: iommu@38c000000 { + compatible = "apple,t6041-dart", "apple,t8110-dart"; + reg = <0x3 0x8c000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; +}; + +&pmgr_aux { + ps_fab5_soc: power-controller@440 { + compatible = "apple,t6041-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x440 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "fab5_soc"; + power-domains = <&ps_afi>; + status = "disabled"; + }; +}; + +#include "t604x-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6041.dtsi b/arch/arm64/boot/dts/apple/t6041.dtsi index 094a7c4bd8fa6..f0e7f6f29cd16 100644 --- a/arch/arm64/boot/dts/apple/t6041.dtsi +++ b/arch/arm64/boot/dts/apple/t6041.dtsi @@ -664,3 +664,5 @@ <0x2 0x2a080000 0x0 0x4000>, <0x2 0x2a0c0000 0x0 0x4000>; }; + +#include "t6041-peripherals.dtsi" diff --git a/arch/arm64/boot/dts/apple/t604x-peripherals.dtsi b/arch/arm64/boot/dts/apple/t604x-peripherals.dtsi new file mode 100644 index 0000000000000..056d0d75fe702 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t604x-peripherals.dtsi @@ -0,0 +1,353 @@ +// SPDX-License-Identifier: GPL-2.0-only OR MIT +/* + * Structural hardware resources from the board's saved Apple Device Tree. + * Keep unqualified blocks disabled: describing them does not transfer + * ownership from firmware or make their registers safe to access. + */ + +/ { + + /* ADT /arm-io/dwi. */ + dwi: dwi@5029b0000 { + compatible = "apple,t6041-dwi", "apple,dwi"; + reg = <0x5 0x029b0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + /* ADT /arm-io/aes. */ + aes: crypto@42900c000 { + compatible = "apple,t6041-aes", "apple,aes"; + reg = <0x4 0x2900c000 0x0 0x4000>, + <0x5 0x08340000 0x0 0x8000>, + <0x5 0x08090000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_aes>; + iommus = <&sio_dart 1>; + status = "disabled"; + }; + + /* ADT /arm-io/aon-ptd. */ + aon_ptd: aon-ptd@50cdc0000 { + compatible = "apple,t6041-aon-ptd", "apple,aon-ptd"; + reg = <0x5 0x0cdc0000 0x0 0x4000>, + <0x5 0x0cdd0000 0x0 0x4000>, + <0x5 0x0cdd8000 0x0 0x4000>, + <0x5 0x0cde0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + /* ADT /arm-io/scaler0. */ + scaler0: scaler@521000000 { + compatible = "apple,t6041-scaler", "apple,scaler"; + reg = <0x5 0x21000000 0x0 0x38000>, + <0x5 0x21210000 0x0 0x4000>, + <0x5 0x21204000 0x0 0x4000>, + <0x5 0x20000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr0>, + <&ps_msr0_ase_core>; + iommus = <&scaler0_dart 0>, + <&scaler0_dart 1>; + clocks = <&peripheral_clocks 417>; + resets = <&ps_msr0>; + status = "disabled"; + }; + + /* ADT /arm-io/aic-timebase. */ + aic_timebase: aic-timebase@502580000 { + compatible = "apple,t6041-aic-timebase", "apple,aic-timebase"; + reg = <0x5 0x02580000 0x0 0x1000>; + status = "disabled"; + }; + + /* ADT /arm-io/dbgCPU. */ + cpu_debug: cpu-debug@508700000 { + compatible = "apple,t6041-cpu-debug", "apple,cpu-debug"; + reg = <0x5 0x08700000 0x0 0x28000>, + <0x5 0x085c0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/apcie0-piodma. */ + apcie0_piodma: dma@410030000 { + compatible = "apple,t6041-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x10030000 0x0 0x4000>, + <0x4 0x10034000 0x0 0x4000>, + <0x4 0x10038000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie_dart 17>; + status = "disabled"; + }; + + /* ADT /arm-io/apcie1-piodma. */ + apcie1_piodma: dma@411030000 { + compatible = "apple,t6041-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x11030000 0x0 0x4000>, + <0x4 0x11034000 0x0 0x4000>, + <0x4 0x11038000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apcie1_dart 17>; + status = "disabled"; + }; + + /* ADT /arm-io/apciec0-piodma. */ + apciec0_piodma: dma@384068000 { + compatible = "apple,t6041-pciec-piodma", "apple,pciec-piodma"; + reg = <0x3 0x84068000 0x0 0x4000>, + <0x3 0x8406c000 0x0 0x4000>, + <0x3 0x84070000 0x0 0x4000>, + <0x3 0x8403c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec0_dart 254>; + status = "disabled"; + }; + + /* ADT /arm-io/apciec1-piodma. */ + apciec1_piodma: dma@38c068000 { + compatible = "apple,t6041-pciec-piodma", "apple,pciec-piodma"; + reg = <0x3 0x8c068000 0x0 0x4000>, + <0x3 0x8c06c000 0x0 0x4000>, + <0x3 0x8c070000 0x0 0x4000>, + <0x3 0x8c03c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec1_dart 254>; + status = "disabled"; + }; + + /* ADT /arm-io/apciec2-piodma. */ + apciec2_piodma: dma@394068000 { + compatible = "apple,t6041-pciec-piodma", "apple,pciec-piodma"; + reg = <0x3 0x94068000 0x0 0x4000>, + <0x3 0x9406c000 0x0 0x4000>, + <0x3 0x94070000 0x0 0x4000>, + <0x3 0x9403c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&apciec2_dart 254>; + status = "disabled"; + }; + + /* ADT /arm-io/apr0. */ + apr0: video-codec@301000000 { + compatible = "apple,t6041-prores", "apple,prores"; + reg = <0x3 0x01000000 0x0 0x4000>, + <0x3 0x00000000 0x0 0x1000000>, + <0x3 0x010c0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + iommus = <&apr0_dart 1>; + resets = <&ps_scodec>; + status = "disabled"; + }; + + /* ADT /arm-io/atc0-dpin0. */ + atc0_dpin0: dpin@381e50000 { + compatible = "apple,t6041-dpin", "apple,dpin"; + reg = <0x3 0x81e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/atc0-dpin1. */ + atc0_dpin1: dpin@381e58000 { + compatible = "apple,t6041-dpin", "apple,dpin"; + reg = <0x3 0x81e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/atc1-dpin0. */ + atc1_dpin0: dpin@389e50000 { + compatible = "apple,t6041-dpin", "apple,dpin"; + reg = <0x3 0x89e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/atc1-dpin1. */ + atc1_dpin1: dpin@389e58000 { + compatible = "apple,t6041-dpin", "apple,dpin"; + reg = <0x3 0x89e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/atc2-dpin0. */ + atc2_dpin0: dpin@391e50000 { + compatible = "apple,t6041-dpin", "apple,dpin"; + reg = <0x3 0x91e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/atc2-dpin1. */ + atc2_dpin1: dpin@391e58000 { + compatible = "apple,t6041-dpin", "apple,dpin"; + reg = <0x3 0x91e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/dcp0-expert. */ + dcp_expert: display-expert@4023a8050 { + compatible = "apple,t6041-dcp-expert", "apple,dcp-expert"; + reg = <0x4 0x023a8050 0x0 0x4>, + <0x4 0x02374000 0x0 0x40>, + <0x4 0x02370000 0x0 0x40>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/dcpext0-expert. */ + dcpext0_expert: display-expert@3a23a8050 { + compatible = "apple,t6041-dcp-expert", "apple,dcp-expert"; + reg = <0x3 0xa23a8050 0x0 0x4>, + <0x3 0xa2374000 0x0 0x40>, + <0x3 0xa2370000 0x0 0x40>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* ADT /arm-io/dcpext1-expert. */ + dcpext1_expert: display-expert@6023a8050 { + compatible = "apple,t6041-dcp-expert", "apple,dcp-expert"; + reg = <0x6 0x023a8050 0x0 0x4>, + <0x6 0x02374000 0x0 0x40>, + <0x6 0x02370000 0x0 0x40>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + /* Clock IDs are SoC hardware selectors, not ADT phandles. */ + peripheral_clocks: clock-controller@502800000 { + compatible = "apple,t6041-pmgr-clocks", "apple,pmgr-clocks"; + /* ADT /arm-io/pmgr register banks, in hardware-description order. */ + reg = <0x5 0x02800000 0x0 0x1e0000>, + <0x5 0x08300000 0x0 0x80000>, + <0x5 0x02280000 0x0 0x100000>, + <0x5 0x00000000 0x0 0x80000>, + <0x5 0x08200000 0x0 0x80000>, + <0x5 0x08004000 0x0 0x1000>, + <0x2 0x10e20000 0x0 0x2000>, + <0x2 0x10050000 0x0 0xef1000>, + <0x2 0x10e40000 0x0 0x9000>, + <0x2 0x10e50000 0x0 0xe81000>, + <0x2 0x10e70000 0x0 0x1000>, + <0x2 0x10050000 0x0 0x10000>, + <0x2 0x10150000 0x0 0x10000>, + <0x2 0x10250000 0x0 0x10000>, + <0x2 0x10350000 0x0 0x10000>, + <0x2 0x11e20000 0x0 0x2000>, + <0x2 0x11050000 0x0 0xef1000>, + <0x2 0x11e40000 0x0 0xb000>, + <0x2 0x11e50000 0x0 0xe81000>, + <0x2 0x11e70000 0x0 0x1000>, + <0x2 0x11050000 0x0 0x10000>, + <0x2 0x11150000 0x0 0x10000>, + <0x2 0x11250000 0x0 0x10000>, + <0x2 0x11350000 0x0 0x10000>, + <0x2 0x11450000 0x0 0x10000>, + <0x2 0x11550000 0x0 0x10000>, + <0x2 0x12e20000 0x0 0x2000>, + <0x2 0x12050000 0x0 0xef1000>, + <0x2 0x12e40000 0x0 0xb000>, + <0x2 0x12e50000 0x0 0xe81000>, + <0x2 0x12e70000 0x0 0x1000>, + <0x2 0x12050000 0x0 0x10000>, + <0x2 0x12150000 0x0 0x10000>, + <0x2 0x12250000 0x0 0x10000>, + <0x2 0x12350000 0x0 0x10000>, + <0x2 0x12450000 0x0 0x10000>, + <0x2 0x12550000 0x0 0x10000>, + <0x5 0x02800000 0x0 0x18000>, + <0x5 0x0282c000 0x0 0x4000>, + <0x5 0x02850000 0x0 0x4000>, + <0x5 0x02880000 0x0 0x1c000>, + <0x5 0x02900000 0x0 0x24000>, + <0x5 0x028f0000 0x0 0x4000>, + <0x5 0x028e0000 0x0 0x4000>, + <0x5 0x02820000 0x0 0x4000>, + <0x5 0x08330000 0x0 0x10000>, + <0x5 0x08374000 0x0 0x4000>, + <0x5 0x08360000 0x0 0x4000>, + <0x5 0x00200000 0x0 0x8000>, + <0x5 0x00400000 0x0 0x34000>, + <0x5 0x003c0000 0x0 0x30000>, + <0x5 0x08800000 0x0 0xa8000>, + <0x4 0x85878000 0x0 0x4000>, + <0x2 0x88eb0000 0x0 0x4000>, + <0x2 0x88e80000 0x0 0x30000>, + <0x5 0x08900000 0x0 0x18000>, + <0x5 0x00210000 0x0 0x8000>, + <0x5 0x0020c000 0x0 0x4000>, + <0x5 0x08004000 0x0 0x1000>, + <0x5 0x0007a000 0x0 0x4000>, + <0x5 0x04000000 0x0 0x1000000>, + <0x2 0x88e1c000 0x0 0x4000>, + <0x5 0x022a0000 0x0 0x4000>; + #clock-cells = <1>; + apple,pmgr = <&pmgr>; + status = "disabled"; + }; +}; + +&aon_ptd { + interrupt-controller; + #interrupt-cells = <1>; + #address-cells = <0>; +}; diff --git a/docs/devicetree/DT-GAPS-j575c.md b/docs/devicetree/DT-GAPS-j575c.md new file mode 100644 index 0000000000000..994f0ee4f94ec --- /dev/null +++ b/docs/devicetree/DT-GAPS-j575c.md @@ -0,0 +1,543 @@ +# DT gaps: J575C + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6041-j575c.dts`. +The hardware resource inventory identifies the T6041 peripheral die. + +Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 448 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| bus device | 2 | +| gap | 76 | +| partial resources | 48 | +| resources | 65 | +| service review | 103 | +| stream | 154 | + +## 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 + +- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. +- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. +- linux PR #1092 owns J616c fan enablement. +- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. + +## 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 | +| --- | --- | --- | +| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `i2c0` | gap | **GAP:** no matching hardware resource node | +| `i2c0/gen-lock-hub` | gap | **GAP:** I2C device not described under this bus | +| `i2c1` | resources | `/i2c@429014000` | +| `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | +| `i2c2` | resources | `/i2c@429018000` | +| `i2c2/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | +| `i2c4` | resources | `/i2c@429020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c5` | gap | **GAP:** no matching hardware resource node | +| `i2c5/aqc-a` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/i2c@429028000` | +| `i2c6/uatcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt3` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/i2c@429030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `apcie0` | gap | **GAP:** no matching hardware resource node | +| `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 | +| `apcie0/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge2/lan-10gb` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3/usb2-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3/usb2-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3/usb2-hub-port3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3/usb2-hub-port4` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1/usb3-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1/usb3-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1/usb3-hub-port3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1/usb3-hub-port4` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie0` | resources | `/iommu@410000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/dma@410030000` | +| `dart-apcie1` | resources | `/iommu@411000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/dma@411030000` | +| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | +| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | +| `lan-10gb-sync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `lan-10gb-portmon` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dart-apcie3` | gap | **GAP:** no matching hardware resource node | +| `dart-apcie3/mapper-apcie3` | stream | Stream of `dart-apcie3`; stream/resource linkage needs review | +| `dart-apcie3/mapper-apcie3-piodma` | stream | Stream of `dart-apcie3`; stream/resource linkage needs review | +| `apcie3-piodma` | gap | **GAP:** no matching hardware resource node | +| `spi3` | gap | **GAP:** no matching hardware resource node | +| `spi3/usb3hub-flash` | gap | **GAP:** nested resource requires parent-specific address decoding | +| `spi3/usb3hub-flash/usb3hub-fw` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | +| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | +| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | +| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu3` | gap | **GAP:** no matching hardware resource node | +| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/iommu@384000000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/dma@384068000` | +| `acio0` | gap | **GAP:** no matching hardware resource node | +| `dart-acio0` | resources | `/iommu@381a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/iommu@38c000000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/dma@38c068000` | +| `acio1` | gap | **GAP:** no matching hardware resource node | +| `dart-acio1` | resources | `/iommu@389a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec2` | resources | `/iommu@394000000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/dma@394068000` | +| `acio2` | gap | **GAP:** no matching hardware resource node | +| `dart-acio2` | resources | `/iommu@391a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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 | +| `apciec3` | gap | **GAP:** no matching hardware resource node | +| `apciec3/pcic3-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec3` | gap | **GAP:** no matching hardware resource node | +| `dart-apciec3/mapper-apciec3-piodma` | stream | Stream of `dart-apciec3`; stream/resource linkage needs review | +| `apciec3-piodma` | gap | **GAP:** no matching hardware resource node | +| `acio3` | gap | **GAP:** no matching hardware resource node | +| `dart-acio3` | gap | **GAP:** no matching hardware resource node | +| `dart-acio3/mapper-acio3-tx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-tx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `dart-acio3/mapper-acio3-rx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | +| `acio-cpu3` | gap | **GAP:** no matching hardware resource node | +| `acio-cpu3/iop-acio3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/dpin@381e50000` | +| `atc0-dpin1` | resources | `/dpin@381e58000` | +| `atc1-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/dpin@389e50000` | +| `atc1-dpin1` | resources | `/dpin@389e58000` | +| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc2-dpin0` | resources | `/dpin@391e50000` | +| `atc2-dpin1` | resources | `/dpin@391e58000` | +| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc3-dpin0` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpin1` | gap | **GAP:** no matching hardware resource node | +| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 49 larger or unmatched resource window(s) | +| `aic` | resources | `/interrupt-controller@502400000` | +| `aic-timebase` | resources | `/aic-timebase@502580000` | +| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 73 larger or unmatched resource window(s) | +| `dwi` | resources | `/dwi@5029b0000` | +| `aes` | resources | `/crypto@42900c000` | +| `gpio0` | resources | `/pinctrl@51c000000` | +| `aop-gpio0` | resources | `/pinctrl@510824000` | +| `nub-gpio0` | resources | `/pinctrl@5081e4000` | +| `smc-gpio0` | resources | `/pinctrl@50c824000` | +| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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/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` | partial resources | `/iommu@510f00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sio` | partial resources | `/dma-controller@429e00000`; **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 | `/iommu@429060000` | +| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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 | `/iommu@500300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/sep@406600000`; **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 | `/iommu@404c80000` | +| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | +| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `smc` | partial resources | `/smc@50c600000`; **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 | +| `aon-ptd` | resources | `/aon-ptd@50cdc0000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | +| `uart0` | resources | `/serial@429200000` | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/spi@429118000` | +| `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 | +| `lpdptx-phy0` | gap | **GAP:** no matching hardware resource node | +| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/iommu@382f00000`; `/iommu@382f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/iommu@38af00000`; `/iommu@38af80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/iommu@392f00000`; `/iommu@392f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3/mapper-usb3` | stream | Stream of `dart-usb3`; stream/resource linkage needs review | +| `usb-drd3` | gap | **GAP:** no matching hardware resource node | +| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-chapelL1-b` | bus device | `/spmi@509014000/pmic@b` | +| `nub-spmi0/btm` | bus device | `/spmi@509014000/pmic@b` | +| `nub-spmi1` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi2/spmi-portierC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2/spmi-portierC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi3/spmi-portierC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3/spmi-portierC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi4/spmi-portierC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **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/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0/hpm3` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a1` | partial resources | `/spmi@509198000`; **GAP:** 3 larger or unmatched resource window(s) | +| `aop-spmi0` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-disp0` | resources | `/iommu@402300000`; `/dcp@402e00000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dcp0-expert` | resources | `/display-expert@4023a8050` | +| `dcp` | partial resources | `/dcp@402e00000`; **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 | `/iommu@402340000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; 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 | +| `dispext0` | partial resources | `/iommu@3a2300000`; `/display-expert@3a23a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | +| `dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | resources | `/iommu@3a2340000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/iommu@3a2300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/iommu@602300000`; `/display-expert@6023a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext1-expert` | resources | `/display-expert@6023a8050` | +| `dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | resources | `/iommu@602340000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/iommu@602300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | +| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | +| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/scaler@521000000` | +| `dart-scaler0` | resources | `/iommu@521260000` | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | +| `ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | +| `apr0` | resources | `/video-codec@301000000` | +| `dart-apr0` | resources | `/iommu@301020000` | +| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | +| `apr1` | gap | **GAP:** no matching hardware resource node | +| `dart-apr1` | gap | **GAP:** no matching hardware resource node | +| `dart-apr1/mapper-apr1` | stream | Stream of `dart-apr1`; stream/resource linkage needs review | +| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg0` | resources | `/iommu@487020000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | +| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg1` | resources | `/iommu@487080000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | +| `ane0` | resources | `/ane@484000000` | +| `dart-ane0` | resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000` | +| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | resources | `/iommu@281020000` | +| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | +| `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 | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | +| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/cpu-debug@508700000` | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `pwm1` | resources | `/pwm@429040000` | +| `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. | +| `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-usb-c-4` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-hdmi0` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-a-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-a-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-5` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-6` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `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/devicetree/DT-GAPS-j614c.md b/docs/devicetree/DT-GAPS-j614c.md new file mode 100644 index 0000000000000..931ffb75898b2 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j614c.md @@ -0,0 +1,521 @@ +# DT gaps: J614C + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6041-j614c.dts`. +The hardware resource inventory identifies the T6041 peripheral die. + +Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 428 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 | 64 | +| partial resources | 54 | +| resources | 70 | +| service review | 111 | +| stream | 126 | + +## 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 + +- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. +- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. +- linux PR #1092 owns J616c fan enablement. +- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. + +## 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 | +| --- | --- | --- | +| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `i2c1` | resources | `/i2c@429014000` | +| `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | +| `i2c1/audio-speaker-left-woofer-2` | gap | **GAP:** I2C device not described under this bus | +| `i2c1/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `i2c2` | resources | `/i2c@429018000` | +| `i2c2/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | +| `i2c3` | resources | `/i2c@42901c000` | +| `i2c3/audio-speaker-right-woofer-1` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-woofer-2` | gap | **GAP:** I2C device not described under this bus | +| `i2c3/audio-speaker-right-tweeter` | gap | **GAP:** I2C device not described under this bus | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c4` | resources | `/i2c@429020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/i2c@429028000` | +| `i2c6/uatcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/i2c@429030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `spi2` | resources | `/spi@429108000` | +| `spi2/mesa` | bus device | `/spi@429108000/fingerprint@0` | +| `spi4` | resources | `/spi@429110000` | +| `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 | +| `ispRtb` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `isp0` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-isp0` | partial resources | `/iommu@5828c0000`; `/iommu@5828e0000`; `/iommu@582900000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-isp0/mapper-isp0` | stream | Stream of `/iommu@5828c0000` / `/iommu@5828e0000` / `/iommu@582900000`; stream/resource linkage needs review | +| `pwm0` | resources | `/pwm@429040000` | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0` | gap | **GAP:** no matching hardware resource node | +| `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 | `/iommu@410000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/dma@410030000` | +| `dart-apcie1` | resources | `/iommu@411000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/dma@411030000` | +| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | +| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | +| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | +| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu3` | gap | **GAP:** no matching hardware resource node | +| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp` | partial resources | `/fifo@514b14000`; `/fifo@514b14000/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 | `/mtp@514600000`; **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` | partial resources | `/iommu@514800000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-mtp/mapper-mtp` | stream | Stream of `/iommu@514800000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `secure-repair` | resources | `/pinctrl@5081e4000` | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/iommu@384000000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/dma@384068000` | +| `acio0` | gap | **GAP:** no matching hardware resource node | +| `dart-acio0` | resources | `/iommu@381a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/iommu@38c000000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/dma@38c068000` | +| `acio1` | gap | **GAP:** no matching hardware resource node | +| `dart-acio1` | resources | `/iommu@389a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec2` | resources | `/iommu@394000000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/dma@394068000` | +| `acio2` | gap | **GAP:** no matching hardware resource node | +| `dart-acio2` | resources | `/iommu@391a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/dpin@381e50000` | +| `atc0-dpin1` | resources | `/dpin@381e58000` | +| `atc1-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/dpin@389e50000` | +| `atc1-dpin1` | resources | `/dpin@389e58000` | +| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc2-dpin0` | resources | `/dpin@391e50000` | +| `atc2-dpin1` | resources | `/dpin@391e58000` | +| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 49 larger or unmatched resource window(s) | +| `aic` | resources | `/interrupt-controller@502400000` | +| `aic-timebase` | resources | `/aic-timebase@502580000` | +| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 73 larger or unmatched resource window(s) | +| `dwi` | resources | `/dwi@5029b0000` | +| `aes` | resources | `/crypto@42900c000` | +| `gpio0` | resources | `/pinctrl@51c000000` | +| `aop-gpio0` | resources | `/pinctrl@510824000` | +| `nub-gpio0` | resources | `/pinctrl@5081e4000` | +| `smc-gpio0` | resources | `/pinctrl@50c824000` | +| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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-voicetrigger` | 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` | partial resources | `/iommu@510f00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sio` | partial resources | `/dma-controller@429e00000`; **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 | `/iommu@429060000` | +| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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 | `/iommu@500300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/sep@406600000`; **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 | `/iommu@404c80000` | +| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | +| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `smc` | partial resources | `/smc@50c600000`; **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 | `/aon-ptd@50cdc0000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | +| `uart0` | resources | `/serial@429200000` | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/spi@429118000` | +| `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 | +| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/iommu@382f00000`; `/iommu@382f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/iommu@38af00000`; `/iommu@38af80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/iommu@392f00000`; `/iommu@392f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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` | gap | **GAP:** no matching hardware resource node | +| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-chapelL1-b` | bus device | `/spmi@509014000/pmic@b` | +| `nub-spmi0/btm` | bus device | `/spmi@509014000/pmic@b` | +| `nub-spmi1` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi2/spmi-portierC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2/spmi-portierC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi3/spmi-portierC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3/spmi-portierC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi4/spmi-portierC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **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 | `/spmi@509198000`; **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` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-disp0` | resources | `/iommu@402300000`; `/dcp@402e00000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dcp0-expert` | resources | `/display-expert@4023a8050` | +| `dcp` | partial resources | `/dcp@402e00000`; **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 | `/iommu@402340000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; 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 | +| `dispext0` | partial resources | `/iommu@3a2300000`; `/display-expert@3a23a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | +| `dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | resources | `/iommu@3a2340000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/iommu@3a2300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/iommu@602300000`; `/display-expert@6023a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext1-expert` | resources | `/display-expert@6023a8050` | +| `dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | resources | `/iommu@602340000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/iommu@602300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | +| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | +| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/scaler@521000000` | +| `dart-scaler0` | resources | `/iommu@521260000` | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | +| `ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | +| `apr0` | resources | `/video-codec@301000000` | +| `dart-apr0` | resources | `/iommu@301020000` | +| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | +| `apr1` | gap | **GAP:** no matching hardware resource node | +| `dart-apr1` | gap | **GAP:** no matching hardware resource node | +| `dart-apr1/mapper-apr1` | stream | Stream of `dart-apr1`; stream/resource linkage needs review | +| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg0` | resources | `/iommu@487020000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | +| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg1` | resources | `/iommu@487080000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | +| `ane0` | resources | `/ane@484000000` | +| `dart-ane0` | resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000` | +| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | resources | `/iommu@281020000` | +| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | +| `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 | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | +| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/cpu-debug@508700000` | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `pwm1` | resources | `/pwm@429040000` | +| `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. | +| `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/devicetree/DT-GAPS-j614s.md b/docs/devicetree/DT-GAPS-j614s.md new file mode 100644 index 0000000000000..39d0308007dd3 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j614s.md @@ -0,0 +1,514 @@ +# DT gaps: J614S + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6040-j614s.dts`. +The hardware resource inventory identifies the T6041 peripheral die. + +Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 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 | 18 | +| gap | 33 | +| partial resources | 57 | +| resources | 76 | +| service review | 104 | +| shared hardware | 7 | +| stream | 125 | + +## 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 + +- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. +- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. +- linux PR #1092 owns J616c fan enablement. +- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. + +## 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 | +| --- | --- | --- | +| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `i2c1` | resources | `/i2c@429014000` | +| `i2c1/audio-speaker` | bus device | `/i2c@429014000/codec@38` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/i2c@429014000/codec@39` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/i2c@429014000/codec@3a` | +| `i2c2` | resources | `/i2c@429018000` | +| `i2c2/audio-codec-output` | bus device | `/i2c@429018000/codec@4b` | +| `i2c3` | resources | `/i2c@42901c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/i2c@42901c000/codec@3b` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/i2c@42901c000/codec@3c` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/i2c@42901c000/codec@3d` | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c4` | resources | `/i2c@429020000` | +| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | +| `i2c6` | resources | `/i2c@429028000` | +| `i2c6/uatcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/i2c@429030000` | +| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | +| `spi2` | resources | `/spi@429108000` | +| `spi2/mesa` | bus device | `/spi@429108000/fingerprint@0` | +| `spi4` | resources | `/spi@429110000` | +| `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 | +| `ispRtb` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `isp0` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-isp0` | partial resources | `/iommu@5828c0000`; `/iommu@5828e0000`; `/iommu@582900000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-isp0/mapper-isp0` | stream | Stream of `/iommu@5828c0000` / `/iommu@5828e0000` / `/iommu@582900000`; stream/resource linkage needs review | +| `pwm0` | resources | `/pwm@429040000` | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0` | partial resources | `/pcie@1cb0000000`; **GAP:** 30 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 | `/iommu@410000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/dma@410030000` | +| `dart-apcie1` | resources | `/iommu@411000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/dma@411030000` | +| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | +| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | +| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | +| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu3` | resources | `/mailbox@39b148000`; `/phy@39aa90000` | +| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp` | partial resources | `/fifo@514b14000`; `/fifo@514b14000/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 | `/mtp@514600000`; **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` | partial resources | `/iommu@514800000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-mtp/mapper-mtp` | stream | Stream of `/iommu@514800000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `secure-repair` | resources | `/pinctrl@5081e4000` | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/iommu@384000000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/dma@384068000` | +| `acio0` | gap | **GAP:** no matching hardware resource node | +| `dart-acio0` | resources | `/iommu@381a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/iommu@38c000000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/dma@38c068000` | +| `acio1` | gap | **GAP:** no matching hardware resource node | +| `dart-acio1` | resources | `/iommu@389a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec2` | resources | `/iommu@394000000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/dma@394068000` | +| `acio2` | gap | **GAP:** no matching hardware resource node | +| `dart-acio2` | resources | `/iommu@391a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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 | `/pcie@1cb0000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/pcie@1cb0000000/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 | `/mux@38324c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/dpin@381e50000` | +| `atc0-dpin1` | resources | `/dpin@381e58000` | +| `atc1-dpxbar` | resources | `/mux@38b24c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/dpin@389e50000` | +| `atc1-dpin1` | resources | `/dpin@389e58000` | +| `atc2-dpxbar` | resources | `/mux@39324c000` | +| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc2-dpin0` | resources | `/dpin@391e50000` | +| `atc2-dpin1` | resources | `/dpin@391e58000` | +| `atc3-dpxbar` | resources | `/mux@39b24c000` | +| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 29 larger or unmatched resource window(s) | +| `aic` | partial resources | `/interrupt-controller@502400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `aic-timebase` | resources | `/aic-timebase@502580000` | +| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 53 larger or unmatched resource window(s) | +| `dwi` | resources | `/dwi@5029b0000` | +| `aes` | resources | `/crypto@42900c000` | +| `gpio0` | resources | `/pinctrl@51c000000` | +| `aop-gpio0` | resources | `/pinctrl@510824000` | +| `nub-gpio0` | resources | `/pinctrl@5081e4000` | +| `smc-gpio0` | resources | `/pinctrl@50c824000` | +| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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-voicetrigger` | 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` | partial resources | `/iommu@510f00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sio` | partial resources | `/dma-controller@429e00000`; **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 | `/iommu@429060000` | +| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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 | `/iommu@500300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/sep@406600000`; **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 | `/iommu@404c80000` | +| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | +| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `smc` | partial resources | `/smc@50c600000`; **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 | `/aon-ptd@50cdc0000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | +| `uart0` | resources | `/serial@429200000` | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/spi@429118000` | +| `qspi/spinor` | bus device | `/spi@429118000/flash@0` | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/iommu@382f00000`; `/iommu@382f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/iommu@38af00000`; `/iommu@38af80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/iommu@392f00000`; `/iommu@392f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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 | `/phy@39aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-abbeyL1` | bus device | `/spmi@509014000/pmic@e` | +| `nub-spmi0/btm` | bus device | `/spmi@509014000/battery-monitor@b` | +| `nub-spmi1` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi1/spmi-abbeyF1` | bus device | `/spmi@509054000/pmic@e` | +| `nub-spmi2` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi2/spmi-abbeyF2` | bus device | `/spmi@509094000/pmic@e` | +| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a0/hpm0` | bus device | `/spmi@509188000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/spmi@509188000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/spmi@509188000/usb-pd@8` | +| `nub-spmi-a1` | partial resources | `/spmi@509198000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a1/hpm2` | bus device | `/spmi@509198000/usb-pd@c` | +| `aop-spmi0` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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-spmi0/spmi-wifibt` | bus device | `/spmi@510914000/pmic@e` | +| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-disp0` | resources | `/iommu@402300000`; `/dcp@402e00000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dcp0-expert` | resources | `/display-expert@4023a8050` | +| `dcp` | partial resources | `/dcp@402e00000`; **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 | `/iommu@402340000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; stream/resource linkage needs review | +| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `dispext0` | partial resources | `/dcp@3a2e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | +| `dcpext0` | partial resources | `/dcp@3a2e00000`; **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 | `/iommu@3a2340000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | +| `dart-dispext0` | resources | `/iommu@3a2300000`; `/dcp@3a2e00000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | +| `dp-audio1` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `dispext1` | partial resources | `/dcp@602e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext1-expert` | resources | `/display-expert@6023a8050` | +| `dcpext1` | partial resources | `/dcp@602e00000`; **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 | `/iommu@602340000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | +| `dart-dispext1` | resources | `/iommu@602300000`; `/dcp@602e00000` | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | +| `dp-audio2` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | +| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dp-audio3` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | +| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dp-audio4` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `scaler0` | resources | `/scaler@521000000` | +| `dart-scaler0` | resources | `/iommu@521260000` | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | +| `ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | +| `apr0` | resources | `/video-codec@301000000` | +| `dart-apr0` | resources | `/iommu@301020000` | +| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | +| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg0` | resources | `/iommu@487020000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | +| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg1` | resources | `/iommu@487080000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | +| `ane0` | resources | `/ane@484000000` | +| `dart-ane0` | resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000` | +| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | resources | `/iommu@281020000` | +| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | +| `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 | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | +| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/cpu-debug@508700000` | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `pwm1` | resources | `/pwm@429040000` | +| `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. | +| `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/devicetree/DT-GAPS-j616c.md b/docs/devicetree/DT-GAPS-j616c.md new file mode 100644 index 0000000000000..9bd4b9b5e9a7a --- /dev/null +++ b/docs/devicetree/DT-GAPS-j616c.md @@ -0,0 +1,515 @@ +# DT gaps: J616C + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6041-j616c.dts`. +The hardware resource inventory identifies the T6041 peripheral die. + +Source: preferred live hardware description, 26.6.2/t6041-j616c.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 422 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| bus device | 1 | +| gap | 39 | +| partial resources | 82 | +| resources | 50 | +| service review | 123 | +| shared hardware | 2 | +| stream | 125 | + +## 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 + +- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. +- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. +- linux PR #1092 owns J616c fan enablement. +- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. + +## 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 | +| --- | --- | --- | +| `i2c1` | resources | `/i2c@429014000` | +| `i2c1/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c1/audio-speaker-left-woofer-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c1/audio-speaker-left-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2` | resources | `/i2c@429018000` | +| `i2c2/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3` | resources | `/i2c@42901c000` | +| `i2c3/audio-speaker-right-woofer-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-right-woofer-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c3/audio-speaker-right-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c4` | resources | `/i2c@429020000` | +| `i2c4/sd-card` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c6` | resources | `/i2c@429028000` | +| `i2c6/uatcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c6/uatcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c6/uatcrt2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c8` | resources | `/i2c@429030000` | +| `i2c8/pcon0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi2` | resources | `/spi@429108000` | +| `spi2/mesa` | bus device | `/spi@429108000/fingerprint@0` | +| `spi4` | resources | `/spi@429110000` | +| `spi4/dp855` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/display-temp-sens1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/display-temp-sens2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi4/display-temp-sens3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `isp0` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-isp0` | partial resources | `/iommu@5828c0000`; `/iommu@5828e0000`; `/iommu@582900000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dart-isp0/mapper-isp0` | stream | Stream of `/iommu@5828c0000` / `/iommu@5828e0000` / `/iommu@582900000`; stream/resource linkage needs review | +| `pwm0` | resources | `/pwm@429040000` | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0` | partial resources | `/pcie@1cb0000000`; **GAP:** 30 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` | partial resources | `/iommu@410000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/dma@410030000` | +| `dart-apcie1` | partial resources | `/iommu@411000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/dma@411030000` | +| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | +| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | +| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | +| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu3` | resources | `/mailbox@39b148000`; `/phy@39aa90000` | +| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp` | partial resources | `/fifo@514b14000`; `/fifo@514b14000/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 | `/mtp@514600000`; **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` | partial resources | `/iommu@514800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-mtp/mapper-mtp` | stream | Stream of `/iommu@514800000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `secure-repair` | resources | `/pinctrl@5081e4000` | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | partial resources | `/iommu@384000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/dma@384068000` | +| `acio0` | gap | **GAP:** no matching hardware resource node | +| `dart-acio0` | partial resources | `/iommu@381a80000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | partial resources | `/iommu@38c000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/dma@38c068000` | +| `acio1` | gap | **GAP:** no matching hardware resource node | +| `dart-acio1` | partial resources | `/iommu@389a80000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec2` | partial resources | `/iommu@394000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/dma@394068000` | +| `acio2` | gap | **GAP:** no matching hardware resource node | +| `dart-acio2` | partial resources | `/iommu@391a80000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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 | `/pcie@1cb0000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/pcie@1cb0000000/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 | `/mux@38324c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/dpin@381e50000` | +| `atc0-dpin1` | resources | `/dpin@381e58000` | +| `atc1-dpxbar` | resources | `/mux@38b24c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/dpin@389e50000` | +| `atc1-dpin1` | resources | `/dpin@389e58000` | +| `atc2-dpxbar` | resources | `/mux@39324c000` | +| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc2-dpin0` | resources | `/dpin@391e50000` | +| `atc2-dpin1` | resources | `/dpin@391e58000` | +| `atc3-dpxbar` | resources | `/mux@39b24c000` | +| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 49 larger or unmatched resource window(s) | +| `aic` | resources | `/interrupt-controller@502400000` | +| `aic-timebase` | resources | `/aic-timebase@502580000` | +| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 73 larger or unmatched resource window(s) | +| `dwi` | resources | `/dwi@5029b0000` | +| `aes` | resources | `/crypto@42900c000` | +| `gpio0` | resources | `/pinctrl@51c000000` | +| `aop-gpio0` | resources | `/pinctrl@510824000` | +| `nub-gpio0` | resources | `/pinctrl@5081e4000` | +| `smc-gpio0` | resources | `/pinctrl@50c824000` | +| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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-voicetrigger` | 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` | partial resources | `/iommu@510f00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sio` | partial resources | `/dma-controller@429e00000`; **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` | partial resources | `/iommu@429060000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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` | partial resources | `/iommu@500300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/sep@406600000`; **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` | partial resources | `/iommu@404c80000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | +| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `smc` | partial resources | `/smc@50c600000`; **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 | `/aon-ptd@50cdc0000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `uart0` | partial resources | `/serial@429200000`; **GAP:** 1 larger or unmatched resource window(s) | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/spi@429118000` | +| `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 | +| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | partial resources | `/iommu@382f00000`; `/iommu@382f80000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | partial resources | `/iommu@38af00000`; `/iommu@38af80000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | partial resources | `/iommu@392f00000`; `/iommu@392f80000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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 | `/phy@39aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/spmi@509014000`; **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` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi2/spmi-portierC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2/spmi-portierC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi3/spmi-portierC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3/spmi-portierC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi4/spmi-portierC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **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 | `/spmi@509198000`; **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` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-disp0` | partial resources | `/iommu@402300000`; `/dcp@402e00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dcp0-expert` | resources | `/display-expert@4023a8050` | +| `dcp` | partial resources | `/dcp@402e00000`; **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` | partial resources | `/iommu@402340000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; 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 | +| `dispext0` | partial resources | `/dcp@3a2e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | +| `dcpext0` | partial resources | `/dcp@3a2e00000`; **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` | partial resources | `/iommu@3a2340000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/iommu@3a2300000`; `/dcp@3a2e00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | +| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext1` | partial resources | `/dcp@602e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext1-expert` | resources | `/display-expert@6023a8050` | +| `dcpext1` | partial resources | `/dcp@602e00000`; **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` | partial resources | `/iommu@602340000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/iommu@602300000`; `/dcp@602e00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | +| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | +| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | +| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `scaler0` | resources | `/scaler@521000000` | +| `dart-scaler0` | partial resources | `/iommu@521260000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | +| `ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | +| `apr0` | resources | `/video-codec@301000000` | +| `dart-apr0` | partial resources | `/iommu@301020000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | +| `apr1` | gap | **GAP:** no matching hardware resource node | +| `dart-apr1` | gap | **GAP:** no matching hardware resource node | +| `dart-apr1/mapper-apr1` | stream | Stream of `dart-apr1`; stream/resource linkage needs review | +| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg0` | partial resources | `/iommu@487020000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | +| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg1` | partial resources | `/iommu@487080000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | +| `ane0` | resources | `/ane@484000000` | +| `dart-ane0` | partial resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | partial resources | `/iommu@281020000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | +| `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 | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | +| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/cpu-debug@508700000` | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `pwm1` | resources | `/pwm@429040000` | +| `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. | +| `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-t818-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. | diff --git a/docs/devicetree/DT-GAPS-j616s.md b/docs/devicetree/DT-GAPS-j616s.md new file mode 100644 index 0000000000000..a5d1a139b1e55 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j616s.md @@ -0,0 +1,514 @@ +# DT gaps: J616S + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6040-j616s.dts`. +The hardware resource inventory identifies the T6041 peripheral die. + +Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 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 | 20 | +| gap | 31 | +| partial resources | 57 | +| resources | 76 | +| service review | 104 | +| shared hardware | 7 | +| stream | 125 | + +## 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 + +- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. +- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. +- linux PR #1092 owns J616c fan enablement. +- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. + +## 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 | +| --- | --- | --- | +| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `i2c1` | resources | `/i2c@429014000` | +| `i2c1/audio-speaker` | bus device | `/i2c@429014000/codec@38` | +| `i2c1/audio-speaker-left-woofer-2` | bus device | `/i2c@429014000/codec@39` | +| `i2c1/audio-speaker-left-tweeter` | bus device | `/i2c@429014000/codec@3a` | +| `i2c2` | resources | `/i2c@429018000` | +| `i2c2/audio-codec-output` | bus device | `/i2c@429018000/codec@4b` | +| `i2c3` | resources | `/i2c@42901c000` | +| `i2c3/audio-speaker-right-woofer-1` | bus device | `/i2c@42901c000/codec@3b` | +| `i2c3/audio-speaker-right-woofer-2` | bus device | `/i2c@42901c000/codec@3c` | +| `i2c3/audio-speaker-right-tweeter` | bus device | `/i2c@42901c000/codec@3d` | +| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c4` | resources | `/i2c@429020000` | +| `i2c4/sd-card` | bus device | `/i2c@429020000/card-control@20` | +| `i2c6` | resources | `/i2c@429028000` | +| `i2c6/uatcrt0` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt1` | gap | **GAP:** I2C device not described under this bus | +| `i2c6/uatcrt2` | gap | **GAP:** I2C device not described under this bus | +| `i2c8` | resources | `/i2c@429030000` | +| `i2c8/pcon0` | bus device | `/i2c@429030000/display-converter@8` | +| `spi2` | resources | `/spi@429108000` | +| `spi2/mesa` | bus device | `/spi@429108000/fingerprint@0` | +| `spi4` | resources | `/spi@429110000` | +| `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 | +| `ispRtb` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 2 larger or unmatched resource window(s) | +| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `isp0` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-isp0` | partial resources | `/iommu@5828c0000`; `/iommu@5828e0000`; `/iommu@582900000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-isp0/mapper-isp0` | stream | Stream of `/iommu@5828c0000` / `/iommu@5828e0000` / `/iommu@582900000`; stream/resource linkage needs review | +| `pwm0` | resources | `/pwm@429040000` | +| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0` | partial resources | `/pcie@1cb0000000`; **GAP:** 30 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 | `/iommu@410000000` | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/dma@410030000` | +| `dart-apcie1` | resources | `/iommu@411000000` | +| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | +| `apcie1-piodma` | resources | `/dma@411030000` | +| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | +| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | +| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | +| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu3` | resources | `/mailbox@39b148000`; `/phy@39aa90000` | +| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-mtp` | partial resources | `/fifo@514b14000`; `/fifo@514b14000/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 | `/mtp@514600000`; **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` | partial resources | `/iommu@514800000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-mtp/mapper-mtp` | stream | Stream of `/iommu@514800000`; stream/resource linkage needs review | +| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `secure-repair` | resources | `/pinctrl@5081e4000` | +| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | resources | `/iommu@384000000` | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/dma@384068000` | +| `acio0` | gap | **GAP:** no matching hardware resource node | +| `dart-acio0` | resources | `/iommu@381a80000` | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | resources | `/iommu@38c000000` | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/dma@38c068000` | +| `acio1` | gap | **GAP:** no matching hardware resource node | +| `dart-acio1` | resources | `/iommu@389a80000` | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec2` | resources | `/iommu@394000000` | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/dma@394068000` | +| `acio2` | gap | **GAP:** no matching hardware resource node | +| `dart-acio2` | resources | `/iommu@391a80000` | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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 | `/pcie@1cb0000000/pci@0,0/wifi@0,0` | +| `bluetooth` | shared hardware | `/pcie@1cb0000000/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 | `/mux@38324c000` | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/dpin@381e50000` | +| `atc0-dpin1` | resources | `/dpin@381e58000` | +| `atc1-dpxbar` | resources | `/mux@38b24c000` | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/dpin@389e50000` | +| `atc1-dpin1` | resources | `/dpin@389e58000` | +| `atc2-dpxbar` | resources | `/mux@39324c000` | +| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc2-dpin0` | resources | `/dpin@391e50000` | +| `atc2-dpin1` | resources | `/dpin@391e58000` | +| `atc3-dpxbar` | resources | `/mux@39b24c000` | +| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 29 larger or unmatched resource window(s) | +| `aic` | partial resources | `/interrupt-controller@502400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `aic-timebase` | resources | `/aic-timebase@502580000` | +| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 53 larger or unmatched resource window(s) | +| `dwi` | resources | `/dwi@5029b0000` | +| `aes` | resources | `/crypto@42900c000` | +| `gpio0` | resources | `/pinctrl@51c000000` | +| `aop-gpio0` | resources | `/pinctrl@510824000` | +| `nub-gpio0` | resources | `/pinctrl@5081e4000` | +| `smc-gpio0` | resources | `/pinctrl@50c824000` | +| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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-voicetrigger` | 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` | partial resources | `/iommu@510f00000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sio` | partial resources | `/dma-controller@429e00000`; **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 | `/iommu@429060000` | +| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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 | `/iommu@500300000` | +| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/sep@406600000`; **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 | `/iommu@404c80000` | +| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | +| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `smc` | partial resources | `/smc@50c600000`; **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 | `/aon-ptd@50cdc0000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm` | gap | **GAP:** no matching hardware resource node | +| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | +| `uart0` | resources | `/serial@429200000` | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/spi@429118000` | +| `qspi/spinor` | bus device | `/spi@429118000/flash@0` | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | resources | `/iommu@382f00000`; `/iommu@382f80000` | +| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | resources | `/iommu@38af00000`; `/iommu@38af80000` | +| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | resources | `/iommu@392f00000`; `/iommu@392f80000` | +| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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 | `/phy@39aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-abbeyL1` | bus device | `/spmi@509014000/pmic@e` | +| `nub-spmi0/btm` | bus device | `/spmi@509014000/battery-monitor@b` | +| `nub-spmi1` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi1/spmi-abbeyF1` | bus device | `/spmi@509054000/pmic@e` | +| `nub-spmi2` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi2/spmi-abbeyF2` | bus device | `/spmi@509094000/pmic@e` | +| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a0/hpm0` | bus device | `/spmi@509188000/usb-pd@c` | +| `nub-spmi-a0/hpm1` | bus device | `/spmi@509188000/usb-pd@a` | +| `nub-spmi-a0/hpm5` | bus device | `/spmi@509188000/usb-pd@8` | +| `nub-spmi-a1` | partial resources | `/spmi@509198000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a1/hpm2` | bus device | `/spmi@509198000/usb-pd@c` | +| `aop-spmi0` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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-spmi0/spmi-wifibt` | bus device | `/spmi@510914000/pmic@e` | +| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-disp0` | resources | `/iommu@402300000`; `/dcp@402e00000` | +| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | +| `dcp0-expert` | resources | `/display-expert@4023a8050` | +| `dcp` | partial resources | `/dcp@402e00000`; **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 | `/iommu@402340000` | +| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; stream/resource linkage needs review | +| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `dispext0` | partial resources | `/dcp@3a2e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | +| `dcpext0` | partial resources | `/dcp@3a2e00000`; **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 | `/iommu@3a2340000` | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | +| `dart-dispext0` | resources | `/iommu@3a2300000`; `/dcp@3a2e00000` | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | +| `dp-audio1` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `dispext1` | partial resources | `/dcp@602e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dcpext1-expert` | resources | `/display-expert@6023a8050` | +| `dcpext1` | partial resources | `/dcp@602e00000`; **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 | `/iommu@602340000` | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | +| `dart-dispext1` | resources | `/iommu@602300000`; `/dcp@602e00000` | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | +| `dp-audio2` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | +| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dp-audio3` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | +| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | +| `dp-audio4` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | +| `scaler0` | resources | `/scaler@521000000` | +| `dart-scaler0` | resources | `/iommu@521260000` | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | +| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | +| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | +| `ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1` | gap | **GAP:** no matching hardware resource node | +| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | +| `apr0` | resources | `/video-codec@301000000` | +| `dart-apr0` | resources | `/iommu@301020000` | +| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | +| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg0` | resources | `/iommu@487020000` | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | +| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg1` | resources | `/iommu@487080000` | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | +| `ane0` | resources | `/ane@484000000` | +| `dart-ane0` | resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000` | +| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | resources | `/iommu@281020000` | +| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | +| `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 | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | +| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/cpu-debug@508700000` | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `pwm1` | resources | `/pwm@429040000` | +| `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. | +| `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/devicetree/DT-GAPS-j773s.md b/docs/devicetree/DT-GAPS-j773s.md new file mode 100644 index 0000000000000..6031b6c7eca17 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j773s.md @@ -0,0 +1,437 @@ +# DT gaps: J773S + +## Identity and scope + +Board DTS: `arch/arm64/boot/dts/apple/t6040-j773s.dts`. +The hardware resource inventory identifies the T6041 peripheral die. + +Source: preferred live hardware description, 26.6.2/t6040-j773s.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. + +## Result + +This resource coverage audit still has unresolved entries and does not establish complete board support. 349 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. + +**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. + +| Record classification | Count | +| --- | ---: | +| gap | 37 | +| partial resources | 67 | +| resources | 37 | +| service review | 89 | +| shared hardware | 5 | +| stream | 114 | + +## 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 + +- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. +- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. +- linux PR #1092 owns J616c fan enablement. +- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. + +## Every arm-io record + +Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. + +| Firmware hardware/service record | Classification | Linux description or gap | +| --- | --- | --- | +| `i2c0` | gap | **GAP:** no matching hardware resource node | +| `i2c0/gen-lock-hub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c1` | resources | `/i2c@429014000` | +| `i2c1/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c2` | resources | `/i2c@429018000` | +| `i2c2/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c6` | resources | `/i2c@429028000` | +| `i2c6/uatcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c6/uatcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c6/uatcrt2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `i2c8` | resources | `/i2c@429030000` | +| `i2c8/pcon0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0` | gap | **GAP:** no matching hardware resource node | +| `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-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `apcie0/pci-bridge2/lan-1gb` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apcie0` | partial resources | `/iommu@410000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | +| `apcie0-piodma` | resources | `/dma@410030000` | +| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | +| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | +| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | +| `lan-10gb-sync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | +| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | +| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | +| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `acio-phy-cpu3` | gap | **GAP:** no matching hardware resource node | +| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec0` | partial resources | `/iommu@384000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | +| `apciec0-piodma` | resources | `/dma@384068000` | +| `acio0` | gap | **GAP:** no matching hardware resource node | +| `dart-acio0` | partial resources | `/iommu@381a80000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | +| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec1` | partial resources | `/iommu@38c000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | +| `apciec1-piodma` | resources | `/dma@38c068000` | +| `acio1` | gap | **GAP:** no matching hardware resource node | +| `dart-acio1` | partial resources | `/iommu@389a80000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | +| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | +| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-apciec2` | partial resources | `/iommu@394000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | +| `apciec2-piodma` | resources | `/dma@394068000` | +| `acio2` | gap | **GAP:** no matching hardware resource node | +| `dart-acio2` | partial resources | `/iommu@391a80000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | +| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc0-dpin0` | resources | `/dpin@381e50000` | +| `atc0-dpin1` | resources | `/dpin@381e58000` | +| `atc1-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc1-dpin0` | resources | `/dpin@389e50000` | +| `atc1-dpin1` | resources | `/dpin@389e58000` | +| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | +| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `atc2-dpin0` | resources | `/dpin@391e50000` | +| `atc2-dpin1` | resources | `/dpin@391e58000` | +| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 29 larger or unmatched resource window(s) | +| `aic` | partial resources | `/interrupt-controller@502400000`; **GAP:** 1 larger or unmatched resource window(s) | +| `aic-timebase` | resources | `/aic-timebase@502580000` | +| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | +| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 53 larger or unmatched resource window(s) | +| `dwi` | resources | `/dwi@5029b0000` | +| `aes` | resources | `/crypto@42900c000` | +| `gpio0` | resources | `/pinctrl@51c000000` | +| `aop-gpio0` | resources | `/pinctrl@510824000` | +| `nub-gpio0` | resources | `/pinctrl@5081e4000` | +| `smc-gpio0` | resources | `/pinctrl@50c824000` | +| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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/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` | partial resources | `/iommu@510f00000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | +| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `sio` | partial resources | `/dma-controller@429e00000`; **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` | partial resources | `/iommu@429060000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | +| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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` | partial resources | `/iommu@500300000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | +| `sep` | partial resources | `/sep@406600000`; **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` | partial resources | `/iommu@404c80000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | +| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | +| `smc` | partial resources | `/smc@50c600000`; **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 | +| `aon-ptd` | resources | `/aon-ptd@50cdc0000` | +| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `uart0` | resources | `/serial@429200000` | +| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | +| `qspi` | resources | `/spi@429118000` | +| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | +| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi3` | gap | **GAP:** no matching hardware resource node | +| `spi3/usb3hub-flash` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `spi3/usb3hub-flash/usb3hub-fw` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `lpdptx-phy0` | gap | **GAP:** no matching hardware resource node | +| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0` | partial resources | `/iommu@382f00000`; `/iommu@382f80000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | +| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | +| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1` | partial resources | `/iommu@38af00000`; `/iommu@38af80000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | +| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2` | partial resources | `/iommu@392f00000`; `/iommu@392f80000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | +| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3` | gap | **GAP:** no matching hardware resource node | +| `dart-usb3/mapper-usb3` | stream | Stream of `dart-usb3`; stream/resource linkage needs review | +| `usb-drd3` | gap | **GAP:** no matching hardware resource node | +| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-hs/usb2-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-hs/usb2-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-ss/usb3-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `usb-drd3/usb-drd3-port-ss/usb3-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi0/spmi-abbeyL1` | 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` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi1/spmi-abbeyF1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi2` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi2/spmi-abbeyF2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | +| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **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/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `nub-spmi-a1` | partial resources | `/spmi@509198000`; **GAP:** 3 larger or unmatched resource window(s) | +| `aop-spmi0` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | +| `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-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | +| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dp-audio0` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | +| `dispext0` | partial resources | `/iommu@3a2300000`; `/display-expert@3a23a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | +| `dcpext0` | gap | **GAP:** no matching hardware resource node | +| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext0` | partial resources | `/iommu@3a2340000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | +| `dart-dispext0` | partial resources | `/iommu@3a2300000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | +| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | +| `dp-audio1` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | +| `dispext1` | partial resources | `/iommu@602300000`; `/display-expert@6023a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext1-expert` | resources | `/display-expert@6023a8050` | +| `dcpext1` | gap | **GAP:** no matching hardware resource node | +| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext1` | partial resources | `/iommu@602340000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | +| `dart-dispext1` | partial resources | `/iommu@602300000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | +| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | +| `dp-audio2` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | +| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | +| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | +| `dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | +| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | +| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | +| `dp-audio3` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | +| `dp-audio4` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | +| `scaler0` | resources | `/scaler@521000000` | +| `dart-scaler0` | partial resources | `/iommu@521260000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | +| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | +| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 3 larger or unmatched resource window(s) | +| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | +| `apr0` | resources | `/video-codec@301000000` | +| `dart-apr0` | partial resources | `/iommu@301020000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | +| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg0` | partial resources | `/iommu@487020000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | +| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg1` | partial resources | `/iommu@487080000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | +| `ane0` | resources | `/ane@484000000` | +| `dart-ane0` | partial resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | +| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0` | partial resources | `/iommu@281020000`; **GAP:** 1 larger or unmatched resource window(s) | +| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | +| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | +| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | +| `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 | +| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | +| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | +| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | +| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | +| `dbgCPU` | resources | `/cpu-debug@508700000` | +| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | +| `pwm1` | resources | `/pwm@429040000` | +| `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/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. | +| `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-usb-c-5` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `port-usb-c-6` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | +| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | +| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | +| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | From 8f1c2aa5983e0b82328de04fc901520d17e31fc5 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:01:25 +1100 Subject: [PATCH 2/3] docs: move M4 board audits to the external DT2 handoff Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- docs/devicetree/DT-GAPS-j575c.md | 543 ------------------------------- docs/devicetree/DT-GAPS-j614c.md | 521 ----------------------------- docs/devicetree/DT-GAPS-j614s.md | 514 ----------------------------- docs/devicetree/DT-GAPS-j616c.md | 515 ----------------------------- docs/devicetree/DT-GAPS-j616s.md | 514 ----------------------------- docs/devicetree/DT-GAPS-j773s.md | 437 ------------------------- 6 files changed, 3044 deletions(-) delete mode 100644 docs/devicetree/DT-GAPS-j575c.md delete mode 100644 docs/devicetree/DT-GAPS-j614c.md delete mode 100644 docs/devicetree/DT-GAPS-j614s.md delete mode 100644 docs/devicetree/DT-GAPS-j616c.md delete mode 100644 docs/devicetree/DT-GAPS-j616s.md delete mode 100644 docs/devicetree/DT-GAPS-j773s.md diff --git a/docs/devicetree/DT-GAPS-j575c.md b/docs/devicetree/DT-GAPS-j575c.md deleted file mode 100644 index 994f0ee4f94ec..0000000000000 --- a/docs/devicetree/DT-GAPS-j575c.md +++ /dev/null @@ -1,543 +0,0 @@ -# DT gaps: J575C - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6041-j575c.dts`. -The hardware resource inventory identifies the T6041 peripheral die. - -Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 448 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| bus device | 2 | -| gap | 76 | -| partial resources | 48 | -| resources | 65 | -| service review | 103 | -| stream | 154 | - -## 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 - -- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. -- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. -- linux PR #1092 owns J616c fan enablement. -- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. - -## 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 | -| --- | --- | --- | -| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `i2c0` | gap | **GAP:** no matching hardware resource node | -| `i2c0/gen-lock-hub` | gap | **GAP:** I2C device not described under this bus | -| `i2c1` | resources | `/i2c@429014000` | -| `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | -| `i2c2` | resources | `/i2c@429018000` | -| `i2c2/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | -| `i2c4` | resources | `/i2c@429020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c5` | gap | **GAP:** no matching hardware resource node | -| `i2c5/aqc-a` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/i2c@429028000` | -| `i2c6/uatcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt3` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/i2c@429030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `apcie0` | gap | **GAP:** no matching hardware resource node | -| `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 | -| `apcie0/pci-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge2/lan-10gb` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3/usb2-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3/usb2-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3/usb2-hub-port3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-hs-port3/usb2-hub-port4` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1/usb3-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1/usb3-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1/usb3-hub-port3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge3/pcie-xhci/pcie-xhci-ss-port1/usb3-hub-port4` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | resources | `/iommu@410000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/dma@410030000` | -| `dart-apcie1` | resources | `/iommu@411000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/dma@411030000` | -| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | -| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | -| `lan-10gb-sync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `lan-10gb-portmon` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dart-apcie3` | gap | **GAP:** no matching hardware resource node | -| `dart-apcie3/mapper-apcie3` | stream | Stream of `dart-apcie3`; stream/resource linkage needs review | -| `dart-apcie3/mapper-apcie3-piodma` | stream | Stream of `dart-apcie3`; stream/resource linkage needs review | -| `apcie3-piodma` | gap | **GAP:** no matching hardware resource node | -| `spi3` | gap | **GAP:** no matching hardware resource node | -| `spi3/usb3hub-flash` | gap | **GAP:** nested resource requires parent-specific address decoding | -| `spi3/usb3hub-flash/usb3hub-fw` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | -| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | -| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | -| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu3` | gap | **GAP:** no matching hardware resource node | -| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/iommu@384000000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/dma@384068000` | -| `acio0` | gap | **GAP:** no matching hardware resource node | -| `dart-acio0` | resources | `/iommu@381a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/iommu@38c000000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/dma@38c068000` | -| `acio1` | gap | **GAP:** no matching hardware resource node | -| `dart-acio1` | resources | `/iommu@389a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec2` | resources | `/iommu@394000000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/dma@394068000` | -| `acio2` | gap | **GAP:** no matching hardware resource node | -| `dart-acio2` | resources | `/iommu@391a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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 | -| `apciec3` | gap | **GAP:** no matching hardware resource node | -| `apciec3/pcic3-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec3` | gap | **GAP:** no matching hardware resource node | -| `dart-apciec3/mapper-apciec3-piodma` | stream | Stream of `dart-apciec3`; stream/resource linkage needs review | -| `apciec3-piodma` | gap | **GAP:** no matching hardware resource node | -| `acio3` | gap | **GAP:** no matching hardware resource node | -| `dart-acio3` | gap | **GAP:** no matching hardware resource node | -| `dart-acio3/mapper-acio3-tx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-tx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-0` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-1` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-2` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-3` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-4` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-5` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-6` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-7` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-8` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-9` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-10` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `dart-acio3/mapper-acio3-rx-11` | stream | Stream of `dart-acio3`; stream/resource linkage needs review | -| `acio-cpu3` | gap | **GAP:** no matching hardware resource node | -| `acio-cpu3/iop-acio3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `wlan` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/dpin@381e50000` | -| `atc0-dpin1` | resources | `/dpin@381e58000` | -| `atc1-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/dpin@389e50000` | -| `atc1-dpin1` | resources | `/dpin@389e58000` | -| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc2-dpin0` | resources | `/dpin@391e50000` | -| `atc2-dpin1` | resources | `/dpin@391e58000` | -| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc3-dpin0` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpin1` | gap | **GAP:** no matching hardware resource node | -| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 49 larger or unmatched resource window(s) | -| `aic` | resources | `/interrupt-controller@502400000` | -| `aic-timebase` | resources | `/aic-timebase@502580000` | -| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 73 larger or unmatched resource window(s) | -| `dwi` | resources | `/dwi@5029b0000` | -| `aes` | resources | `/crypto@42900c000` | -| `gpio0` | resources | `/pinctrl@51c000000` | -| `aop-gpio0` | resources | `/pinctrl@510824000` | -| `nub-gpio0` | resources | `/pinctrl@5081e4000` | -| `smc-gpio0` | resources | `/pinctrl@50c824000` | -| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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/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` | partial resources | `/iommu@510f00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sio` | partial resources | `/dma-controller@429e00000`; **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 | `/iommu@429060000` | -| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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 | `/iommu@500300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/sep@406600000`; **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 | `/iommu@404c80000` | -| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | -| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `smc` | partial resources | `/smc@50c600000`; **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 | -| `aon-ptd` | resources | `/aon-ptd@50cdc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | -| `uart0` | resources | `/serial@429200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/spi@429118000` | -| `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 | -| `lpdptx-phy0` | gap | **GAP:** no matching hardware resource node | -| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/iommu@382f00000`; `/iommu@382f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/iommu@38af00000`; `/iommu@38af80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/iommu@392f00000`; `/iommu@392f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3/mapper-usb3` | stream | Stream of `dart-usb3`; stream/resource linkage needs review | -| `usb-drd3` | gap | **GAP:** no matching hardware resource node | -| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | bus device | `/spmi@509014000/pmic@b` | -| `nub-spmi0/btm` | bus device | `/spmi@509014000/pmic@b` | -| `nub-spmi1` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi2/spmi-portierC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2/spmi-portierC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi3/spmi-portierC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3/spmi-portierC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi4/spmi-portierC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **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/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0/hpm3` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a1` | partial resources | `/spmi@509198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `aop-spmi0` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-disp0` | resources | `/iommu@402300000`; `/dcp@402e00000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dcp0-expert` | resources | `/display-expert@4023a8050` | -| `dcp` | partial resources | `/dcp@402e00000`; **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 | `/iommu@402340000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; 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 | -| `dispext0` | partial resources | `/iommu@3a2300000`; `/display-expert@3a23a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | -| `dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | resources | `/iommu@3a2340000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/iommu@3a2300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/iommu@602300000`; `/display-expert@6023a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext1-expert` | resources | `/display-expert@6023a8050` | -| `dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | resources | `/iommu@602340000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/iommu@602300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | -| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | -| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/scaler@521000000` | -| `dart-scaler0` | resources | `/iommu@521260000` | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | -| `ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | -| `apr0` | resources | `/video-codec@301000000` | -| `dart-apr0` | resources | `/iommu@301020000` | -| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | -| `apr1` | gap | **GAP:** no matching hardware resource node | -| `dart-apr1` | gap | **GAP:** no matching hardware resource node | -| `dart-apr1/mapper-apr1` | stream | Stream of `dart-apr1`; stream/resource linkage needs review | -| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg0` | resources | `/iommu@487020000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | -| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg1` | resources | `/iommu@487080000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | -| `ane0` | resources | `/ane@484000000` | -| `dart-ane0` | resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000` | -| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | resources | `/iommu@281020000` | -| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | -| `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 | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | -| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/cpu-debug@508700000` | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/pwm@429040000` | -| `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. | -| `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-usb-c-4` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-hdmi0` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-a-1` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-a-2` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-5` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-6` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `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/devicetree/DT-GAPS-j614c.md b/docs/devicetree/DT-GAPS-j614c.md deleted file mode 100644 index 931ffb75898b2..0000000000000 --- a/docs/devicetree/DT-GAPS-j614c.md +++ /dev/null @@ -1,521 +0,0 @@ -# DT gaps: J614C - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6041-j614c.dts`. -The hardware resource inventory identifies the T6041 peripheral die. - -Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 428 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 | 64 | -| partial resources | 54 | -| resources | 70 | -| service review | 111 | -| stream | 126 | - -## 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 - -- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. -- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. -- linux PR #1092 owns J616c fan enablement. -- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. - -## 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 | -| --- | --- | --- | -| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `i2c1` | resources | `/i2c@429014000` | -| `i2c1/audio-speaker` | gap | **GAP:** I2C device not described under this bus | -| `i2c1/audio-speaker-left-woofer-2` | gap | **GAP:** I2C device not described under this bus | -| `i2c1/audio-speaker-left-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `i2c2` | resources | `/i2c@429018000` | -| `i2c2/audio-codec-output` | gap | **GAP:** I2C device not described under this bus | -| `i2c3` | resources | `/i2c@42901c000` | -| `i2c3/audio-speaker-right-woofer-1` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-woofer-2` | gap | **GAP:** I2C device not described under this bus | -| `i2c3/audio-speaker-right-tweeter` | gap | **GAP:** I2C device not described under this bus | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c4` | resources | `/i2c@429020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/i2c@429028000` | -| `i2c6/uatcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/i2c@429030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `spi2` | resources | `/spi@429108000` | -| `spi2/mesa` | bus device | `/spi@429108000/fingerprint@0` | -| `spi4` | resources | `/spi@429110000` | -| `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 | -| `ispRtb` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `isp0` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-isp0` | partial resources | `/iommu@5828c0000`; `/iommu@5828e0000`; `/iommu@582900000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-isp0/mapper-isp0` | stream | Stream of `/iommu@5828c0000` / `/iommu@5828e0000` / `/iommu@582900000`; stream/resource linkage needs review | -| `pwm0` | resources | `/pwm@429040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | gap | **GAP:** no matching hardware resource node | -| `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 | `/iommu@410000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/dma@410030000` | -| `dart-apcie1` | resources | `/iommu@411000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/dma@411030000` | -| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | -| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | -| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | -| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu3` | gap | **GAP:** no matching hardware resource node | -| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp` | partial resources | `/fifo@514b14000`; `/fifo@514b14000/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 | `/mtp@514600000`; **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` | partial resources | `/iommu@514800000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-mtp/mapper-mtp` | stream | Stream of `/iommu@514800000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `secure-repair` | resources | `/pinctrl@5081e4000` | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/iommu@384000000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/dma@384068000` | -| `acio0` | gap | **GAP:** no matching hardware resource node | -| `dart-acio0` | resources | `/iommu@381a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/iommu@38c000000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/dma@38c068000` | -| `acio1` | gap | **GAP:** no matching hardware resource node | -| `dart-acio1` | resources | `/iommu@389a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec2` | resources | `/iommu@394000000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/dma@394068000` | -| `acio2` | gap | **GAP:** no matching hardware resource node | -| `dart-acio2` | resources | `/iommu@391a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/dpin@381e50000` | -| `atc0-dpin1` | resources | `/dpin@381e58000` | -| `atc1-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/dpin@389e50000` | -| `atc1-dpin1` | resources | `/dpin@389e58000` | -| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc2-dpin0` | resources | `/dpin@391e50000` | -| `atc2-dpin1` | resources | `/dpin@391e58000` | -| `atc3-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 49 larger or unmatched resource window(s) | -| `aic` | resources | `/interrupt-controller@502400000` | -| `aic-timebase` | resources | `/aic-timebase@502580000` | -| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 73 larger or unmatched resource window(s) | -| `dwi` | resources | `/dwi@5029b0000` | -| `aes` | resources | `/crypto@42900c000` | -| `gpio0` | resources | `/pinctrl@51c000000` | -| `aop-gpio0` | resources | `/pinctrl@510824000` | -| `nub-gpio0` | resources | `/pinctrl@5081e4000` | -| `smc-gpio0` | resources | `/pinctrl@50c824000` | -| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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-voicetrigger` | 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` | partial resources | `/iommu@510f00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sio` | partial resources | `/dma-controller@429e00000`; **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 | `/iommu@429060000` | -| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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 | `/iommu@500300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/sep@406600000`; **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 | `/iommu@404c80000` | -| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | -| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `smc` | partial resources | `/smc@50c600000`; **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 | `/aon-ptd@50cdc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | -| `uart0` | resources | `/serial@429200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/spi@429118000` | -| `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 | -| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/iommu@382f00000`; `/iommu@382f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/iommu@38af00000`; `/iommu@38af80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/iommu@392f00000`; `/iommu@392f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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` | gap | **GAP:** no matching hardware resource node | -| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-chapelL1-b` | bus device | `/spmi@509014000/pmic@b` | -| `nub-spmi0/btm` | bus device | `/spmi@509014000/pmic@b` | -| `nub-spmi1` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi2/spmi-portierC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2/spmi-portierC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi3/spmi-portierC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3/spmi-portierC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi4/spmi-portierC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **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 | `/spmi@509198000`; **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` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-disp0` | resources | `/iommu@402300000`; `/dcp@402e00000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dcp0-expert` | resources | `/display-expert@4023a8050` | -| `dcp` | partial resources | `/dcp@402e00000`; **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 | `/iommu@402340000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; 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 | -| `dispext0` | partial resources | `/iommu@3a2300000`; `/display-expert@3a23a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | -| `dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | resources | `/iommu@3a2340000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/iommu@3a2300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/iommu@602300000`; `/display-expert@6023a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext1-expert` | resources | `/display-expert@6023a8050` | -| `dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | resources | `/iommu@602340000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/iommu@602300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | -| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | -| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/scaler@521000000` | -| `dart-scaler0` | resources | `/iommu@521260000` | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | -| `ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | -| `apr0` | resources | `/video-codec@301000000` | -| `dart-apr0` | resources | `/iommu@301020000` | -| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | -| `apr1` | gap | **GAP:** no matching hardware resource node | -| `dart-apr1` | gap | **GAP:** no matching hardware resource node | -| `dart-apr1/mapper-apr1` | stream | Stream of `dart-apr1`; stream/resource linkage needs review | -| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg0` | resources | `/iommu@487020000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | -| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg1` | resources | `/iommu@487080000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | -| `ane0` | resources | `/ane@484000000` | -| `dart-ane0` | resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000` | -| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | resources | `/iommu@281020000` | -| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | -| `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 | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | -| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/cpu-debug@508700000` | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/pwm@429040000` | -| `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. | -| `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/devicetree/DT-GAPS-j614s.md b/docs/devicetree/DT-GAPS-j614s.md deleted file mode 100644 index 39d0308007dd3..0000000000000 --- a/docs/devicetree/DT-GAPS-j614s.md +++ /dev/null @@ -1,514 +0,0 @@ -# DT gaps: J614S - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6040-j614s.dts`. -The hardware resource inventory identifies the T6041 peripheral die. - -Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 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 | 18 | -| gap | 33 | -| partial resources | 57 | -| resources | 76 | -| service review | 104 | -| shared hardware | 7 | -| stream | 125 | - -## 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 - -- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. -- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. -- linux PR #1092 owns J616c fan enablement. -- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. - -## 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 | -| --- | --- | --- | -| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `i2c1` | resources | `/i2c@429014000` | -| `i2c1/audio-speaker` | bus device | `/i2c@429014000/codec@38` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/i2c@429014000/codec@39` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/i2c@429014000/codec@3a` | -| `i2c2` | resources | `/i2c@429018000` | -| `i2c2/audio-codec-output` | bus device | `/i2c@429018000/codec@4b` | -| `i2c3` | resources | `/i2c@42901c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/i2c@42901c000/codec@3b` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/i2c@42901c000/codec@3c` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/i2c@42901c000/codec@3d` | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c4` | resources | `/i2c@429020000` | -| `i2c4/sd-card` | gap | **GAP:** I2C device not described under this bus | -| `i2c6` | resources | `/i2c@429028000` | -| `i2c6/uatcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/i2c@429030000` | -| `i2c8/pcon0` | gap | **GAP:** I2C device not described under this bus | -| `spi2` | resources | `/spi@429108000` | -| `spi2/mesa` | bus device | `/spi@429108000/fingerprint@0` | -| `spi4` | resources | `/spi@429110000` | -| `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 | -| `ispRtb` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `isp0` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-isp0` | partial resources | `/iommu@5828c0000`; `/iommu@5828e0000`; `/iommu@582900000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-isp0/mapper-isp0` | stream | Stream of `/iommu@5828c0000` / `/iommu@5828e0000` / `/iommu@582900000`; stream/resource linkage needs review | -| `pwm0` | resources | `/pwm@429040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | partial resources | `/pcie@1cb0000000`; **GAP:** 30 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 | `/iommu@410000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/dma@410030000` | -| `dart-apcie1` | resources | `/iommu@411000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/dma@411030000` | -| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | -| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | -| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | -| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu3` | resources | `/mailbox@39b148000`; `/phy@39aa90000` | -| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp` | partial resources | `/fifo@514b14000`; `/fifo@514b14000/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 | `/mtp@514600000`; **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` | partial resources | `/iommu@514800000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-mtp/mapper-mtp` | stream | Stream of `/iommu@514800000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `secure-repair` | resources | `/pinctrl@5081e4000` | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/iommu@384000000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/dma@384068000` | -| `acio0` | gap | **GAP:** no matching hardware resource node | -| `dart-acio0` | resources | `/iommu@381a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/iommu@38c000000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/dma@38c068000` | -| `acio1` | gap | **GAP:** no matching hardware resource node | -| `dart-acio1` | resources | `/iommu@389a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec2` | resources | `/iommu@394000000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/dma@394068000` | -| `acio2` | gap | **GAP:** no matching hardware resource node | -| `dart-acio2` | resources | `/iommu@391a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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 | `/pcie@1cb0000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/pcie@1cb0000000/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 | `/mux@38324c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/dpin@381e50000` | -| `atc0-dpin1` | resources | `/dpin@381e58000` | -| `atc1-dpxbar` | resources | `/mux@38b24c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/dpin@389e50000` | -| `atc1-dpin1` | resources | `/dpin@389e58000` | -| `atc2-dpxbar` | resources | `/mux@39324c000` | -| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc2-dpin0` | resources | `/dpin@391e50000` | -| `atc2-dpin1` | resources | `/dpin@391e58000` | -| `atc3-dpxbar` | resources | `/mux@39b24c000` | -| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 29 larger or unmatched resource window(s) | -| `aic` | partial resources | `/interrupt-controller@502400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `aic-timebase` | resources | `/aic-timebase@502580000` | -| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 53 larger or unmatched resource window(s) | -| `dwi` | resources | `/dwi@5029b0000` | -| `aes` | resources | `/crypto@42900c000` | -| `gpio0` | resources | `/pinctrl@51c000000` | -| `aop-gpio0` | resources | `/pinctrl@510824000` | -| `nub-gpio0` | resources | `/pinctrl@5081e4000` | -| `smc-gpio0` | resources | `/pinctrl@50c824000` | -| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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-voicetrigger` | 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` | partial resources | `/iommu@510f00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sio` | partial resources | `/dma-controller@429e00000`; **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 | `/iommu@429060000` | -| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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 | `/iommu@500300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/sep@406600000`; **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 | `/iommu@404c80000` | -| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | -| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `smc` | partial resources | `/smc@50c600000`; **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 | `/aon-ptd@50cdc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | -| `uart0` | resources | `/serial@429200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/spi@429118000` | -| `qspi/spinor` | bus device | `/spi@429118000/flash@0` | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/iommu@382f00000`; `/iommu@382f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/iommu@38af00000`; `/iommu@38af80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/iommu@392f00000`; `/iommu@392f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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 | `/phy@39aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-abbeyL1` | bus device | `/spmi@509014000/pmic@e` | -| `nub-spmi0/btm` | bus device | `/spmi@509014000/battery-monitor@b` | -| `nub-spmi1` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi1/spmi-abbeyF1` | bus device | `/spmi@509054000/pmic@e` | -| `nub-spmi2` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi2/spmi-abbeyF2` | bus device | `/spmi@509094000/pmic@e` | -| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/spmi@509188000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/spmi@509188000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/spmi@509188000/usb-pd@8` | -| `nub-spmi-a1` | partial resources | `/spmi@509198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | bus device | `/spmi@509198000/usb-pd@c` | -| `aop-spmi0` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/spmi-wifibt` | bus device | `/spmi@510914000/pmic@e` | -| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-disp0` | resources | `/iommu@402300000`; `/dcp@402e00000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dcp0-expert` | resources | `/display-expert@4023a8050` | -| `dcp` | partial resources | `/dcp@402e00000`; **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 | `/iommu@402340000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; stream/resource linkage needs review | -| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `dispext0` | partial resources | `/dcp@3a2e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | -| `dcpext0` | partial resources | `/dcp@3a2e00000`; **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 | `/iommu@3a2340000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | -| `dart-dispext0` | resources | `/iommu@3a2300000`; `/dcp@3a2e00000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | -| `dp-audio1` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `dispext1` | partial resources | `/dcp@602e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext1-expert` | resources | `/display-expert@6023a8050` | -| `dcpext1` | partial resources | `/dcp@602e00000`; **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 | `/iommu@602340000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | -| `dart-dispext1` | resources | `/iommu@602300000`; `/dcp@602e00000` | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | -| `dp-audio2` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | -| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dp-audio3` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | -| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dp-audio4` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `scaler0` | resources | `/scaler@521000000` | -| `dart-scaler0` | resources | `/iommu@521260000` | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | -| `ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | -| `apr0` | resources | `/video-codec@301000000` | -| `dart-apr0` | resources | `/iommu@301020000` | -| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | -| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg0` | resources | `/iommu@487020000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | -| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg1` | resources | `/iommu@487080000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | -| `ane0` | resources | `/ane@484000000` | -| `dart-ane0` | resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000` | -| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | resources | `/iommu@281020000` | -| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | -| `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 | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | -| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/cpu-debug@508700000` | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/pwm@429040000` | -| `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. | -| `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/devicetree/DT-GAPS-j616c.md b/docs/devicetree/DT-GAPS-j616c.md deleted file mode 100644 index 9bd4b9b5e9a7a..0000000000000 --- a/docs/devicetree/DT-GAPS-j616c.md +++ /dev/null @@ -1,515 +0,0 @@ -# DT gaps: J616C - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6041-j616c.dts`. -The hardware resource inventory identifies the T6041 peripheral die. - -Source: preferred live hardware description, 26.6.2/t6041-j616c.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 422 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| bus device | 1 | -| gap | 39 | -| partial resources | 82 | -| resources | 50 | -| service review | 123 | -| shared hardware | 2 | -| stream | 125 | - -## 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 - -- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. -- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. -- linux PR #1092 owns J616c fan enablement. -- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. - -## 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 | -| --- | --- | --- | -| `i2c1` | resources | `/i2c@429014000` | -| `i2c1/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c1/audio-speaker-left-woofer-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c1/audio-speaker-left-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/i2c@429018000` | -| `i2c2/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3` | resources | `/i2c@42901c000` | -| `i2c3/audio-speaker-right-woofer-1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-right-woofer-2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c3/audio-speaker-right-tweeter` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c4` | resources | `/i2c@429020000` | -| `i2c4/sd-card` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c6` | resources | `/i2c@429028000` | -| `i2c6/uatcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c6/uatcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c6/uatcrt2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c8` | resources | `/i2c@429030000` | -| `i2c8/pcon0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi2` | resources | `/spi@429108000` | -| `spi2/mesa` | bus device | `/spi@429108000/fingerprint@0` | -| `spi4` | resources | `/spi@429110000` | -| `spi4/dp855` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmicwp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-pmic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-sswp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/tcon-registers` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/dp855/lcd-eeprom` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/display-temp-sens1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/display-temp-sens2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi4/display-temp-sens3` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `isp0` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-isp0` | partial resources | `/iommu@5828c0000`; `/iommu@5828e0000`; `/iommu@582900000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dart-isp0/mapper-isp0` | stream | Stream of `/iommu@5828c0000` / `/iommu@5828e0000` / `/iommu@582900000`; stream/resource linkage needs review | -| `pwm0` | resources | `/pwm@429040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | partial resources | `/pcie@1cb0000000`; **GAP:** 30 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` | partial resources | `/iommu@410000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/dma@410030000` | -| `dart-apcie1` | partial resources | `/iommu@411000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/dma@411030000` | -| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | -| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | -| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | -| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu3` | resources | `/mailbox@39b148000`; `/phy@39aa90000` | -| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp` | partial resources | `/fifo@514b14000`; `/fifo@514b14000/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 | `/mtp@514600000`; **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` | partial resources | `/iommu@514800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-mtp/mapper-mtp` | stream | Stream of `/iommu@514800000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `secure-repair` | resources | `/pinctrl@5081e4000` | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | partial resources | `/iommu@384000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/dma@384068000` | -| `acio0` | gap | **GAP:** no matching hardware resource node | -| `dart-acio0` | partial resources | `/iommu@381a80000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | partial resources | `/iommu@38c000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/dma@38c068000` | -| `acio1` | gap | **GAP:** no matching hardware resource node | -| `dart-acio1` | partial resources | `/iommu@389a80000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec2` | partial resources | `/iommu@394000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/dma@394068000` | -| `acio2` | gap | **GAP:** no matching hardware resource node | -| `dart-acio2` | partial resources | `/iommu@391a80000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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 | `/pcie@1cb0000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/pcie@1cb0000000/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 | `/mux@38324c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/dpin@381e50000` | -| `atc0-dpin1` | resources | `/dpin@381e58000` | -| `atc1-dpxbar` | resources | `/mux@38b24c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/dpin@389e50000` | -| `atc1-dpin1` | resources | `/dpin@389e58000` | -| `atc2-dpxbar` | resources | `/mux@39324c000` | -| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc2-dpin0` | resources | `/dpin@391e50000` | -| `atc2-dpin1` | resources | `/dpin@391e58000` | -| `atc3-dpxbar` | resources | `/mux@39b24c000` | -| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 49 larger or unmatched resource window(s) | -| `aic` | resources | `/interrupt-controller@502400000` | -| `aic-timebase` | resources | `/aic-timebase@502580000` | -| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 73 larger or unmatched resource window(s) | -| `dwi` | resources | `/dwi@5029b0000` | -| `aes` | resources | `/crypto@42900c000` | -| `gpio0` | resources | `/pinctrl@51c000000` | -| `aop-gpio0` | resources | `/pinctrl@510824000` | -| `nub-gpio0` | resources | `/pinctrl@5081e4000` | -| `smc-gpio0` | resources | `/pinctrl@50c824000` | -| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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-voicetrigger` | 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` | partial resources | `/iommu@510f00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sio` | partial resources | `/dma-controller@429e00000`; **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` | partial resources | `/iommu@429060000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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` | partial resources | `/iommu@500300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/sep@406600000`; **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` | partial resources | `/iommu@404c80000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | -| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `smc` | partial resources | `/smc@50c600000`; **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 | `/aon-ptd@50cdc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `uart0` | partial resources | `/serial@429200000`; **GAP:** 1 larger or unmatched resource window(s) | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/spi@429118000` | -| `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 | -| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | partial resources | `/iommu@382f00000`; `/iommu@382f80000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | partial resources | `/iommu@38af00000`; `/iommu@38af80000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | partial resources | `/iommu@392f00000`; `/iommu@392f80000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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 | `/phy@39aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/spmi@509014000`; **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` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi2/spmi-portierC4-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2/spmi-portierC2-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi3/spmi-portierC3-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3/spmi-portierC1-a` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi4/spmi-portierC0-b` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **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 | `/spmi@509198000`; **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` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-disp0` | partial resources | `/iommu@402300000`; `/dcp@402e00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dcp0-expert` | resources | `/display-expert@4023a8050` | -| `dcp` | partial resources | `/dcp@402e00000`; **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` | partial resources | `/iommu@402340000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; 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 | -| `dispext0` | partial resources | `/dcp@3a2e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | -| `dcpext0` | partial resources | `/dcp@3a2e00000`; **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` | partial resources | `/iommu@3a2340000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/iommu@3a2300000`; `/dcp@3a2e00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | -| `dp-audio1` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext1` | partial resources | `/dcp@602e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext1-expert` | resources | `/display-expert@6023a8050` | -| `dcpext1` | partial resources | `/dcp@602e00000`; **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` | partial resources | `/iommu@602340000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/iommu@602300000`; `/dcp@602e00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | -| `dp-audio2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | -| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dp-audio3` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | -| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dp-audio4` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `scaler0` | resources | `/scaler@521000000` | -| `dart-scaler0` | partial resources | `/iommu@521260000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | -| `ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | -| `apr0` | resources | `/video-codec@301000000` | -| `dart-apr0` | partial resources | `/iommu@301020000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | -| `apr1` | gap | **GAP:** no matching hardware resource node | -| `dart-apr1` | gap | **GAP:** no matching hardware resource node | -| `dart-apr1/mapper-apr1` | stream | Stream of `dart-apr1`; stream/resource linkage needs review | -| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg0` | partial resources | `/iommu@487020000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | -| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg1` | partial resources | `/iommu@487080000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | -| `ane0` | resources | `/ane@484000000` | -| `dart-ane0` | partial resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | partial resources | `/iommu@281020000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | -| `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 | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | -| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/cpu-debug@508700000` | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/pwm@429040000` | -| `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. | -| `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-t818-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. | diff --git a/docs/devicetree/DT-GAPS-j616s.md b/docs/devicetree/DT-GAPS-j616s.md deleted file mode 100644 index a5d1a139b1e55..0000000000000 --- a/docs/devicetree/DT-GAPS-j616s.md +++ /dev/null @@ -1,514 +0,0 @@ -# DT gaps: J616S - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6040-j616s.dts`. -The hardware resource inventory identifies the T6041 peripheral die. - -Source: per-board 27.2 hardware-description template; no matching live dump in the supplied collection. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 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 | 20 | -| gap | 31 | -| partial resources | 57 | -| resources | 76 | -| service review | 104 | -| shared hardware | 7 | -| stream | 125 | - -## 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 - -- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. -- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. -- linux PR #1092 owns J616c fan enablement. -- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. - -## 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 | -| --- | --- | --- | -| `displaymanager` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `i2c1` | resources | `/i2c@429014000` | -| `i2c1/audio-speaker` | bus device | `/i2c@429014000/codec@38` | -| `i2c1/audio-speaker-left-woofer-2` | bus device | `/i2c@429014000/codec@39` | -| `i2c1/audio-speaker-left-tweeter` | bus device | `/i2c@429014000/codec@3a` | -| `i2c2` | resources | `/i2c@429018000` | -| `i2c2/audio-codec-output` | bus device | `/i2c@429018000/codec@4b` | -| `i2c3` | resources | `/i2c@42901c000` | -| `i2c3/audio-speaker-right-woofer-1` | bus device | `/i2c@42901c000/codec@3b` | -| `i2c3/audio-speaker-right-woofer-2` | bus device | `/i2c@42901c000/codec@3c` | -| `i2c3/audio-speaker-right-tweeter` | bus device | `/i2c@42901c000/codec@3d` | -| `iop-voicetrigger-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-voicetrigger-controller/audio-vt-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c4` | resources | `/i2c@429020000` | -| `i2c4/sd-card` | bus device | `/i2c@429020000/card-control@20` | -| `i2c6` | resources | `/i2c@429028000` | -| `i2c6/uatcrt0` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt1` | gap | **GAP:** I2C device not described under this bus | -| `i2c6/uatcrt2` | gap | **GAP:** I2C device not described under this bus | -| `i2c8` | resources | `/i2c@429030000` | -| `i2c8/pcon0` | bus device | `/i2c@429030000/display-converter@8` | -| `spi2` | resources | `/spi@429108000` | -| `spi2/mesa` | bus device | `/spi@429108000/fingerprint@0` | -| `spi4` | resources | `/spi@429110000` | -| `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 | -| `ispRtb` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 2 larger or unmatched resource window(s) | -| `ispRtb/iop-isp-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `isp0` | partial resources | `/isp@580000000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-isp0` | partial resources | `/iommu@5828c0000`; `/iommu@5828e0000`; `/iommu@582900000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-isp0/mapper-isp0` | stream | Stream of `/iommu@5828c0000` / `/iommu@5828e0000` / `/iommu@582900000`; stream/resource linkage needs review | -| `pwm0` | resources | `/pwm@429040000` | -| `pwm0/kbd-backlight` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | partial resources | `/pcie@1cb0000000`; **GAP:** 30 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 | `/iommu@410000000` | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/dma@410030000` | -| `dart-apcie1` | resources | `/iommu@411000000` | -| `dart-apcie1/mapper-apcie1` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `dart-apcie1/mapper-apcie1-piodma` | stream | Stream of `/iommu@411000000`; stream/resource linkage needs review | -| `apcie1-piodma` | resources | `/dma@411030000` | -| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | -| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | -| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | -| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu3` | resources | `/mailbox@39b148000`; `/phy@39aa90000` | -| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-mtp` | partial resources | `/fifo@514b14000`; `/fifo@514b14000/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 | `/mtp@514600000`; **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` | partial resources | `/iommu@514800000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-mtp/mapper-mtp` | stream | Stream of `/iommu@514800000`; stream/resource linkage needs review | -| `mtp-aop-mux` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `secure-repair` | resources | `/pinctrl@5081e4000` | -| `dynamic-pil` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `dynamic-pil/cil` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | resources | `/iommu@384000000` | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/dma@384068000` | -| `acio0` | gap | **GAP:** no matching hardware resource node | -| `dart-acio0` | resources | `/iommu@381a80000` | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | resources | `/iommu@38c000000` | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/dma@38c068000` | -| `acio1` | gap | **GAP:** no matching hardware resource node | -| `dart-acio1` | resources | `/iommu@389a80000` | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec2` | resources | `/iommu@394000000` | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/dma@394068000` | -| `acio2` | gap | **GAP:** no matching hardware resource node | -| `dart-acio2` | resources | `/iommu@391a80000` | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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 | `/pcie@1cb0000000/pci@0,0/wifi@0,0` | -| `bluetooth` | shared hardware | `/pcie@1cb0000000/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 | `/mux@38324c000` | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/dpin@381e50000` | -| `atc0-dpin1` | resources | `/dpin@381e58000` | -| `atc1-dpxbar` | resources | `/mux@38b24c000` | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/dpin@389e50000` | -| `atc1-dpin1` | resources | `/dpin@389e58000` | -| `atc2-dpxbar` | resources | `/mux@39324c000` | -| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc2-dpin0` | resources | `/dpin@391e50000` | -| `atc2-dpin1` | resources | `/dpin@391e58000` | -| `atc3-dpxbar` | resources | `/mux@39b24c000` | -| `atc3-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 29 larger or unmatched resource window(s) | -| `aic` | partial resources | `/interrupt-controller@502400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `aic-timebase` | resources | `/aic-timebase@502580000` | -| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 53 larger or unmatched resource window(s) | -| `dwi` | resources | `/dwi@5029b0000` | -| `aes` | resources | `/crypto@42900c000` | -| `gpio0` | resources | `/pinctrl@51c000000` | -| `aop-gpio0` | resources | `/pinctrl@510824000` | -| `nub-gpio0` | resources | `/pinctrl@5081e4000` | -| `smc-gpio0` | resources | `/pinctrl@50c824000` | -| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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-voicetrigger` | 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` | partial resources | `/iommu@510f00000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sio` | partial resources | `/dma-controller@429e00000`; **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 | `/iommu@429060000` | -| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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 | `/iommu@500300000` | -| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/sep@406600000`; **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 | `/iommu@404c80000` | -| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | -| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `smc` | partial resources | `/smc@50c600000`; **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 | `/aon-ptd@50cdc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm` | gap | **GAP:** no matching hardware resource node | -| `dart-rsm/mapper-rsm` | stream | Stream of `dart-rsm`; stream/resource linkage needs review | -| `uart0` | resources | `/serial@429200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/spi@429118000` | -| `qspi/spinor` | bus device | `/spi@429118000/flash@0` | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | resources | `/iommu@382f00000`; `/iommu@382f80000` | -| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | resources | `/iommu@38af00000`; `/iommu@38af80000` | -| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | resources | `/iommu@392f00000`; `/iommu@392f80000` | -| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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 | `/phy@39aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-abbeyL1` | bus device | `/spmi@509014000/pmic@e` | -| `nub-spmi0/btm` | bus device | `/spmi@509014000/battery-monitor@b` | -| `nub-spmi1` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi1/spmi-abbeyF1` | bus device | `/spmi@509054000/pmic@e` | -| `nub-spmi2` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi2/spmi-abbeyF2` | bus device | `/spmi@509094000/pmic@e` | -| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0/hpm0` | bus device | `/spmi@509188000/usb-pd@c` | -| `nub-spmi-a0/hpm1` | bus device | `/spmi@509188000/usb-pd@a` | -| `nub-spmi-a0/hpm5` | bus device | `/spmi@509188000/usb-pd@8` | -| `nub-spmi-a1` | partial resources | `/spmi@509198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a1/hpm2` | bus device | `/spmi@509198000/usb-pd@c` | -| `aop-spmi0` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/spmi-wifibt` | bus device | `/spmi@510914000/pmic@e` | -| `disp0` | partial resources | `/dcp@402e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-disp0` | resources | `/iommu@402300000`; `/dcp@402e00000` | -| `dart-disp0/mapper-disp0` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dart-disp0/mapper-disp0-piodma` | stream | Stream of `/iommu@402300000` / `/dcp@402e00000`; stream/resource linkage needs review | -| `dcp0-expert` | resources | `/display-expert@4023a8050` | -| `dcp` | partial resources | `/dcp@402e00000`; **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 | `/iommu@402340000` | -| `dart-dcp/mapper-dcp` | stream | Stream of `/iommu@402340000`; stream/resource linkage needs review | -| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `dispext0` | partial resources | `/dcp@3a2e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | -| `dcpext0` | partial resources | `/dcp@3a2e00000`; **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 | `/iommu@3a2340000` | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | -| `dart-dispext0` | resources | `/iommu@3a2300000`; `/dcp@3a2e00000` | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000` / `/dcp@3a2e00000`; stream/resource linkage needs review | -| `dp-audio1` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `dispext1` | partial resources | `/dcp@602e00000`; `/power-management@504800000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dcpext1-expert` | resources | `/display-expert@6023a8050` | -| `dcpext1` | partial resources | `/dcp@602e00000`; **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 | `/iommu@602340000` | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | -| `dart-dispext1` | resources | `/iommu@602300000`; `/dcp@602e00000` | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000` / `/dcp@602e00000`; stream/resource linkage needs review | -| `dp-audio2` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | -| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dp-audio3` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `dispext3` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext3-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dcpext3/iop-dcpext3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext3/mapper-dcpext3` | stream | Stream of `dart-dcpext3`; stream/resource linkage needs review | -| `dart-dispext3` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext3/mapper-dispext3` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dart-dispext3/mapper-dispext3-piodma` | stream | Stream of `dart-dispext3`; stream/resource linkage needs review | -| `dp-audio4` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4`; `/audio-controller-1`; `/audio-controller-2` | -| `scaler0` | resources | `/scaler@521000000` | -| `dart-scaler0` | resources | `/iommu@521260000` | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1` | gap | **GAP:** no matching hardware resource node | -| `dart-scaler1/mapper-scaler1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `dart-scaler1/mapper-scaler-piodma1` | stream | Stream of `dart-scaler1`; stream/resource linkage needs review | -| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | -| `ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1` | gap | **GAP:** no matching hardware resource node | -| `dart-ave1/mapper-ave1` | stream | Stream of `dart-ave1`; stream/resource linkage needs review | -| `apr0` | resources | `/video-codec@301000000` | -| `dart-apr0` | resources | `/iommu@301020000` | -| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | -| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg0` | resources | `/iommu@487020000` | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | -| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg1` | resources | `/iommu@487080000` | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | -| `ane0` | resources | `/ane@484000000` | -| `dart-ane0` | resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000` | -| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | resources | `/iommu@281020000` | -| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | -| `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 | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-hp/audio-hp-mic` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/lp-mic-io-buffer-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/siri-listening-device` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | -| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/cpu-debug@508700000` | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/pwm@429040000` | -| `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. | -| `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/devicetree/DT-GAPS-j773s.md b/docs/devicetree/DT-GAPS-j773s.md deleted file mode 100644 index 6031b6c7eca17..0000000000000 --- a/docs/devicetree/DT-GAPS-j773s.md +++ /dev/null @@ -1,437 +0,0 @@ -# DT gaps: J773S - -## Identity and scope - -Board DTS: `arch/arm64/boot/dts/apple/t6040-j773s.dts`. -The hardware resource inventory identifies the T6041 peripheral die. - -Source: preferred live hardware description, 26.6.2/t6040-j773s.txt, cross-checked against the per-board 27.2 template. Only hardware identities and resource mappings are recorded here; no tuning or factory data is reproduced. - -## Result - -This resource coverage audit still has unresolved entries and does not establish complete board support. 349 arm-io records were examined. Hardware blocks added in this series remain disabled. A resource match does not prove IRQ, clock, power or DMA stream correctness. - -**Audit basis:** DTS source analysis; compiled-DTB reconciliation pending. - -| Record classification | Count | -| --- | ---: | -| gap | 37 | -| partial resources | 67 | -| resources | 37 | -| service review | 89 | -| shared hardware | 5 | -| stream | 114 | - -## 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 - -- t-5538 owns J616s and shared T604x resource descriptions. This branch builds on its commit 1a6cd012; J616s board files are not duplicated. -- linux PR #1042 owns Stockholm/NFC; #1054 owns AOP devmotion6 and temperature services; #1052 owns USB4 tunnel bring-up. -- linux PR #1092 owns J616c fan enablement. -- Newly introduced boards are description scaffolding and require endpoint/lifecycle qualification before hardware enablement. - -## Every arm-io record - -Paths in the first column are relative to `arm-io`. Stream entries name the owning translation block; their SID and aperture semantics still need review. Service-review entries have no independently decoded MMIO resource; this is not a waiver of their hardware or binding requirements. - -| Firmware hardware/service record | Classification | Linux description or gap | -| --- | --- | --- | -| `i2c0` | gap | **GAP:** no matching hardware resource node | -| `i2c0/gen-lock-hub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c1` | resources | `/i2c@429014000` | -| `i2c1/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c2` | resources | `/i2c@429018000` | -| `i2c2/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c6` | resources | `/i2c@429028000` | -| `i2c6/uatcrt0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c6/uatcrt1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c6/uatcrt2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `i2c8` | resources | `/i2c@429030000` | -| `i2c8/pcon0` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0` | gap | **GAP:** no matching hardware resource node | -| `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-bridge2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `apcie0/pci-bridge2/lan-1gb` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apcie0` | partial resources | `/iommu@410000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apcie0/mapper-apcie0-wlan` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-bt` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `dart-apcie0/mapper-apcie0-piodma` | stream | Stream of `/iommu@410000000`; stream/resource linkage needs review | -| `apcie0-piodma` | resources | `/dma@410030000` | -| `dart-apcie2` | gap | **GAP:** no matching hardware resource node | -| `dart-apcie2/mapper-apcie2` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `dart-apcie2/mapper-apcie2-piodma` | stream | Stream of `dart-apcie2`; stream/resource linkage needs review | -| `apcie2-piodma` | gap | **GAP:** no matching hardware resource node | -| `lan-10gb-sync` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `acio-phy-cpu0` | resources | `/mailbox@383148000`; `/phy@382a90000` | -| `acio-phy-cpu0/iop-aciophy0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu1` | resources | `/mailbox@38b148000`; `/phy@38aa90000` | -| `acio-phy-cpu1/iop-aciophy1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu2` | resources | `/mailbox@393148000`; `/phy@392a90000` | -| `acio-phy-cpu2/iop-aciophy2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `acio-phy-cpu3` | gap | **GAP:** no matching hardware resource node | -| `acio-phy-cpu3/iop-aciophy3-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `aod2` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `apciec0` | partial resources | `/phy@382a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec0/pcic0-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec0` | partial resources | `/iommu@384000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apciec0/mapper-apciec0-piodma` | stream | Stream of `/iommu@384000000`; stream/resource linkage needs review | -| `apciec0-piodma` | resources | `/dma@384068000` | -| `acio0` | gap | **GAP:** no matching hardware resource node | -| `dart-acio0` | partial resources | `/iommu@381a80000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio0/mapper-acio0-tx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-tx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-0` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-1` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-2` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-3` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-4` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-5` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-6` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-7` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-8` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-9` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-10` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `dart-acio0/mapper-acio0-rx-11` | stream | Stream of `/iommu@381a80000`; stream/resource linkage needs review | -| `acio-cpu0` | partial resources | `/mailbox@381108000`; **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` | partial resources | `/phy@38aa90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec1/pcic1-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec1` | partial resources | `/iommu@38c000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apciec1/mapper-apciec1-piodma` | stream | Stream of `/iommu@38c000000`; stream/resource linkage needs review | -| `apciec1-piodma` | resources | `/dma@38c068000` | -| `acio1` | gap | **GAP:** no matching hardware resource node | -| `dart-acio1` | partial resources | `/iommu@389a80000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio1/mapper-acio1-tx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-tx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-0` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-1` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-2` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-3` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-4` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-5` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-6` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-7` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-8` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-9` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-10` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `dart-acio1/mapper-acio1-rx-11` | stream | Stream of `/iommu@389a80000`; stream/resource linkage needs review | -| `acio-cpu1` | partial resources | `/mailbox@389108000`; **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` | partial resources | `/phy@392a90000`; **GAP:** 7 larger or unmatched resource window(s) | -| `apciec2/pcic2-bridge` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-apciec2` | partial resources | `/iommu@394000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apciec2/mapper-apciec2-piodma` | stream | Stream of `/iommu@394000000`; stream/resource linkage needs review | -| `apciec2-piodma` | resources | `/dma@394068000` | -| `acio2` | gap | **GAP:** no matching hardware resource node | -| `dart-acio2` | partial resources | `/iommu@391a80000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-acio2/mapper-acio2-tx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-tx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-0` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-1` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-2` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-3` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-4` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-5` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-6` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-7` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-8` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-9` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-10` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `dart-acio2/mapper-acio2-rx-11` | stream | Stream of `/iommu@391a80000`; stream/resource linkage needs review | -| `acio-cpu2` | partial resources | `/mailbox@391108000`; **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` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `bluetooth` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `display-crossbar0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc0-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc0-dpin0` | resources | `/dpin@381e50000` | -| `atc0-dpin1` | resources | `/dpin@381e58000` | -| `atc1-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc1-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc1-dpin0` | resources | `/dpin@389e50000` | -| `atc1-dpin1` | resources | `/dpin@389e58000` | -| `atc2-dpxbar` | gap | **GAP:** no matching hardware resource node | -| `atc2-dpphy` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `atc2-dpin0` | resources | `/dpin@391e50000` | -| `atc2-dpin1` | resources | `/dpin@391e58000` | -| `mcc` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; **GAP:** 29 larger or unmatched resource window(s) | -| `aic` | partial resources | `/interrupt-controller@502400000`; **GAP:** 1 larger or unmatched resource window(s) | -| `aic-timebase` | resources | `/aic-timebase@502580000` | -| `wdt` | partial resources | `/watchdog@50836c000`; **GAP:** 4 larger or unmatched resource window(s) | -| `error-handler` | partial resources | `/clock-controller@502800000`; `/ane@484000000`; `/memory-controller@220000000`; `/error-handler@24f000000`; **GAP:** 53 larger or unmatched resource window(s) | -| `dwi` | resources | `/dwi@5029b0000` | -| `aes` | resources | `/crypto@42900c000` | -| `gpio0` | resources | `/pinctrl@51c000000` | -| `aop-gpio0` | resources | `/pinctrl@510824000` | -| `nub-gpio0` | resources | `/pinctrl@5081e4000` | -| `smc-gpio0` | resources | `/pinctrl@50c824000` | -| `aop` | partial resources | `/aop@510600000`; **GAP:** 1 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/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` | partial resources | `/iommu@510f00000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-aop/mapper-aop` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-base-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-ns` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `dart-aop/mapper-admac-leap-s` | stream | Stream of `/iommu@510f00000`; stream/resource linkage needs review | -| `pmgr` | partial resources | `/clock-controller@502800000`; `/cpufreq@210e20000`; `/cpufreq@211e20000`; `/ane@484000000`; **GAP:** 5 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` | partial resources | `/clock-controller@502800000`; `/watchdog@50836c000`; `/power-management@504800000`; `/ane@484000000`; `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `sio` | partial resources | `/dma-controller@429e00000`; **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` | partial resources | `/iommu@429060000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-sio/mapper-sio` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `dart-sio/mapper-aes` | stream | Stream of `/iommu@429060000`; stream/resource linkage needs review | -| `pmp` | partial resources | `/pmp@500700000`; `/ane@484000000`; **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` | partial resources | `/iommu@500300000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-pmp/mapper-pmp` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `dart-pmp/mapper-pmp-ptd-fwd` | stream | Stream of `/iommu@500300000`; stream/resource linkage needs review | -| `sep` | partial resources | `/sep@406600000`; **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` | partial resources | `/iommu@404c80000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-sep/mapper-sep` | stream | Stream of `/iommu@404c80000`; stream/resource linkage needs review | -| `ans` | partial resources | `/nvme@44dcc0000`; **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` | partial resources | `/sart@40dc50000`; `/nvme@44dcc0000`; **GAP:** 1 larger or unmatched resource window(s) | -| `smc` | partial resources | `/smc@50c600000`; **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 | -| `aon-ptd` | resources | `/aon-ptd@50cdc0000` | -| `pmgrtools` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `uart0` | resources | `/serial@429200000` | -| `uart0/debug-console` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dockchannel-uart` | partial resources | `/serial@50883c000`; **GAP:** 1 larger or unmatched resource window(s) | -| `qspi` | resources | `/spi@429118000` | -| `qspi/spinor` | gap | **GAP:** SPI NOR endpoint is not described | -| `qspi/spinor/firmware` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/anvram` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `qspi/spinor/syscfg` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi3` | gap | **GAP:** no matching hardware resource node | -| `spi3/usb3hub-flash` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `spi3/usb3hub-flash/usb3hub-fw` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dp2hdmi-gpio0` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `lpdptx-phy0` | gap | **GAP:** no matching hardware resource node | -| `atc-phy0` | partial resources | `/phy@382a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0` | partial resources | `/iommu@382f00000`; `/iommu@382f80000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb0/mapper-usb0` | stream | Stream of `/iommu@382f00000` / `/iommu@382f80000`; stream/resource linkage needs review | -| `usb-drd0` | partial resources | `/usb@382280000`; `/phy@382a90000`; **GAP:** 6 larger or unmatched resource window(s) | -| `usb-drd0/usb-drd0-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd0/usb-drd0-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `atc-phy1` | partial resources | `/phy@38aa90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1` | partial resources | `/iommu@38af00000`; `/iommu@38af80000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb1/mapper-usb1` | stream | Stream of `/iommu@38af00000` / `/iommu@38af80000`; stream/resource linkage needs review | -| `usb-drd1` | partial resources | `/usb@38a280000`; `/phy@38aa90000`; **GAP:** 6 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 | `/phy@392a90000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2` | partial resources | `/iommu@392f00000`; `/iommu@392f80000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-usb2/mapper-usb2` | stream | Stream of `/iommu@392f00000` / `/iommu@392f80000`; stream/resource linkage needs review | -| `usb-drd2` | partial resources | `/usb@392280000`; `/phy@392a90000`; **GAP:** 6 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` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3` | gap | **GAP:** no matching hardware resource node | -| `dart-usb3/mapper-usb3` | stream | Stream of `dart-usb3`; stream/resource linkage needs review | -| `usb-drd3` | gap | **GAP:** no matching hardware resource node | -| `usb-drd3/usb-drd3-port-hs` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-hs/usb2-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-hs/usb2-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-ss` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-ss/usb3-hub-port1` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `usb-drd3/usb-drd3-port-ss/usb3-hub-port2` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `nub-spmi0` | partial resources | `/spmi@509014000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi0/spmi-abbeyL1` | 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` | partial resources | `/spmi@509054000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi1/spmi-abbeyF1` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi2` | partial resources | `/spmi@509094000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi2/spmi-abbeyF2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi3` | partial resources | `/spmi@5090d4000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi4` | partial resources | `/spmi@509114000`; **GAP:** 3 larger or unmatched resource window(s) | -| `nub-spmi-a0` | partial resources | `/spmi@509188000`; **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/hpm2` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `nub-spmi-a1` | partial resources | `/spmi@509198000`; **GAP:** 3 larger or unmatched resource window(s) | -| `aop-spmi0` | partial resources | `/spmi@510914000`; **GAP:** 3 larger or unmatched resource window(s) | -| `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-spmi0/spmi-wifibt` | gap | **GAP:** SPMI endpoint and interrupt/GPIO dependencies need a binding and description | -| `dcp0-sac-controller` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dp-audio0` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | -| `dispext0` | partial resources | `/iommu@3a2300000`; `/display-expert@3a23a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext0-expert` | resources | `/display-expert@3a23a8050` | -| `dcpext0` | gap | **GAP:** no matching hardware resource node | -| `dcpext0/iop-dcpext0-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext0` | partial resources | `/iommu@3a2340000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dcpext0/mapper-dcpext0` | stream | Stream of `/iommu@3a2340000`; stream/resource linkage needs review | -| `dart-dispext0` | partial resources | `/iommu@3a2300000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext0/mapper-dispext0` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | -| `dart-dispext0/mapper-dispext0-piodma` | stream | Stream of `/iommu@3a2300000`; stream/resource linkage needs review | -| `dp-audio1` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | -| `dispext1` | partial resources | `/iommu@602300000`; `/display-expert@6023a8050`; `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext1-expert` | resources | `/display-expert@6023a8050` | -| `dcpext1` | gap | **GAP:** no matching hardware resource node | -| `dcpext1/iop-dcpext1-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext1` | partial resources | `/iommu@602340000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-dcpext1/mapper-dcpext1` | stream | Stream of `/iommu@602340000`; stream/resource linkage needs review | -| `dart-dispext1` | partial resources | `/iommu@602300000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-dispext1/mapper-dispext1` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | -| `dart-dispext1/mapper-dispext1-piodma` | stream | Stream of `/iommu@602300000`; stream/resource linkage needs review | -| `dp-audio2` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | -| `dispext2` | partial resources | `/power-management@504800000`; **GAP:** 4 larger or unmatched resource window(s) | -| `dcpext2-expert` | gap | **GAP:** no matching hardware resource node | -| `dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dcpext2/iop-dcpext2-nub` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `dart-dcpext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dcpext2/mapper-dcpext2` | stream | Stream of `dart-dcpext2`; stream/resource linkage needs review | -| `dart-dispext2` | gap | **GAP:** no matching hardware resource node | -| `dart-dispext2/mapper-dispext2` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dart-dispext2/mapper-dispext2-piodma` | stream | Stream of `dart-dispext2`; stream/resource linkage needs review | -| `dp-audio3` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | -| `dp-audio4` | shared hardware | `/audio-controller-0`; `/audio-controller-3`; `/audio-controller-4` | -| `scaler0` | resources | `/scaler@521000000` | -| `dart-scaler0` | partial resources | `/iommu@521260000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-scaler0/mapper-scaler0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `dart-scaler0/mapper-scaler-piodma0` | stream | Stream of `/iommu@521260000`; stream/resource linkage needs review | -| `ave0` | partial resources | `/video-codec@283100000`; **GAP:** 2 larger or unmatched resource window(s) | -| `dart-ave0` | partial resources | `/iommu@2830a0000`; `/iommu@283080000`; **GAP:** 3 larger or unmatched resource window(s) | -| `dart-ave0/mapper-ave0` | stream | Stream of `/iommu@2830a0000` / `/iommu@283080000`; stream/resource linkage needs review | -| `apr0` | resources | `/video-codec@301000000` | -| `dart-apr0` | partial resources | `/iommu@301020000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-apr0/mapper-apr0` | stream | Stream of `/iommu@301020000`; stream/resource linkage needs review | -| `jpeg0` | partial resources | `/jpeg@487000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg0` | partial resources | `/iommu@487020000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg0/mapper-jpeg0` | stream | Stream of `/iommu@487020000`; stream/resource linkage needs review | -| `jpeg1` | partial resources | `/jpeg@487060000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg1` | partial resources | `/iommu@487080000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-jpeg1/mapper-jpeg1` | stream | Stream of `/iommu@487080000`; stream/resource linkage needs review | -| `ane0` | resources | `/ane@484000000` | -| `dart-ane0` | partial resources | `/iommu@485800000`; `/iommu@485820000`; `/iommu@485840000`; `/ane@484000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-ane0/mapper-ane0` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `dart-ane0/mapper-ane0-mpm` | stream | Stream of `/iommu@485800000` / `/iommu@485820000` / `/iommu@485840000` / `/ane@484000000`; stream/resource linkage needs review | -| `avd0` | partial resources | `/avd@280000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0` | partial resources | `/iommu@281020000`; **GAP:** 1 larger or unmatched resource window(s) | -| `dart-avd0/mapper-avd0` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-piodma` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `dart-avd0/mapper-avd0-adsbuf` | stream | Stream of `/iommu@281020000`; stream/resource linkage needs review | -| `sgx` | partial resources | `/gpu@288000000`; **GAP:** 1 larger or unmatched resource window(s) | -| `gfx-asc` | resources | `/gpu@288000000`; `/mailbox@28a600000` | -| `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 | -| `sapt` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `iop-audio-controller/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-input/audio-codec-input` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-codec-output/audio-codec-output` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `iop-audio-controller/audio-speaker/audio-speaker` | service review | Subordinate firmware service/configuration or logical device; semantic mapping requires review | -| `admac-base-ns` | resources | `/dma-controller@513800000`; `/aop@510600000` | -| `admac-leap-ns` | resources | `/dma-controller@513300000`; `/aop@510600000` | -| `smctempsensor0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `cpu-debug-interface` | gap | **GAP:** service or GPIO relationships still need a binding and resource mapping | -| `dbgCPU` | resources | `/cpu-debug@508700000` | -| `nub-swd0` | service review | No independent MMIO resource in this record; service/aggregate semantics require review | -| `pwm1` | resources | `/pwm@429040000` | -| `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/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. | -| `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-usb-c-5` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `port-usb-c-6` | **GAP:** reconcile connector graph, role and GPIO dependencies per port. | -| `sacm` | **GAP:** non-arm-io hardware/service record requires semantic mapping. | -| `defaults` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `product` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `iboot-syscfg` | Boot metadata; no independent hardware device. Subtree properties omitted. | -| `filesystems-props` | Boot metadata; no independent hardware device. Subtree properties omitted. | From c63409140bb8ced7bf0f4baed026965ec4d44a8a Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 23:10:18 +1100 Subject: [PATCH 3/3] arm64: dts: apple: describe disabled M4 Pro and Max board codecs Add the headphone codec and speaker amplifier endpoints for J614c, J575c and J773s using existing bindings. Describe reset, shutdown and interrupt wiring, without introducing routes or tuning. All new endpoints and the shutdown supply stay disabled. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../boot/dts/apple/t6040-j773s-audio.dtsi | 40 +++++++++ arch/arm64/boot/dts/apple/t6040-j773s.dts | 2 + .../boot/dts/apple/t6041-j575c-audio.dtsi | 40 +++++++++ arch/arm64/boot/dts/apple/t6041-j575c.dts | 2 + .../boot/dts/apple/t6041-j614c-audio.dtsi | 88 +++++++++++++++++++ arch/arm64/boot/dts/apple/t6041-j614c.dts | 2 + 6 files changed, 174 insertions(+) create mode 100644 arch/arm64/boot/dts/apple/t6040-j773s-audio.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6041-j575c-audio.dtsi create mode 100644 arch/arm64/boot/dts/apple/t6041-j614c-audio.dtsi diff --git a/arch/arm64/boot/dts/apple/t6040-j773s-audio.dtsi b/arch/arm64/boot/dts/apple/t6040-j773s-audio.dtsi new file mode 100644 index 0000000000000..9ea4cfa8f9963 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6040-j773s-audio.dtsi @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* J773S audio endpoints. Keep the routes and hardware disabled until qualified. */ + +#include +#include + +/ { + speaker_sdz: regulator-speaker-sdz { + compatible = "regulator-fixed"; + regulator-name = "speaker-sdz"; + gpios = <&pinctrl_ap 54 GPIO_ACTIVE_HIGH>; + enable-active-high; + status = "disabled"; + }; +}; + +&i2c1 { + audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + #sound-dai-cells = <0>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + interrupts-extended = <&pinctrl_ap 55 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + +}; + +&i2c2 { + audio_codec_output: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + #sound-dai-cells = <0>; + reset-gpios = <&pinctrl_nub 58 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6040-j773s.dts b/arch/arm64/boot/dts/apple/t6040-j773s.dts index d2fd2f31dc80d..56f009733998b 100644 --- a/arch/arm64/boot/dts/apple/t6040-j773s.dts +++ b/arch/arm64/boot/dts/apple/t6040-j773s.dts @@ -54,3 +54,5 @@ /delete-node/ &audio_low_power_mic; /delete-node/ &audio_mic_buffer; /delete-node/ &audio_listening_client; + +#include "t6040-j773s-audio.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6041-j575c-audio.dtsi b/arch/arm64/boot/dts/apple/t6041-j575c-audio.dtsi new file mode 100644 index 0000000000000..91db5b39d176e --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6041-j575c-audio.dtsi @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* J575C audio endpoints. Keep the routes and hardware disabled until qualified. */ + +#include +#include + +/ { + speaker_sdz: regulator-speaker-sdz { + compatible = "regulator-fixed"; + regulator-name = "speaker-sdz"; + gpios = <&pinctrl_ap 54 GPIO_ACTIVE_HIGH>; + enable-active-high; + status = "disabled"; + }; +}; + +&i2c1 { + audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + #sound-dai-cells = <0>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + interrupts-extended = <&pinctrl_ap 55 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + +}; + +&i2c2 { + audio_codec_output: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + #sound-dai-cells = <0>; + reset-gpios = <&pinctrl_nub 58 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6041-j575c.dts b/arch/arm64/boot/dts/apple/t6041-j575c.dts index d1f9923b0a6ed..21cb2671836e1 100644 --- a/arch/arm64/boot/dts/apple/t6041-j575c.dts +++ b/arch/arm64/boot/dts/apple/t6041-j575c.dts @@ -52,3 +52,5 @@ &serial0 { reg = <0x4 0x29200000 0 0x4000>; }; + +#include "t6041-j575c-audio.dtsi" diff --git a/arch/arm64/boot/dts/apple/t6041-j614c-audio.dtsi b/arch/arm64/boot/dts/apple/t6041-j614c-audio.dtsi new file mode 100644 index 0000000000000..04e7cafc1087f --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6041-j614c-audio.dtsi @@ -0,0 +1,88 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* J614C audio endpoints. Keep the routes and hardware disabled until qualified. */ + +#include +#include + +/ { + speaker_sdz: regulator-speaker-sdz { + compatible = "regulator-fixed"; + regulator-name = "speaker-sdz"; + gpios = <&pinctrl_ap 54 GPIO_ACTIVE_HIGH>; + enable-active-high; + status = "disabled"; + }; +}; + +&i2c1 { + audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + #sound-dai-cells = <0>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + interrupts-extended = <&pinctrl_ap 55 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + + audio_speaker_left_woofer_2: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + #sound-dai-cells = <0>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + status = "disabled"; + }; + + audio_speaker_left_tweeter: codec@3a { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3a>; + #sound-dai-cells = <0>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + status = "disabled"; + }; + +}; + +&i2c2 { + audio_codec_output: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + #sound-dai-cells = <0>; + reset-gpios = <&pinctrl_nub 58 GPIO_ACTIVE_HIGH>; + interrupts-extended = <&pinctrl_ap 106 IRQ_TYPE_LEVEL_LOW>; + status = "disabled"; + }; + +}; + +&i2c3 { + audio_speaker_right_woofer_1: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + #sound-dai-cells = <0>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + status = "disabled"; + }; + + audio_speaker_right_woofer_2: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + #sound-dai-cells = <0>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + status = "disabled"; + }; + + audio_speaker_right_tweeter: codec@3d { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3d>; + #sound-dai-cells = <0>; + SDZ-supply = <&speaker_sdz>; + apple,sdz-group-fail-closed; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6041-j614c.dts b/arch/arm64/boot/dts/apple/t6041-j614c.dts index b8bfe83b9220e..c92c8e68c4d2d 100644 --- a/arch/arm64/boot/dts/apple/t6041-j614c.dts +++ b/arch/arm64/boot/dts/apple/t6041-j614c.dts @@ -52,3 +52,5 @@ &serial0 { reg = <0x4 0x29200000 0 0x4000>; }; + +#include "t6041-j614c-audio.dtsi"