From fc5b572de6e22dd136330cca5cd7d77749f5941d Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:44:29 +1100 Subject: [PATCH 1/3] arm64: dts: apple: describe T8142 board resources Add conservative board scaffolding, disabled peripheral resource descriptions and per-board coverage ledgers. Unresolved providers, transport children and handoff requirements remain explicit review gaps. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/arm/apple.yaml | 5 +- .../soc/apple/apple,t8142-admac-complex.yaml | 53 + .../soc/apple/apple,t8142-admac-control.yaml | 48 + .../bindings/soc/apple/apple,t8142-aes.yaml | 58 + .../soc/apple/apple,t8142-aic-timebase.yaml | 43 + .../soc/apple/apple,t8142-ane-complex.yaml | 53 + .../soc/apple/apple,t8142-aop-coproc.yaml | 53 + .../soc/apple/apple,t8142-atc-dpxbar.yaml | 43 + .../apple/apple,t8142-atc-phy-complex.yaml | 48 + .../apple/apple,t8142-audio-dma-proxy.yaml | 43 + .../soc/apple/apple,t8142-cpu-debug.yaml | 48 + .../soc/apple/apple,t8142-dart-complex.yaml | 52 + .../soc/apple/apple,t8142-display-coproc.yaml | 53 + .../soc/apple/apple,t8142-display-engine.yaml | 53 + .../soc/apple/apple,t8142-display-expert.yaml | 48 + .../apple,t8142-dockchannel-complex.yaml | 48 + .../bindings/soc/apple/apple,t8142-dp-in.yaml | 48 + .../soc/apple/apple,t8142-dptx-aux.yaml | 48 + .../soc/apple/apple,t8142-error-monitor.yaml | 48 + .../soc/apple/apple,t8142-event-monitor.yaml | 48 + .../apple,t8142-exclave-sep-manager.yaml | 53 + .../soc/apple/apple,t8142-gpio-bank.yaml | 61 + .../soc/apple/apple,t8142-gpu-complex.yaml | 48 + .../soc/apple/apple,t8142-gpu-coproc.yaml | 48 + .../apple,t8142-hibernation-watchdog.yaml | 43 + .../soc/apple/apple,t8142-i2c-controller.yaml | 53 + .../soc/apple/apple,t8142-isp-complex.yaml | 58 + .../soc/apple/apple,t8142-jpeg-complex.yaml | 53 + .../soc/apple/apple,t8142-mcc-complex.yaml | 43 + .../soc/apple/apple,t8142-mtp-coproc.yaml | 53 + .../soc/apple/apple,t8142-pcie-complex.yaml | 53 + .../soc/apple/apple,t8142-pcie-piodma.yaml | 53 + .../soc/apple/apple,t8142-pciec-complex.yaml | 48 + .../soc/apple/apple,t8142-pciec-piodma.yaml | 53 + .../soc/apple/apple,t8142-pmgr-complex.yaml | 48 + .../soc/apple/apple,t8142-pmp-coproc.yaml | 58 + .../apple/apple,t8142-processor-trace.yaml | 43 + .../soc/apple/apple,t8142-prores-complex.yaml | 53 + .../bindings/soc/apple/apple,t8142-ptd.yaml | 48 + .../soc/apple/apple,t8142-pwm-controller.yaml | 53 + .../soc/apple/apple,t8142-qspi-complex.yaml | 53 + .../bindings/soc/apple/apple,t8142-rsm.yaml | 53 + .../soc/apple/apple,t8142-sart-complex.yaml | 43 + .../soc/apple/apple,t8142-scaler.yaml | 58 + .../soc/apple/apple,t8142-scdc-coproc.yaml | 58 + .../soc/apple/apple,t8142-secure-mailbox.yaml | 53 + .../soc/apple/apple,t8142-secure-repair.yaml | 48 + .../soc/apple/apple,t8142-sep-coproc.yaml | 53 + .../soc/apple/apple,t8142-sio-coproc.yaml | 53 + .../soc/apple/apple,t8142-smc-coproc.yaml | 48 + .../soc/apple/apple,t8142-spi-controller.yaml | 53 + .../soc/apple/apple,t8142-spmi-complex.yaml | 43 + .../apple/apple,t8142-storage-complex.yaml | 48 + .../apple/apple,t8142-usb-drd-complex.yaml | 53 + .../soc/apple/apple,t8142-usb4-coproc.yaml | 48 + .../soc/apple/apple,t8142-usb4-router.yaml | 58 + .../apple,t8142-video-decoder-complex.yaml | 53 + .../apple,t8142-video-encoder-complex.yaml | 53 + .../apple/apple,t8142-watchdog-complex.yaml | 48 + arch/arm64/boot/dts/apple/Makefile | 5 +- .../dts/apple/t8142-j704-peripherals.dtsi | 1284 +++++++++++++++++ arch/arm64/boot/dts/apple/t8142-j704.dts | 22 + .../boot/dts/apple/t8142-j813-unbound.dtsi | 246 ++++ arch/arm64/boot/dts/apple/t8142-j813.dts | 391 +---- .../dts/apple/t8142-j815-peripherals.dtsi | 1016 +++++++++++++ arch/arm64/boot/dts/apple/t8142-j815.dts | 22 + .../boot/dts/apple/t8142-peripherals.dtsi | 903 ++++++++++++ arch/arm64/boot/dts/apple/t8142.dtsi | 384 +++++ docs/devicetree/DT-GAPS-j704.md | 207 +++ docs/devicetree/DT-GAPS-j813.md | 185 +++ docs/devicetree/DT-GAPS-j815.md | 185 +++ 71 files changed, 7402 insertions(+), 389 deletions(-) create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-admac-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-admac-control.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-aes.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-aic-timebase.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-ane-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-aop-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-atc-dpxbar.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-atc-phy-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-audio-dma-proxy.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-cpu-debug.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-dart-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-display-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-display-engine.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-display-expert.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-dockchannel-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-dp-in.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-dptx-aux.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-error-monitor.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-event-monitor.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-exclave-sep-manager.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-gpio-bank.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-gpu-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-gpu-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-hibernation-watchdog.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-isp-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-jpeg-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-mcc-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-mtp-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-pcie-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-pcie-piodma.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-pciec-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-pciec-piodma.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-pmgr-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-pmp-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-processor-trace.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-prores-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-ptd.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-pwm-controller.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-qspi-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-rsm.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-sart-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-scaler.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-scdc-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-secure-mailbox.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-secure-repair.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-sep-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-sio-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-smc-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-spi-controller.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-spmi-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-storage-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-usb-drd-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-usb4-coproc.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-usb4-router.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-video-decoder-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-video-encoder-complex.yaml create mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-watchdog-complex.yaml create mode 100644 arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8142-j704.dts create mode 100644 arch/arm64/boot/dts/apple/t8142-j813-unbound.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8142-j815.dts create mode 100644 arch/arm64/boot/dts/apple/t8142-peripherals.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8142.dtsi create mode 100644 docs/devicetree/DT-GAPS-j704.md create mode 100644 docs/devicetree/DT-GAPS-j813.md create mode 100644 docs/devicetree/DT-GAPS-j815.md diff --git a/Documentation/devicetree/bindings/arm/apple.yaml b/Documentation/devicetree/bindings/arm/apple.yaml index f0061e05acbef..46f4722767ec4 100644 --- a/Documentation/devicetree/bindings/arm/apple.yaml +++ b/Documentation/devicetree/bindings/arm/apple.yaml @@ -365,7 +365,10 @@ properties: - description: Apple M5 SoC based platforms items: - - const: apple,j813 # MacBook Air (13-inch, M5, 2026) + - enum: + - apple,j704 # MacBook Pro (14-inch, M5) + - apple,j813 # MacBook Air (13-inch, M5, 2026) + - apple,j815 # MacBook Air (15-inch, M5) - const: apple,t8142 - const: apple,arm-platform diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-admac-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-admac-complex.yaml new file mode 100644 index 0000000000000..fba7fc6898d69 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-admac-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-admac-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 audio dma controller complex + +maintainers: + - Ryan Murray + +description: | + Audio DMA controller complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-admac-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-admac-complex + - const: apple,admac-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-admac-control.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-admac-control.yaml new file mode 100644 index 0000000000000..bda1a3d510462 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-admac-control.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-admac-control.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 audio dma clock and event distribution + +maintainers: + - Ryan Murray + +description: | + Audio DMA clock and event distribution on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-admac-control + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-admac-control + - const: apple,admac-control + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-aes.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-aes.yaml new file mode 100644 index 0000000000000..bb0dba7e3dc7e --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-aes.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-aes.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 aes cryptographic accelerator + +maintainers: + - Ryan Murray + +description: | + AES cryptographic accelerator on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-aes + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-aes + - const: apple,aes + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 3 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-aic-timebase.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-aic-timebase.yaml new file mode 100644 index 0000000000000..16694bfc61a3c --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-aic-timebase.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-aic-timebase.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 interrupt controller timebase + +maintainers: + - Ryan Murray + +description: | + Interrupt controller timebase on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-aic-timebase + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-aic-timebase + - const: apple,aic-timebase + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-ane-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-ane-complex.yaml new file mode 100644 index 0000000000000..117e877bfc357 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-ane-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-ane-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 neural processing accelerator complex + +maintainers: + - Ryan Murray + +description: | + Neural processing accelerator complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-ane-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-ane-complex + - const: apple,ane-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 6 + maxItems: 6 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 2 + maxItems: 2 + + iommus: + description: DMA translation streams used by this controller. + minItems: 2 + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-aop-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-aop-coproc.yaml new file mode 100644 index 0000000000000..85894ded16069 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-aop-coproc.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-aop-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 always-on processor + +maintainers: + - Ryan Murray + +description: | + Always-on processor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-aop-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-aop-coproc + - const: apple,aop-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 5 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-atc-dpxbar.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-atc-dpxbar.yaml new file mode 100644 index 0000000000000..bdb023b245485 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-atc-dpxbar.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-atc-dpxbar.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 type-c displayport crossbar + +maintainers: + - Ryan Murray + +description: | + Type-C DisplayPort crossbar on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-atc-dpxbar + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-atc-dpxbar + - const: apple,atc-dpxbar + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-atc-phy-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-atc-phy-complex.yaml new file mode 100644 index 0000000000000..ced11d9c96706 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-atc-phy-complex.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-atc-phy-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 type-c phy complex + +maintainers: + - Ryan Murray + +description: | + Type-C PHY complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-atc-phy-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-atc-phy-complex + - const: apple,atc-phy-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 4 + maxItems: 4 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-audio-dma-proxy.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-audio-dma-proxy.yaml new file mode 100644 index 0000000000000..9d541b107352f --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-audio-dma-proxy.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-audio-dma-proxy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 isolated audio dma proxy + +maintainers: + - Ryan Murray + +description: | + Isolated audio DMA proxy on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-audio-dma-proxy + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-audio-dma-proxy + - const: apple,audio-dma-proxy + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-cpu-debug.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-cpu-debug.yaml new file mode 100644 index 0000000000000..c6fbb3fd870a8 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-cpu-debug.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-cpu-debug.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 cpu debug controller + +maintainers: + - Ryan Murray + +description: | + CPU debug controller on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-cpu-debug + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-cpu-debug + - const: apple,cpu-debug + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-dart-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-dart-complex.yaml new file mode 100644 index 0000000000000..46401a628d4df --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-dart-complex.yaml @@ -0,0 +1,52 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-dart-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 iommu translation and address-filter complex + +maintainers: + - Ryan Murray + +description: | + IOMMU translation and address-filter complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-dart-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-dart-complex + - const: apple,dart-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 6 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + '#iommu-cells': + const: 1 + +required: + - compatible + - reg + - '#iommu-cells' + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-coproc.yaml new file mode 100644 index 0000000000000..1eba8167ded74 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-coproc.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-display-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 display management coprocessor + +maintainers: + - Ryan Murray + +description: | + Display management coprocessor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-display-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-display-coproc + - const: apple,display-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 3 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-engine.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-engine.yaml new file mode 100644 index 0000000000000..fcadbdce0945a --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-engine.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-display-engine.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 display scanout engine + +maintainers: + - Ryan Murray + +description: | + Display scanout engine on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-display-engine + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-display-engine + - const: apple,display-engine + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 5 + maxItems: 5 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 7 + maxItems: 9 + + iommus: + description: DMA translation streams used by this controller. + minItems: 2 + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-expert.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-expert.yaml new file mode 100644 index 0000000000000..2f50d5ebea878 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-display-expert.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-display-expert.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 display engine control and status windows + +maintainers: + - Ryan Murray + +description: | + Display engine control and status windows on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-display-expert + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-display-expert + - const: apple,display-expert + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 10 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-dockchannel-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-dockchannel-complex.yaml new file mode 100644 index 0000000000000..2d75a5823c0a8 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-dockchannel-complex.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-dockchannel-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 dockchannel fifo and interrupt complex + +maintainers: + - Ryan Murray + +description: | + DockChannel FIFO and interrupt complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-dockchannel-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-dockchannel-complex + - const: apple,dockchannel-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 6 + maxItems: 6 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-dp-in.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-dp-in.yaml new file mode 100644 index 0000000000000..ebfd2261539e8 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-dp-in.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-dp-in.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 displayport input adapter + +maintainers: + - Ryan Murray + +description: | + DisplayPort input adapter on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-dp-in + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-dp-in + - const: apple,dp-in + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-dptx-aux.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-dptx-aux.yaml new file mode 100644 index 0000000000000..2baabc13da076 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-dptx-aux.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-dptx-aux.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 displayport aux channel controller + +maintainers: + - Ryan Murray + +description: | + DisplayPort AUX channel controller on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-dptx-aux + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-dptx-aux + - const: apple,dptx-aux + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-error-monitor.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-error-monitor.yaml new file mode 100644 index 0000000000000..7fcc9d17df686 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-error-monitor.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-error-monitor.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 soc error monitoring register windows + +maintainers: + - Ryan Murray + +description: | + SoC error monitoring register windows on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-error-monitor + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-error-monitor + - const: apple,error-monitor + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 33 + maxItems: 33 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 31 + maxItems: 31 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-event-monitor.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-event-monitor.yaml new file mode 100644 index 0000000000000..888daea297dae --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-event-monitor.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-event-monitor.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 soc event log register windows + +maintainers: + - Ryan Murray + +description: | + SoC event log register windows on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-event-monitor + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-event-monitor + - const: apple,event-monitor + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 51 + maxItems: 51 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 13 + maxItems: 13 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-exclave-sep-manager.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-exclave-sep-manager.yaml new file mode 100644 index 0000000000000..8c7d67dca38dd --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-exclave-sep-manager.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-exclave-sep-manager.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 isolated secure enclave manager + +maintainers: + - Ryan Murray + +description: | + Isolated secure enclave manager on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-exclave-sep-manager + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-exclave-sep-manager + - const: apple,exclave-sep-manager + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 2 + maxItems: 2 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpio-bank.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpio-bank.yaml new file mode 100644 index 0000000000000..b738f04bb4ce5 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpio-bank.yaml @@ -0,0 +1,61 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-gpio-bank.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 gpio register bank + +maintainers: + - Ryan Murray + +description: | + GPIO register bank on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-gpio-bank + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-gpio-bank + - const: apple,gpio-bank + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 7 + maxItems: 7 + + '#address-cells': + const: 0 + + gpio-controller: true + + '#gpio-cells': + const: 2 + + interrupt-controller: true + + '#interrupt-cells': + const: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpu-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpu-complex.yaml new file mode 100644 index 0000000000000..6812b33818f20 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpu-complex.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-gpu-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 graphics processor register complex + +maintainers: + - Ryan Murray + +description: | + Graphics processor register complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-gpu-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-gpu-complex + - const: apple,gpu-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 8 + maxItems: 8 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpu-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpu-coproc.yaml new file mode 100644 index 0000000000000..28b5a5bb9f2b5 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-gpu-coproc.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-gpu-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 graphics management coprocessor + +maintainers: + - Ryan Murray + +description: | + Graphics management coprocessor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-gpu-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-gpu-coproc + - const: apple,gpu-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-hibernation-watchdog.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-hibernation-watchdog.yaml new file mode 100644 index 0000000000000..923f93d154018 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-hibernation-watchdog.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-hibernation-watchdog.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 isolated hibernation watchdog + +maintainers: + - Ryan Murray + +description: | + Isolated hibernation watchdog on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-hibernation-watchdog + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-hibernation-watchdog + - const: apple,hibernation-watchdog + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml new file mode 100644 index 0000000000000..2a43bacef75b8 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-i2c-controller.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 i2c controller + +maintainers: + - Ryan Murray + +description: | + I2C controller on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-i2c-controller + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-i2c-controller + - const: apple,i2c-controller + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-isp-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-isp-complex.yaml new file mode 100644 index 0000000000000..2edb53f3c87a4 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-isp-complex.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-isp-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 image signal processor complex + +maintainers: + - Ryan Murray + +description: | + Image signal processor complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-isp-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-isp-complex + - const: apple,isp-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 3 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 5 + maxItems: 5 + + iommus: + description: DMA translation streams used by this controller. + minItems: 10 + maxItems: 10 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 2 + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-jpeg-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-jpeg-complex.yaml new file mode 100644 index 0000000000000..bbb9fc9550fc4 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-jpeg-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-jpeg-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 jpeg codec and shared register windows + +maintainers: + - Ryan Murray + +description: | + JPEG codec and shared register windows on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-jpeg-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-jpeg-complex + - const: apple,jpeg-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-mcc-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-mcc-complex.yaml new file mode 100644 index 0000000000000..2f894605ef090 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-mcc-complex.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-mcc-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 memory cache controller complex + +maintainers: + - Ryan Murray + +description: | + Memory cache controller complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-mcc-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-mcc-complex + - const: apple,mcc-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 18 + maxItems: 18 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-mtp-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-mtp-coproc.yaml new file mode 100644 index 0000000000000..ea4b900fb9763 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-mtp-coproc.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-mtp-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 multitouch transport processor + +maintainers: + - Ryan Murray + +description: | + Multitouch transport processor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-mtp-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-mtp-coproc + - const: apple,mtp-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-pcie-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pcie-complex.yaml new file mode 100644 index 0000000000000..8474a68c4e135 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pcie-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-pcie-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 pcie root complex and its port register windows + +maintainers: + - Ryan Murray + +description: | + PCIe root complex and its port register windows on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-pcie-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-pcie-complex + - const: apple,pcie-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 26 + maxItems: 26 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 3 + maxItems: 3 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 8 + maxItems: 8 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-pcie-piodma.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pcie-piodma.yaml new file mode 100644 index 0000000000000..9f3ae97919c77 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pcie-piodma.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-pcie-piodma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 pcie programmed i/o dma engine + +maintainers: + - Ryan Murray + +description: | + PCIe programmed I/O DMA engine on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-pcie-piodma + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-pcie-piodma + - const: apple,pcie-piodma + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 3 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-pciec-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pciec-complex.yaml new file mode 100644 index 0000000000000..d82fb13ef496d --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pciec-complex.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-pciec-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 pcie tunnel controller + +maintainers: + - Ryan Murray + +description: | + PCIe tunnel controller on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-pciec-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-pciec-complex + - const: apple,pciec-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 8 + maxItems: 8 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 6 + maxItems: 6 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-pciec-piodma.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pciec-piodma.yaml new file mode 100644 index 0000000000000..cb015ec1a1e67 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pciec-piodma.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-pciec-piodma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 pcie tunnel programmed i/o dma engine + +maintainers: + - Ryan Murray + +description: | + PCIe tunnel programmed I/O DMA engine on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-pciec-piodma + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-pciec-piodma + - const: apple,pciec-piodma + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 4 + maxItems: 4 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-pmgr-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pmgr-complex.yaml new file mode 100644 index 0000000000000..3f3f86b59c55e --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pmgr-complex.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-pmgr-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 power management register complex + +maintainers: + - Ryan Murray + +description: | + Power management register complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-pmgr-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-pmgr-complex + - const: apple,pmgr-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 53 + maxItems: 53 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 2 + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-pmp-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pmp-coproc.yaml new file mode 100644 index 0000000000000..47232366e4c92 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pmp-coproc.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-pmp-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 power management processor + +maintainers: + - Ryan Murray + +description: | + Power management processor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-pmp-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-pmp-coproc + - const: apple,pmp-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 4 + maxItems: 4 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 2 + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-processor-trace.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-processor-trace.yaml new file mode 100644 index 0000000000000..7629e8ba4d6c0 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-processor-trace.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-processor-trace.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 cpu processor trace windows + +maintainers: + - Ryan Murray + +description: | + CPU processor trace windows on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-processor-trace + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-processor-trace + - const: apple,processor-trace + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 20 + maxItems: 20 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-prores-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-prores-complex.yaml new file mode 100644 index 0000000000000..ab6f70b8fad08 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-prores-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-prores-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 prores codec complex + +maintainers: + - Ryan Murray + +description: | + ProRes codec complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-prores-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-prores-complex + - const: apple,prores-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 5 + maxItems: 5 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 2 + maxItems: 2 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-ptd.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-ptd.yaml new file mode 100644 index 0000000000000..9b7bf7af0b8cc --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-ptd.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-ptd.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 always-on performance trace distributor + +maintainers: + - Ryan Murray + +description: | + Always-on performance trace distributor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-ptd + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-ptd + - const: apple,ptd + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 4 + maxItems: 4 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 32 + maxItems: 32 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-pwm-controller.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pwm-controller.yaml new file mode 100644 index 0000000000000..1f0a8b7ba79fb --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-pwm-controller.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-pwm-controller.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 fixed-frequency pwm controller + +maintainers: + - Ryan Murray + +description: | + Fixed-frequency PWM controller on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-pwm-controller + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-pwm-controller + - const: apple,pwm-controller + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-qspi-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-qspi-complex.yaml new file mode 100644 index 0000000000000..522980da28430 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-qspi-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-qspi-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 quad spi controller and pin interface + +maintainers: + - Ryan Murray + +description: | + Quad SPI controller and pin interface on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-qspi-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-qspi-complex + - const: apple,qspi-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-rsm.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-rsm.yaml new file mode 100644 index 0000000000000..67f23d6e1fadd --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-rsm.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-rsm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 runtime state manager + +maintainers: + - Ryan Murray + +description: | + Runtime state manager on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-rsm + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-rsm + - const: apple,rsm + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-sart-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-sart-complex.yaml new file mode 100644 index 0000000000000..57e979a7ba4bd --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-sart-complex.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-sart-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 storage physical address filter + +maintainers: + - Ryan Murray + +description: | + Storage physical address filter on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-sart-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-sart-complex + - const: apple,sart-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 3 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-scaler.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-scaler.yaml new file mode 100644 index 0000000000000..6d09325764ff0 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-scaler.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-scaler.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 image scaling accelerator + +maintainers: + - Ryan Murray + +description: | + Image scaling accelerator on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-scaler + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-scaler + - const: apple,scaler + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 10 + maxItems: 10 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 20 + maxItems: 20 + + iommus: + description: DMA translation streams used by this controller. + minItems: 2 + maxItems: 2 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-scdc-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-scdc-coproc.yaml new file mode 100644 index 0000000000000..a5e7dd1dfa427 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-scdc-coproc.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-scdc-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 camera processing coprocessor + +maintainers: + - Ryan Murray + +description: | + Camera processing coprocessor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-scdc-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-scdc-coproc + - const: apple,scdc-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 8 + maxItems: 8 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 5 + maxItems: 5 + + iommus: + description: DMA translation streams used by this controller. + minItems: 2 + maxItems: 2 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-secure-mailbox.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-secure-mailbox.yaml new file mode 100644 index 0000000000000..19c2c244758b6 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-secure-mailbox.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-secure-mailbox.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 secure processor mailbox proxy + +maintainers: + - Ryan Murray + +description: | + Secure processor mailbox proxy on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-secure-mailbox + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-secure-mailbox + - const: apple,secure-mailbox + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 2 + maxItems: 2 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-secure-repair.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-secure-repair.yaml new file mode 100644 index 0000000000000..387ea360dd837 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-secure-repair.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-secure-repair.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 secure repair mailbox + +maintainers: + - Ryan Murray + +description: | + Secure repair mailbox on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-secure-repair + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-secure-repair + - const: apple,secure-repair + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 7 + maxItems: 7 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-sep-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-sep-coproc.yaml new file mode 100644 index 0000000000000..99a5ed4db7070 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-sep-coproc.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-sep-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 secure enclave processor + +maintainers: + - Ryan Murray + +description: | + Secure enclave processor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-sep-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-sep-coproc + - const: apple,sep-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + + iommus: + description: DMA translation streams used by this controller. + minItems: 2 + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-sio-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-sio-coproc.yaml new file mode 100644 index 0000000000000..2360eaa83b973 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-sio-coproc.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-sio-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 system i/o coprocessor + +maintainers: + - Ryan Murray + +description: | + System I/O coprocessor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-sio-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-sio-coproc + - const: apple,sio-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-smc-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-smc-coproc.yaml new file mode 100644 index 0000000000000..e4a029ebd0eb3 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-smc-coproc.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-smc-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 system management coprocessor + +maintainers: + - Ryan Murray + +description: | + System management coprocessor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-smc-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-smc-coproc + - const: apple,smc-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 3 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-spi-controller.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-spi-controller.yaml new file mode 100644 index 0000000000000..662bb445149ca --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-spi-controller.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-spi-controller.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 spi controller + +maintainers: + - Ryan Murray + +description: | + SPI controller on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-spi-controller + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-spi-controller + - const: apple,spi-controller + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 1 + maxItems: 1 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 1 + maxItems: 1 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-spmi-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-spmi-complex.yaml new file mode 100644 index 0000000000000..31c293c7a98cb --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-spmi-complex.yaml @@ -0,0 +1,43 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-spmi-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 spmi controller register complex + +maintainers: + - Ryan Murray + +description: | + SPMI controller register complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-spmi-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-spmi-complex + - const: apple,spmi-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 3 + maxItems: 3 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-storage-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-storage-complex.yaml new file mode 100644 index 0000000000000..2a5df854fc1f4 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-storage-complex.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-storage-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 storage controller and coprocessor + +maintainers: + - Ryan Murray + +description: | + Storage controller and coprocessor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-storage-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-storage-complex + - const: apple,storage-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 10 + maxItems: 10 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 5 + maxItems: 5 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb-drd-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb-drd-complex.yaml new file mode 100644 index 0000000000000..8ca3cd9657e9c --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb-drd-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-usb-drd-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 usb dual-role controller complex + +maintainers: + - Ryan Murray + +description: | + USB dual-role controller complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-usb-drd-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-usb-drd-complex + - const: apple,usb-drd-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 10 + maxItems: 10 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 5 + maxItems: 5 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb4-coproc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb4-coproc.yaml new file mode 100644 index 0000000000000..a236298fa3e01 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb4-coproc.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-usb4-coproc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 usb4 management coprocessor + +maintainers: + - Ryan Murray + +description: | + USB4 management coprocessor on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-usb4-coproc + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-usb4-coproc + - const: apple,usb4-coproc + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 4 + maxItems: 4 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb4-router.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb4-router.yaml new file mode 100644 index 0000000000000..51ca1876f6903 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-usb4-router.yaml @@ -0,0 +1,58 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-usb4-router.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 usb4 router + +maintainers: + - Ryan Murray + +description: | + USB4 router on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-usb4-router + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-usb4-router + - const: apple,usb4-router + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 6 + maxItems: 6 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 24 + maxItems: 24 + + iommus: + description: DMA translation streams used by this controller. + minItems: 24 + maxItems: 24 + + power-domains: + description: Power and combined clock gates required by the controller. + minItems: 3 + maxItems: 3 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-video-decoder-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-video-decoder-complex.yaml new file mode 100644 index 0000000000000..0a95c3096cfac --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-video-decoder-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-video-decoder-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 video decoding accelerator complex + +maintainers: + - Ryan Murray + +description: | + Video decoding accelerator complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-video-decoder-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-video-decoder-complex + - const: apple,video-decoder-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 2 + maxItems: 2 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 2 + maxItems: 2 + + iommus: + description: DMA translation streams used by this controller. + minItems: 3 + maxItems: 3 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-video-encoder-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-video-encoder-complex.yaml new file mode 100644 index 0000000000000..18fdb2ceec092 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-video-encoder-complex.yaml @@ -0,0 +1,53 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-video-encoder-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 video encoding accelerator complex + +maintainers: + - Ryan Murray + +description: | + Video encoding accelerator complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-video-encoder-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-video-encoder-complex + - const: apple,video-encoder-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 5 + maxItems: 5 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 5 + maxItems: 5 + + iommus: + description: DMA translation streams used by this controller. + minItems: 1 + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-watchdog-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-watchdog-complex.yaml new file mode 100644 index 0000000000000..52d1e56f4421b --- /dev/null +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-watchdog-complex.yaml @@ -0,0 +1,48 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/soc/apple/apple,t8142-watchdog-complex.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple T8142 watchdog and reset register complex + +maintainers: + - Ryan Murray + +description: | + Watchdog and reset register complex on T8142. This describes the complete register complex, + including auxiliary control and status apertures shared with firmware. + It does not imply compatibility with an earlier generation's driver. + The node remains disabled until ownership of the register windows and + the firmware handoff have been established. Calibration, firmware and + programming sequences are supplied separately by the boot environment. + +select: + properties: + compatible: + contains: + const: apple,t8142-watchdog-complex + required: + - compatible + +properties: + compatible: + items: + - const: apple,t8142-watchdog-complex + - const: apple,watchdog-complex + + reg: + description: Controller register apertures, in hardware interface order. + minItems: 5 + maxItems: 5 + + interrupts: + description: Interrupt lines wired to the system interrupt controller. + minItems: 2 + maxItems: 2 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/arch/arm64/boot/dts/apple/Makefile b/arch/arm64/boot/dts/apple/Makefile index 52b15f4bdb8cb..059fe2b73db89 100644 --- a/arch/arm64/boot/dts/apple/Makefile +++ b/arch/arm64/boot/dts/apple/Makefile @@ -116,7 +116,10 @@ dtb-$(CONFIG_ARCH_APPLE) += t8132-j713.dtb dtb-$(CONFIG_ARCH_APPLE) += t8132-j715.dtb dtb-$(CONFIG_ARCH_APPLE) += t8132-j773g.dtb dtb-$(CONFIG_ARCH_APPLE) += t8140-j700.dtb -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) += t8142-j704.dtb +dtb-$(CONFIG_ARCH_APPLE) += t8142-j813.dtb +dtb-$(CONFIG_ARCH_APPLE) += t8142-j815.dtb diff --git a/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi new file mode 100644 index 0000000000000..650720cfb0337 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi @@ -0,0 +1,1284 @@ +#include "t8142-peripherals.dtsi" + +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Register and interrupt resources; ownership-sensitive blocks stay disabled. */ + +&{/soc} { + + hw_i2c0: i2c-controller@3a5010000 { + compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + reg = <0x3 0xa5010000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_85>; + status = "disabled"; + }; + + hw_i2c1: i2c-controller@3a5014000 { + compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + reg = <0x3 0xa5014000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_86>; + status = "disabled"; + }; + + hw_i2c3: i2c-controller@3a501c000 { + compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + reg = <0x3 0xa501c000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_88>; + status = "disabled"; + }; + + hw_i2c4: i2c-controller@3a5020000 { + compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + reg = <0x3 0xa5020000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_89>; + status = "disabled"; + }; + + hw_fpwm0: pwm-controller@3a5040000 { + compatible = "apple,t8142-pwm-controller", "apple,pwm-controller"; + reg = <0x3 0xa5040000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_82>; + status = "disabled"; + }; + + hw_dart_apcie2: dart-complex@48a000000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x8a000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apcie2_piodma: pcie-piodma@48a030000 { + compatible = "apple,t8142-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x8a030000 0x0 0x4000>, + <0x4 0x8a034000 0x0 0x4000>, + <0x4 0x8a038000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apcie2 17>; + status = "disabled"; + }; + + hw_nub_spmi_a1: spmi-complex@388a08000 { + compatible = "apple,t8142-spmi-complex", "apple,spmi-complex"; + reg = <0x3 0x88a08000 0x0 0x4000>, + <0x3 0x88a04000 0x0 0x4000>, + <0x3 0x88a00000 0x0 0x4000>; + status = "disabled"; + }; + + hw_apcie: pcie-complex@1cb0000000 { + compatible = "apple,t8142-pcie-complex", "apple,pcie-complex"; + reg = <0x1c 0xb0000000 0x0 0x10000000>, + <0x4 0x8c000000 0x0 0x4000>, + <0x4 0x8f000000 0x0 0x40000>, + <0x4 0x8f020000 0x0 0x4000>, + <0x4 0x8f040000 0x0 0x20000>, + <0x4 0x8e000000 0x0 0x1000000>, + <0x4 0x8d044000 0x0 0x4000>, + <0x4 0x8d980800 0x0 0x4000>, + <0x4 0x88028000 0x0 0x8000>, + <0x4 0x8803c000 0x0 0x4000>, + <0x4 0x8f010000 0x0 0x4000>, + <0x4 0x88024000 0x0 0x4000>, + <0x4 0x88048000 0x0 0x4000>, + <0x4 0x88044000 0x0 0x4000>, + <0x4 0x89028000 0x0 0x8000>, + <0x4 0x8903c000 0x0 0x4000>, + <0x4 0x8f014000 0x0 0x4000>, + <0x4 0x89024000 0x0 0x4000>, + <0x4 0x89048000 0x0 0x4000>, + <0x4 0x89044000 0x0 0x4000>, + <0x4 0x8a028000 0x0 0x8000>, + <0x4 0x8a03c000 0x0 0x4000>, + <0x4 0x8f018000 0x0 0x4000>, + <0x4 0x8a024000 0x0 0x4000>, + <0x4 0x8a048000 0x0 0x4000>, + <0x4 0x8a044000 0x0 0x4000>; + interrupts = , + , + ; + power-domains = <&hw_ps_76>, <&hw_ps_74>, <&hw_ps_109>, <&hw_ps_110>, <&hw_ps_144>, <&hw_ps_152>, <&hw_ps_155>, <&hw_ps_156>; + status = "disabled"; + }; + + hw_dart_apcie0: dart-complex@488000000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x88000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apcie0_piodma: pcie-piodma@488030000 { + compatible = "apple,t8142-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x88030000 0x0 0x4000>, + <0x4 0x88034000 0x0 0x4000>, + <0x4 0x88038000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apcie0 17>; + status = "disabled"; + }; + + hw_acio0: usb4-router@401f00000 { + compatible = "apple,t8142-usb4-router", "apple,usb4-router"; + reg = <0x4 0x1f00000 0x0 0x100000>, + <0x4 0x1ac0000 0x0 0x4000>, + <0x4 0x1ac4000 0x0 0x4000>, + <0x4 0x1ac8000 0x0 0x4000>, + <0x4 0x1e44000 0x0 0x4000>, + <0x4 0x1c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio0 0>, <&hw_dart_acio0 1>, <&hw_dart_acio0 2>, <&hw_dart_acio0 3>, <&hw_dart_acio0 4>, <&hw_dart_acio0 5>, <&hw_dart_acio0 6>, <&hw_dart_acio0 7>, <&hw_dart_acio0 8>, <&hw_dart_acio0 9>, <&hw_dart_acio0 10>, <&hw_dart_acio0 11>, <&hw_dart_acio0 16>, <&hw_dart_acio0 17>, <&hw_dart_acio0 18>, <&hw_dart_acio0 19>, <&hw_dart_acio0 20>, <&hw_dart_acio0 21>, <&hw_dart_acio0 22>, <&hw_dart_acio0 23>, <&hw_dart_acio0 24>, <&hw_dart_acio0 25>, <&hw_dart_acio0 26>, <&hw_dart_acio0 27>; + power-domains = <&hw_ps_102>, <&hw_ps_135>, <&hw_ps_136>; + status = "disabled"; + }; + + hw_acio1: usb4-router@409f00000 { + compatible = "apple,t8142-usb4-router", "apple,usb4-router"; + reg = <0x4 0x9f00000 0x0 0x100000>, + <0x4 0x9ac0000 0x0 0x4000>, + <0x4 0x9ac4000 0x0 0x4000>, + <0x4 0x9ac8000 0x0 0x4000>, + <0x4 0x9e44000 0x0 0x4000>, + <0x4 0x9c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio1 0>, <&hw_dart_acio1 1>, <&hw_dart_acio1 2>, <&hw_dart_acio1 3>, <&hw_dart_acio1 4>, <&hw_dart_acio1 5>, <&hw_dart_acio1 6>, <&hw_dart_acio1 7>, <&hw_dart_acio1 8>, <&hw_dart_acio1 9>, <&hw_dart_acio1 10>, <&hw_dart_acio1 11>, <&hw_dart_acio1 16>, <&hw_dart_acio1 17>, <&hw_dart_acio1 18>, <&hw_dart_acio1 19>, <&hw_dart_acio1 20>, <&hw_dart_acio1 21>, <&hw_dart_acio1 22>, <&hw_dart_acio1 23>, <&hw_dart_acio1 24>, <&hw_dart_acio1 25>, <&hw_dart_acio1 26>, <&hw_dart_acio1 27>; + power-domains = <&hw_ps_104>, <&hw_ps_137>, <&hw_ps_138>; + status = "disabled"; + }; + + hw_atc2_dpxbar: atc-dpxbar@41304c000 { + compatible = "apple,t8142-atc-dpxbar", "apple,atc-dpxbar"; + reg = <0x4 0x1304c000 0x0 0x4000>; + status = "disabled"; + }; + + hw_acio_cpu3: usb4-coproc@419108000 { + compatible = "apple,t8142-usb4-coproc", "apple,usb4-coproc"; + reg = <0x4 0x19108000 0x0 0x4000>, + <0x4 0x19100000 0x0 0x4000>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_apciec3: pciec-complex@1c80000000 { + compatible = "apple,t8142-pciec-complex", "apple,pciec-complex"; + reg = <0x1c 0x80000000 0x0 0x10000000>, + <0x4 0x1c034000 0x0 0x4000>, + <0x4 0x1c020000 0x0 0x8000>, + <0x4 0x1c038000 0x0 0x4000>, + <0x4 0x1c060000 0x0 0x4000>, + <0x4 0x18020000 0x0 0x4000>, + <0x4 0x1c02c000 0x0 0x4000>, + <0x4 0x1c028000 0x0 0x4000>; + interrupts = , + , + , + , + , + ; + status = "disabled"; + }; + + hw_dart_apciec3: dart-complex@41c000000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x1c000000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apciec3_piodma: pciec-piodma@41c068000 { + compatible = "apple,t8142-pciec-piodma", "apple,pciec-piodma"; + reg = <0x4 0x1c068000 0x0 0x4000>, + <0x4 0x1c06c000 0x0 0x4000>, + <0x4 0x1c070000 0x0 0x4000>, + <0x4 0x1c03c000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apciec3 254>; + status = "disabled"; + }; + + hw_acio3: usb4-router@419f00000 { + compatible = "apple,t8142-usb4-router", "apple,usb4-router"; + reg = <0x4 0x19f00000 0x0 0x100000>, + <0x4 0x19ac0000 0x0 0x4000>, + <0x4 0x19ac4000 0x0 0x4000>, + <0x4 0x19ac8000 0x0 0x4000>, + <0x4 0x19e44000 0x0 0x4000>, + <0x4 0x19c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio3 0>, <&hw_dart_acio3 1>, <&hw_dart_acio3 2>, <&hw_dart_acio3 3>, <&hw_dart_acio3 4>, <&hw_dart_acio3 5>, <&hw_dart_acio3 6>, <&hw_dart_acio3 7>, <&hw_dart_acio3 8>, <&hw_dart_acio3 9>, <&hw_dart_acio3 10>, <&hw_dart_acio3 11>, <&hw_dart_acio3 16>, <&hw_dart_acio3 17>, <&hw_dart_acio3 18>, <&hw_dart_acio3 19>, <&hw_dart_acio3 20>, <&hw_dart_acio3 21>, <&hw_dart_acio3 22>, <&hw_dart_acio3 23>, <&hw_dart_acio3 24>, <&hw_dart_acio3 25>, <&hw_dart_acio3 26>, <&hw_dart_acio3 27>; + power-domains = <&hw_ps_108>, <&hw_ps_141>, <&hw_ps_142>; + status = "disabled"; + }; + + hw_dart_acio3: dart-complex@419a80000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x19a80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_atc3_dpxbar: atc-dpxbar@41b04c000 { + compatible = "apple,t8142-atc-dpxbar", "apple,atc-dpxbar"; + reg = <0x4 0x1b04c000 0x0 0x4000>; + status = "disabled"; + }; + + hw_atc3_dpin0: dp-in@419e50000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x19e50000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_atc3_dpin1: dp-in@419e58000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x19e58000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_wdt: watchdog-complex@3882b0000 { + compatible = "apple,t8142-watchdog-complex", "apple,watchdog-complex"; + reg = <0x3 0x882b0000 0x0 0x4000>, + <0x3 0x882bc230 0x0 0x4>, + <0x3 0x882b8008 0x0 0x4>, + <0x3 0x882b802c 0x0 0x4>, + <0x3 0x882b8020 0x0 0x4>; + interrupts = , + ; + status = "disabled"; + }; + + hw_gpio0: gpio-bank@39a000000 { + compatible = "apple,t8142-gpio-bank", "apple,gpio-bank"; + reg = <0x3 0x9a000000 0x0 0x100000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_nub_gpio: gpio-bank@3881f0000 { + compatible = "apple,t8142-gpio-bank", "apple,gpio-bank"; + reg = <0x3 0x881f0000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_aop: aop-coproc@390600000 { + compatible = "apple,t8142-aop-coproc", "apple,aop-coproc"; + reg = <0x3 0x90600000 0x0 0x88000>, + <0x3 0x90050000 0x0 0x4000>, + <0x3 0x90c00000 0x0 0x1e0000>, + <0x3 0x882a8000 0x0 0x8>, + <0x3 0x9062c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_aop 0>; + status = "disabled"; + }; + + hw_dart_aop: dart-complex@390fc0000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x90fc0000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_aop_exclave_mailbox: secure-mailbox@5e067c000 { + compatible = "apple,t8142-secure-mailbox", "apple,secure-mailbox"; + reg = <0x5 0xe067c000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_aop 1>; + status = "disabled"; + }; + + hw_aop2: aop-coproc@391600000 { + compatible = "apple,t8142-aop-coproc", "apple,aop-coproc"; + reg = <0x3 0x91600000 0x0 0x88000>, + <0x3 0x91050000 0x0 0x4000>, + <0x3 0x9162c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_aop 16>; + status = "disabled"; + }; + + hw_pmgr: pmgr-complex@388280000 { + compatible = "apple,t8142-pmgr-complex", "apple,pmgr-complex"; + reg = <0x3 0x88280000 0x0 0x80000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x88200000 0x0 0x2c000>, + <0x3 0x88004000 0x0 0x1000>, + <0x2 0x10e20000 0x0 0x1268>, + <0x2 0x10f00000 0x0 0x40088>, + <0x2 0x10e40000 0x0 0xc020>, + <0x2 0x10e50000 0x0 0x9048>, + <0x2 0x10e70000 0x0 0xffe8>, + <0x2 0x10050000 0x0 0x9010>, + <0x2 0x10150000 0x0 0x9010>, + <0x2 0x10250000 0x0 0x9010>, + <0x2 0x10350000 0x0 0x9010>, + <0x2 0x10450000 0x0 0x9010>, + <0x2 0x10550000 0x0 0x9010>, + <0x2 0x11e20000 0x0 0x12e8>, + <0x2 0x11f00000 0x0 0x40088>, + <0x2 0x11e40000 0x0 0xc020>, + <0x2 0x11e50000 0x0 0x9048>, + <0x2 0x11e70000 0x0 0xffe8>, + <0x2 0x11050000 0x0 0x9018>, + <0x2 0x11150000 0x0 0x9018>, + <0x2 0x11250000 0x0 0x9018>, + <0x2 0x11350000 0x0 0x9018>, + <0x3 0x80280000 0x0 0x8000>, + <0x3 0x88700000 0x0 0x4000>, + <0x3 0x88100000 0x0 0xa8000>, + <0x4 0x2195c000 0x0 0x4000>, + <0x4 0x21960000 0x0 0x4000>, + <0x4 0x21974000 0x0 0x4000>, + <0x3 0x80208000 0x0 0x8000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80728000 0x0 0x4000>, + <0x3 0x80724000 0x0 0x4000>, + <0x3 0x80764000 0x0 0x4000>, + <0x3 0x80780000 0x0 0x4000>, + <0x3 0x80760000 0x0 0x4000>, + <0x3 0x882b8000 0x0 0x10000>, + <0x3 0x882c8000 0x0 0x4000>, + <0x3 0x882d0000 0x0 0x8000>, + <0x3 0x803c0000 0x0 0x20000>, + <0x3 0x80730000 0x0 0x14000>, + <0x2 0x11000000 0x0 0xff4000>, + <0x4 0x21954000 0x0 0x4000>, + <0x3 0x80768000 0x0 0x4000>, + <0x3 0x8002c000 0x0 0x4000>, + <0x3 0x82000000 0x0 0x1000000>, + <0x5 0x80e80000 0x0 0x30000>, + <0x5 0x80ec0000 0x0 0x4000>, + <0x5 0x80ec0000 0x0 0x8000>, + <0x5 0x80e30000 0x0 0x4000>, + <0x5 0x80e30000 0x0 0x8000>, + <0x2 0x10000000 0x0 0xff4000>; + interrupts = , + ; + status = "disabled"; + }; + + hw_event_log_handler: event-monitor@380700000 { + compatible = "apple,t8142-event-monitor", "apple,event-monitor"; + reg = <0x3 0x80700000 0x0 0xd0000>, + <0x3 0x88280000 0x0 0x80000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x88200000 0x0 0x2c000>, + <0x3 0x8028c000 0x0 0x4000>, + <0x3 0x80280000 0x0 0x8000>, + <0x4 0x21878000 0x0 0x4000>, + <0x4 0x21868000 0x0 0x8000>, + <0x3 0x80340000 0x0 0xc000>, + <0x3 0x80350000 0x0 0xc000>, + <0x3 0x80208000 0x0 0x4000>, + <0x3 0x80208400 0x0 0x4000>, + <0x3 0x8020a400 0x0 0x4000>, + <0x3 0x8020a600 0x0 0x4000>, + <0x3 0x8020a700 0x0 0x4000>, + <0x3 0x8020a800 0x0 0x4000>, + <0x3 0x8020aa00 0x0 0x4000>, + <0x3 0x8020ab00 0x0 0x4000>, + <0x3 0x8020ac00 0x0 0x4000>, + <0x3 0x8020ae00 0x0 0x4000>, + <0x3 0x8020af00 0x0 0x4000>, + <0x3 0x8020b000 0x0 0x4000>, + <0x3 0x8020b200 0x0 0x4000>, + <0x3 0x8020b300 0x0 0x4000>, + <0x3 0x8020b400 0x0 0x4000>, + <0x3 0x8020b600 0x0 0x4000>, + <0x3 0x8020b700 0x0 0x4000>, + <0x3 0x8020b800 0x0 0x4000>, + <0x3 0x8020ba00 0x0 0x4000>, + <0x3 0x8020bb00 0x0 0x4000>, + <0x3 0x8020bc00 0x0 0x4000>, + <0x3 0x8020be00 0x0 0x4000>, + <0x3 0x8020bf00 0x0 0x4000>, + <0x3 0x8020c000 0x0 0x4000>, + <0x3 0x8020c200 0x0 0x4000>, + <0x3 0x8020c300 0x0 0x4000>, + <0x3 0x8020c400 0x0 0x4000>, + <0x3 0x8020c600 0x0 0x4000>, + <0x3 0x8020c700 0x0 0x4000>, + <0x3 0x8020c800 0x0 0x4000>, + <0x3 0x8020ca00 0x0 0x4000>, + <0x3 0x8020cb00 0x0 0x4000>, + <0x3 0x8020cc00 0x0 0x4000>, + <0x3 0x8020ce00 0x0 0x4000>, + <0x3 0x8020d000 0x0 0x4000>, + <0x3 0x8020d200 0x0 0x4000>, + <0x3 0x8020d400 0x0 0x4000>, + <0x3 0x8020d600 0x0 0x4000>, + <0x3 0x8020d800 0x0 0x4000>, + <0x3 0x8020da00 0x0 0x4000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_pmp: pmp-coproc@380e00000 { + compatible = "apple,t8142-pmp-coproc", "apple,pmp-coproc"; + reg = <0x3 0x80e00000 0x0 0x88000>, + <0x3 0x80850000 0x0 0x4000>, + <0x3 0x80500000 0x0 0xd0000>, + <0x3 0x803d0000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_pmp 0>; + power-domains = <&hw_ps_159>, <&hw_ps_160>; + status = "disabled"; + }; + + hw_dart_pmp: dart-complex@380300000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x80300000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_ans: storage-complex@481600000 { + compatible = "apple,t8142-storage-complex", "apple,storage-complex"; + reg = <0x4 0x81600000 0x0 0x88000>, + <0x4 0x81050000 0x0 0x4000>, + <0x2 0x10000000 0x0 0x0>, + <0x4 0x85cc0000 0x0 0x60000>, + <0x4 0x83000000 0x0 0x1000000>, + <0x4 0x85b90000 0x0 0xc000>, + <0x4 0x85d47c00 0x0 0x4000>, + <0x2 0x10000000 0x0 0x0>, + <0x2 0x10000000 0x0 0x0>, + <0x4 0xc5cc0000 0x0 0x10000>; + interrupts = , + , + , + , + ; + status = "disabled"; + }; + + hw_sart_ans: sart-complex@485c50000 { + compatible = "apple,t8142-sart-complex", "apple,sart-complex"; + reg = <0x4 0x85c50000 0x0 0xc000>, + <0x4 0x85d44000 0x0 0x4000>, + <0x4 0x85cc0000 0x0 0x4000>; + status = "disabled"; + }; + + hw_smc: smc-coproc@38c600000 { + compatible = "apple,t8142-smc-coproc", "apple,smc-coproc"; + reg = <0x3 0x8c600000 0x0 0x88000>, + <0x3 0x8c050000 0x0 0x4000>, + <0x3 0x8c810000 0x0 0x100>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_dockchannel_mtp: dockchannel-complex@394b00000 { + compatible = "apple,t8142-dockchannel-complex", "apple,dockchannel-complex"; + reg = <0x3 0x94b00000 0x0 0x1000>, + <0x3 0x94b14000 0x0 0x1000>, + <0x3 0x94b30000 0x0 0x1000>, + <0x3 0x94b34000 0x0 0x1000>, + <0x3 0x94b28000 0x0 0x1000>, + <0x3 0x94b2c000 0x0 0x1000>; + interrupts = ; + status = "disabled"; + }; + + hw_mtp: mtp-coproc@394600000 { + compatible = "apple,t8142-mtp-coproc", "apple,mtp-coproc"; + reg = <0x3 0x94600000 0x0 0x88000>, + <0x3 0x94050000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_mtp 0>; + status = "disabled"; + }; + + hw_dart_mtp: dart-complex@394800000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x94800000 0x0 0xc000>, + <0x3 0x94810000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_qspi: qspi-complex@3a5118000 { + compatible = "apple,t8142-qspi-complex", "apple,qspi-complex"; + reg = <0x3 0xa5118000 0x0 0x4000>, + <0x3 0xa5118800 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_120>; + status = "disabled"; + }; + + hw_atc_phy2: atc-phy-complex@412a90000 { + compatible = "apple,t8142-atc-phy-complex", "apple,atc-phy-complex"; + reg = <0x4 0x12a90000 0x0 0x4000>, + <0x4 0x12800000 0x0 0x4000>, + <0x4 0x13000000 0x0 0x58000>, + <0x4 0x10000000 0x0 0x1000000>; + power-domains = <&hw_ps_71>; + status = "disabled"; + }; + + hw_atc_phy0: atc-phy-complex@402a90000 { + compatible = "apple,t8142-atc-phy-complex", "apple,atc-phy-complex"; + reg = <0x4 0x2a90000 0x0 0x4000>, + <0x4 0x2800000 0x0 0x4000>, + <0x4 0x3000000 0x0 0x58000>, + <0x4 0x0 0x0 0x1000000>; + power-domains = <&hw_ps_69>; + status = "disabled"; + }; + + hw_dart_usb0: dart-complex@402f00000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x2f00000 0x0 0xc000>, + <0x4 0x2f80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd0: usb-drd-complex@402280000 { + compatible = "apple,t8142-usb-drd-complex", "apple,usb-drd-complex"; + reg = <0x4 0x2280000 0x0 0x11800>, + <0x4 0x2200000 0x0 0x4000>, + <0x4 0x228c000 0x0 0x5800>, + <0x4 0x2a84000 0x0 0x4000>, + <0x4 0x2800000 0x0 0x4000>, + <0x4 0x2a80000 0x0 0x4000>, + <0x4 0x2080000 0x0 0x4000>, + <0x4 0x228d000 0x0 0x4000>, + <0x4 0x2980000 0x0 0x4000>, + <0x3 0x82740000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb0 1>; + status = "disabled"; + }; + + hw_atc_phy1: atc-phy-complex@40aa90000 { + compatible = "apple,t8142-atc-phy-complex", "apple,atc-phy-complex"; + reg = <0x4 0xaa90000 0x0 0x4000>, + <0x4 0xa800000 0x0 0x4000>, + <0x4 0xb000000 0x0 0x58000>, + <0x4 0x8000000 0x0 0x1000000>; + power-domains = <&hw_ps_70>; + status = "disabled"; + }; + + hw_dart_usb1: dart-complex@40af00000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0xaf00000 0x0 0xc000>, + <0x4 0xaf80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd1: usb-drd-complex@40a280000 { + compatible = "apple,t8142-usb-drd-complex", "apple,usb-drd-complex"; + reg = <0x4 0xa280000 0x0 0x11800>, + <0x4 0xa200000 0x0 0x4000>, + <0x4 0xa28c000 0x0 0x5800>, + <0x4 0xaa84000 0x0 0x4000>, + <0x4 0xa800000 0x0 0x4000>, + <0x4 0xaa80000 0x0 0x4000>, + <0x4 0xa080000 0x0 0x4000>, + <0x4 0xa28d000 0x0 0x4000>, + <0x4 0xa980000 0x0 0x4000>, + <0x3 0x82744000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb1 1>; + status = "disabled"; + }; + + hw_atc_phy3: atc-phy-complex@41aa90000 { + compatible = "apple,t8142-atc-phy-complex", "apple,atc-phy-complex"; + reg = <0x4 0x1aa90000 0x0 0x4000>, + <0x4 0x1a800000 0x0 0x4000>, + <0x4 0x1b000000 0x0 0x58000>, + <0x4 0x18000000 0x0 0x1000000>; + power-domains = <&hw_ps_72>; + status = "disabled"; + }; + + hw_dart_usb3: dart-complex@41af00000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x1af00000 0x0 0xc000>, + <0x4 0x1af80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd3: usb-drd-complex@41a280000 { + compatible = "apple,t8142-usb-drd-complex", "apple,usb-drd-complex"; + reg = <0x4 0x1a280000 0x0 0x11800>, + <0x4 0x1a200000 0x0 0x4000>, + <0x4 0x1a28c000 0x0 0x5800>, + <0x4 0x1aa84000 0x0 0x4000>, + <0x4 0x1a800000 0x0 0x4000>, + <0x4 0x1aa80000 0x0 0x4000>, + <0x4 0x1a080000 0x0 0x4000>, + <0x4 0x1a28d000 0x0 0x4000>, + <0x4 0x1a980000 0x0 0x4000>, + <0x3 0x8274c000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb3 1>; + status = "disabled"; + }; + + hw_nub_spmi0: spmi-complex@388714000 { + compatible = "apple,t8142-spmi-complex", "apple,spmi-complex"; + reg = <0x3 0x88714000 0x0 0x4000>, + <0x3 0x88704000 0x0 0x4000>, + <0x3 0x88700000 0x0 0x4000>; + status = "disabled"; + }; + + hw_nub_spmi_a0: spmi-complex@388908000 { + compatible = "apple,t8142-spmi-complex", "apple,spmi-complex"; + reg = <0x3 0x88908000 0x0 0x4000>, + <0x3 0x88904000 0x0 0x4000>, + <0x3 0x88900000 0x0 0x4000>; + status = "disabled"; + }; + + hw_disp0: display-engine@284000000 { + compatible = "apple,t8142-display-engine", "apple,display-engine"; + reg = <0x2 0x84000000 0x0 0xb1c000>, + <0x2 0x86240000 0x0 0x10000>, + <0x2 0x863ac000 0x0 0x4000>, + <0x2 0x86800000 0x0 0x800000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_disp0 0>, <&hw_dart_disp0 16>; + status = "disabled"; + }; + + hw_dcp: display-coproc@286e00000 { + compatible = "apple,t8142-display-coproc", "apple,display-coproc"; + reg = <0x2 0x86e00000 0x0 0x88000>, + <0x2 0x86850000 0x0 0x4000>, + <0x2 0x86e2c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_dcp 23>; + status = "disabled"; + }; + + hw_dart_dcp: dart-complex@286340000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x2 0x86340000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_disp0: dart-complex@286300000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x2 0x86300000 0x0 0xc000>, + <0x2 0x86314000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_avd: video-decoder-complex@500000000 { + compatible = "apple,t8142-video-decoder-complex", "apple,video-decoder-complex"; + reg = <0x5 0x0 0x0 0x1404000>, + <0x3 0x88078000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_avd 0>, <&hw_dart_avd 1>, <&hw_dart_avd 2>; + status = "disabled"; + }; + + hw_dart_avd: dart-complex@501020000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x5 0x1020000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_isp: isp-complex@4a0000000 { + compatible = "apple,t8142-isp-complex", "apple,isp-complex"; + reg = <0x4 0xa0000000 0x0 0x4000000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80724000 0x0 0x4000>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_isp 0>, <&hw_dart_isp 12>, <&hw_dart_isp 4>, <&hw_dart_isp 5>, <&hw_dart_isp 8>, <&hw_dart_isp 9>, <&hw_dart_isp 4>, <&hw_dart_isp 5>, <&hw_dart_isp 8>, <&hw_dart_isp 9>; + power-domains = <&hw_ps_30>, <&hw_ps_31>; + status = "disabled"; + }; + + hw_dart_isp: dart-complex@4a28c0000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0xa28c0000 0x0 0xc000>, + <0x4 0xa28e0000 0x0 0xc000>, + <0x4 0xa2900000 0x0 0xc000>, + <0x4 0xa28f4000 0x0 0x4000>, + <0x4 0xa2914000 0x0 0x4000>, + <0x4 0xa28d0000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_sgx: gpu-complex@580000000 { + compatible = "apple,t8142-gpu-complex", "apple,gpu-complex"; + reg = <0x5 0x80000000 0x0 0x4000000>, + <0x5 0x80d00000 0x0 0x180000>; + interrupts = , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_gfx_asc: gpu-coproc@582600000 { + compatible = "apple,t8142-gpu-coproc", "apple,gpu-coproc"; + reg = <0x5 0x82600000 0x0 0x88000>, + <0x5 0x82050000 0x0 0x8>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_gfx1_asc: gpu-coproc@582e00000 { + compatible = "apple,t8142-gpu-coproc", "apple,gpu-coproc"; + reg = <0x5 0x82e00000 0x0 0x88000>, + <0x5 0x82850000 0x0 0x8>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_admac_base_ns: admac-complex@393800000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x3 0x93800000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_aop 8>; + status = "disabled"; + }; + + hw_admac_leap_ns: admac-complex@393300000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x3 0x93300000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_aop 10>; + status = "disabled"; + }; + + hw_secure_repair: secure-repair@3881f0000 { + compatible = "apple,t8142-secure-repair", "apple,secure-repair"; + reg = <0x3 0x881f0000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + status = "disabled"; + }; + + +}; + +&{/soc} { + hw_pmgr_bank: power-management@380700000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <3 0x80700000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; +}; + +&hw_pmgr_bank { + hw_ps_30: power-controller@190 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x190 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ispsens0"; + status = "disabled"; + }; + hw_ps_31: power-controller@198 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x198 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ispsens1"; + status = "disabled"; + }; + hw_ps_32: power-controller@1a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl0"; + status = "disabled"; + }; + hw_ps_33: power-controller@1a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl1"; + status = "disabled"; + }; + hw_ps_69: power-controller@2c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2c8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-common"; + status = "disabled"; + }; + hw_ps_70: power-controller@2d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-common"; + status = "disabled"; + }; + hw_ps_71: power-controller@2d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc2-common"; + status = "disabled"; + }; + hw_ps_72: power-controller@2e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-common"; + status = "disabled"; + }; + hw_ps_74: power-controller@2f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-gp"; + status = "disabled"; + }; + hw_ps_76: power-controller@300 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x300 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ans"; + status = "disabled"; + }; + hw_ps_80: power-controller@320 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x320 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr-ase-core"; + status = "disabled"; + }; + hw_ps_82: power-controller@330 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x330 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "fpwm0"; + status = "disabled"; + }; + hw_ps_85: power-controller@348 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x348 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c0"; + status = "disabled"; + }; + hw_ps_86: power-controller@350 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x350 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c1"; + status = "disabled"; + }; + hw_ps_87: power-controller@358 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x358 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c2"; + status = "disabled"; + }; + hw_ps_88: power-controller@360 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x360 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c3"; + status = "disabled"; + }; + hw_ps_89: power-controller@368 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x368 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c4"; + status = "disabled"; + }; + hw_ps_96: power-controller@3a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "aes"; + status = "disabled"; + }; + hw_ps_100: power-controller@3c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec-streaming"; + status = "disabled"; + }; + hw_ps_102: power-controller@3d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio"; + status = "disabled"; + }; + hw_ps_104: power-controller@3e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio"; + status = "disabled"; + }; + hw_ps_108: power-controller@400 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x400 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-cio"; + status = "disabled"; + }; + hw_ps_109: power-controller@408 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x408 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-sys-gp"; + status = "disabled"; + }; + hw_ps_110: power-controller@410 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x410 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-st"; + status = "disabled"; + }; + hw_ps_116: power-controller@440 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x440 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi2"; + status = "disabled"; + }; + hw_ps_118: power-controller@450 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x450 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi4"; + status = "disabled"; + }; + hw_ps_120: power-controller@460 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x460 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "qspi"; + status = "disabled"; + }; + hw_ps_135: power-controller@4d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-pcie"; + status = "disabled"; + }; + hw_ps_136: power-controller@4e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-usb"; + status = "disabled"; + }; + hw_ps_137: power-controller@4e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-pcie"; + status = "disabled"; + }; + hw_ps_138: power-controller@4f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-usb"; + status = "disabled"; + }; + hw_ps_141: power-controller@508 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x508 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-cio-pcie"; + status = "disabled"; + }; + hw_ps_142: power-controller@510 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x510 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc3-cio-usb"; + status = "disabled"; + }; + hw_ps_144: power-controller@520 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x520 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-sys-st"; + status = "disabled"; + }; + hw_ps_152: power-controller@560 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x560 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-phy-sw"; + status = "disabled"; + }; + hw_ps_155: power-controller@578 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x578 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "st0-aus5-aon"; + status = "disabled"; + }; + hw_ps_156: power-controller@580 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x580 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "st0-aus5"; + status = "disabled"; + }; + hw_ps_159: power-controller@598 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x598 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "pmp"; + status = "disabled"; + }; + hw_ps_160: power-controller@5a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x5a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "pms-sram"; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j704.dts b/arch/arm64/boot/dts/apple/t8142-j704.dts new file mode 100644 index 0000000000000..84658366f13e8 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j704.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/dts-v1/; + +#include "t8142.dtsi" +#include "t8142-j704-peripherals.dtsi" + +/ { + model = "Apple MacBook Pro (14-inch, M5)"; + compatible = "apple,j704", "apple,t8142", "apple,arm-platform"; +}; + +&cpufreq_e { + status = "disabled"; +}; + +&cpufreq_p { + status = "disabled"; +}; + +&pmc { + status = "disabled"; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j813-unbound.dtsi b/arch/arm64/boot/dts/apple/t8142-j813-unbound.dtsi new file mode 100644 index 0000000000000..e3ac214e6ff41 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j813-unbound.dtsi @@ -0,0 +1,246 @@ +#include "t8142-peripherals.dtsi" + +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Register and interrupt resources; ownership-sensitive blocks stay disabled. */ + +&{/soc} { + + hw_apcie0_piodma: pcie-piodma@488030000 { + compatible = "apple,t8142-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x88030000 0x0 0x4000>, + <0x4 0x88034000 0x0 0x4000>, + <0x4 0x88038000 0x0 0x4000>; + interrupts = ; + iommus = <&dart_apcie0 17>; + status = "disabled"; + }; + + hw_acio0: usb4-router@401f00000 { + compatible = "apple,t8142-usb4-router", "apple,usb4-router"; + reg = <0x4 0x1f00000 0x0 0x100000>, + <0x4 0x1ac0000 0x0 0x4000>, + <0x4 0x1ac4000 0x0 0x4000>, + <0x4 0x1ac8000 0x0 0x4000>, + <0x4 0x1e44000 0x0 0x4000>, + <0x4 0x1c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + power-domains = <&hw_ps_102>, <&hw_ps_135>, <&hw_ps_136>; + status = "disabled"; + }; + + hw_acio1: usb4-router@409f00000 { + compatible = "apple,t8142-usb4-router", "apple,usb4-router"; + reg = <0x4 0x9f00000 0x0 0x100000>, + <0x4 0x9ac0000 0x0 0x4000>, + <0x4 0x9ac4000 0x0 0x4000>, + <0x4 0x9ac8000 0x0 0x4000>, + <0x4 0x9e44000 0x0 0x4000>, + <0x4 0x9c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + power-domains = <&hw_ps_104>, <&hw_ps_137>, <&hw_ps_138>; + status = "disabled"; + }; + + hw_aop_exclave_mailbox: secure-mailbox@5e067c000 { + compatible = "apple,t8142-secure-mailbox", "apple,secure-mailbox"; + reg = <0x5 0xe067c000 0x0 0x4000>; + interrupts = , + ; + iommus = <&aop_dart 1>; + status = "disabled"; + }; + + hw_aop2: aop-coproc@391600000 { + compatible = "apple,t8142-aop-coproc", "apple,aop-coproc"; + reg = <0x3 0x91600000 0x0 0x88000>, + <0x3 0x91050000 0x0 0x4000>, + <0x3 0x9162c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&aop_dart 16>; + status = "disabled"; + }; + + hw_avd: video-decoder-complex@500000000 { + compatible = "apple,t8142-video-decoder-complex", "apple,video-decoder-complex"; + reg = <0x5 0x0 0x0 0x1404000>, + <0x3 0x88078000 0x0 0x4000>; + interrupts = , + ; + status = "disabled"; + }; + + hw_admac_leap_ns: admac-complex@393300000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x3 0x93300000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&aop_dart 10>; + status = "disabled"; + }; + + +}; + +&pmgr { + hw_ps_32: power-controller@1a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl0"; + status = "disabled"; + }; + hw_ps_33: power-controller@1a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl1"; + status = "disabled"; + }; + hw_ps_80: power-controller@320 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x320 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr-ase-core"; + status = "disabled"; + }; + hw_ps_87: power-controller@358 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x358 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c2"; + status = "disabled"; + }; + hw_ps_96: power-controller@3a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "aes"; + status = "disabled"; + }; + hw_ps_100: power-controller@3c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec-streaming"; + status = "disabled"; + }; + hw_ps_102: power-controller@3d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio"; + status = "disabled"; + }; + hw_ps_104: power-controller@3e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio"; + status = "disabled"; + }; + hw_ps_116: power-controller@440 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x440 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi2"; + status = "disabled"; + }; + hw_ps_118: power-controller@450 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x450 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi4"; + status = "disabled"; + }; + hw_ps_135: power-controller@4d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-pcie"; + status = "disabled"; + }; + hw_ps_136: power-controller@4e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-usb"; + status = "disabled"; + }; + hw_ps_137: power-controller@4e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-pcie"; + status = "disabled"; + }; + hw_ps_138: power-controller@4f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-usb"; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j813.dts b/arch/arm64/boot/dts/apple/t8142-j813.dts index dd1526e6caad1..9c6426702264f 100644 --- a/arch/arm64/boot/dts/apple/t8142-j813.dts +++ b/arch/arm64/boot/dts/apple/t8142-j813.dts @@ -1,396 +1,11 @@ // SPDX-License-Identifier: GPL-2.0+ OR MIT -/* - * Apple MacBook Air (13-inch, M5, 2026), J813. - * - * Initial RAM boot resources measured from the J813 Apple Device Tree. - * The loader supplies usable memory, CPU release addresses and framebuffer - * geometry. Peripheral power management is left with the boot firmware. - */ /dts-v1/; -#include -#include +#include "t8142.dtsi" / { - compatible = "apple,j813", "apple,t8142", "apple,arm-platform"; model = "Apple MacBook Air (13-inch, M5, 2026)"; - chassis-type = "laptop"; - - #address-cells = <2>; - #size-cells = <2>; - interrupt-parent = <&aic>; - - aliases { - serial0 = &dockchannel; - serial1 = &serial0; - }; - - chosen { - #address-cells = <2>; - #size-cells = <2>; - ranges; - - stdout-path = "serial0:1500000n8"; - - framebuffer0: framebuffer@0 { - compatible = "apple,simple-framebuffer", "simple-framebuffer"; - reg = <0 0 0 0>; /* Filled by the loader. */ - status = "disabled"; - }; - }; - - reserved-memory { - #address-cells = <2>; - #size-cells = <2>; - ranges; - /* Filled by the loader. */ - }; - - memory@10000000000 { - device_type = "memory"; - reg = <0x100 0 0x4 0>; /* Filled by the loader. */ - }; - - cpus { - #address-cells = <2>; - #size-cells = <0>; - - cpu0: cpu@0 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x0>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu1: cpu@1 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x1>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu2: cpu@2 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x2>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu3: cpu@3 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x3>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu4: cpu@4 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x4>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu5: cpu@5 { - compatible = "apple,t8142-e"; - device_type = "cpu"; - reg = <0 0x5>; - operating-points-v2 = <&ecluster_opp>; - performance-domains = <&cpufreq_e>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu6: cpu@10100 { - compatible = "apple,t8142-p"; - device_type = "cpu"; - reg = <0 0x10100>; - operating-points-v2 = <&pcluster_opp>; - performance-domains = <&cpufreq_p>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu7: cpu@10101 { - compatible = "apple,t8142-p"; - device_type = "cpu"; - reg = <0 0x10101>; - operating-points-v2 = <&pcluster_opp>; - performance-domains = <&cpufreq_p>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu8: cpu@10102 { - compatible = "apple,t8142-p"; - device_type = "cpu"; - reg = <0 0x10102>; - operating-points-v2 = <&pcluster_opp>; - performance-domains = <&cpufreq_p>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - - cpu9: cpu@10103 { - compatible = "apple,t8142-p"; - device_type = "cpu"; - reg = <0 0x10103>; - operating-points-v2 = <&pcluster_opp>; - performance-domains = <&cpufreq_p>; - enable-method = "spin-table"; - cpu-release-addr = <0 0>; /* Filled by the loader. */ - }; - }; - - timer { - compatible = "arm,armv8-timer"; - interrupts = , - , - , - ; - interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; - }; - - /* State 1 is 300 MHz; firmware SRAM OPP tables begin at state 2. */ - /* Cap each cluster at its measured J813 firmware handoff state. */ - ecluster_opp: opp-table-0 { - compatible = "operating-points-v2"; - opp-shared; - - opp-300000000 { - opp-hz = /bits/ 64 <300000000>; - opp-level = <1>; - }; - - opp-972000000 { - opp-hz = /bits/ 64 <972000000>; - opp-level = <2>; - }; - - opp-1152000000 { - opp-hz = /bits/ 64 <1152000000>; - opp-level = <3>; - }; - - opp-1584000000 { - opp-hz = /bits/ 64 <1584000000>; - opp-level = <4>; - }; - - opp-1992000000 { - opp-hz = /bits/ 64 <1992000000>; - opp-level = <5>; - }; - - opp-2352000000 { - opp-hz = /bits/ 64 <2352000000>; - opp-level = <6>; - }; - - opp-2700000000 { - opp-hz = /bits/ 64 <2700000000>; - opp-level = <7>; - }; - - opp-2964000000 { - opp-hz = /bits/ 64 <2964000000>; - opp-level = <8>; - }; - }; - - pcluster_opp: opp-table-1 { - compatible = "operating-points-v2"; - opp-shared; - - opp-300000000 { - opp-hz = /bits/ 64 <300000000>; - opp-level = <1>; - }; - - opp-1308000000 { - opp-hz = /bits/ 64 <1308000000>; - opp-level = <2>; - }; - - opp-1608000000 { - opp-hz = /bits/ 64 <1608000000>; - opp-level = <3>; - }; - - opp-1932000000 { - opp-hz = /bits/ 64 <1932000000>; - opp-level = <4>; - }; - - opp-2220000000 { - opp-hz = /bits/ 64 <2220000000>; - opp-level = <5>; - }; - - opp-2508000000 { - opp-hz = /bits/ 64 <2508000000>; - opp-level = <6>; - }; - - opp-2820000000 { - opp-hz = /bits/ 64 <2820000000>; - opp-level = <7>; - }; - - opp-3072000000 { - opp-hz = /bits/ 64 <3072000000>; - opp-level = <8>; - }; - - opp-3300000000 { - opp-hz = /bits/ 64 <3300000000>; - opp-level = <9>; - }; - - opp-3516000000 { - opp-hz = /bits/ 64 <3516000000>; - opp-level = <10>; - }; - - /* ADT levels 11-20, measured on J813 (level 19, 4416 MHz, is below - * level 18 and left out). The SoC throttles them when hot. */ - opp-3720000000 { - opp-hz = /bits/ 64 <3720000000>; - opp-level = <11>; - }; - - opp-3876000000 { - opp-hz = /bits/ 64 <3876000000>; - opp-level = <12>; - }; - - opp-4020000000 { - opp-hz = /bits/ 64 <4020000000>; - opp-level = <13>; - }; - - opp-4176000000 { - opp-hz = /bits/ 64 <4176000000>; - opp-level = <14>; - }; - - opp-4248000000 { - opp-hz = /bits/ 64 <4248000000>; - opp-level = <15>; - }; - - opp-4272000000 { - opp-hz = /bits/ 64 <4272000000>; - opp-level = <16>; - }; - - opp-4332000000 { - opp-hz = /bits/ 64 <4332000000>; - opp-level = <17>; - }; - - opp-4428000000 { - opp-hz = /bits/ 64 <4428000000>; - opp-level = <18>; - }; - - opp-4464000000 { - opp-hz = /bits/ 64 <4464000000>; - opp-level = <20>; - }; - }; - - clkref: clock-ref { - compatible = "fixed-clock"; - #clock-cells = <0>; - clock-frequency = <24000000>; - }; - - soc { - compatible = "simple-bus"; - #address-cells = <2>; - #size-cells = <2>; - ranges; - nonposted-mmio; - - cpufreq_e: performance-controller@210e20000 { - compatible = "apple,t8142-cluster-cpufreq"; - reg = <0x2 0x10e20000 0 0x1000>; - #performance-domain-cells = <0>; - }; - - cpufreq_p: performance-controller@211e20000 { - compatible = "apple,t8142-cluster-cpufreq"; - reg = <0x2 0x11e20000 0 0x1000>; - #performance-domain-cells = <0>; - }; - - /* - * PMC voter interface (AppleT8142PMC, ADT pmc-pmgr 31 + 0x700000): - * floors at 0x382700000 + agent * 0x4000, per-agent states at - * +0x106000, rail enables at +0x108000. Agents (ADT voter-agent): - * PMP 0, CLPC 1, GFX 2, AP 3. iBoot leaves every enable at 0, so - * no vote is honoured and DRAM and fabric stay at their lowest - * states (CPU DRAM latency 171 ns instead of 70 ns). - */ - pmc: power-management@382700000 { - compatible = "apple,t8142-pmc"; - reg = <0x3 0x82700000 0x0 0x10000>, - <0x3 0x82806000 0x0 0x3000>; - reg-names = "voters", "rails"; - #address-cells = <1>; - #size-cells = <0>; - /* PMP, CLPC and AP agents */ - apple,static-voters = <0 1 3>; - - clpc: performance-controller@1 { - compatible = "apple,t8142-clpc"; - reg = <1>; - }; - }; - - aic: interrupt-controller@381000000 { - compatible = "apple,t8142-aic3", "apple,t8122-aic3"; - interrupt-controller; - #interrupt-cells = <3>; - reg = <3 0x81000000 0 0x1cc000>, - <3 0x81040000 0 0x4000>; - reg-names = "core", "event"; - }; - - serial0: serial@3a5200000 { - compatible = "apple,s5l-uart"; - reg = <3 0xa5200000 0 0x4000>; - reg-io-width = <4>; - interrupts = ; - clocks = <&clkref>, <&clkref>; - clock-names = "uart", "clk_uart_baud0"; - status = "disabled"; - }; - - dockchannel: serial@38812c000 { - compatible = "apple,dockchannel-uart"; - reg = <3 0x8812c000 0 0x4000>, - <3 0x88128000 0 0x4000>, - <3 0x8810c000 0 0x1000>; - reg-names = "data", "config", "irq"; - interrupts = ; - }; - }; + compatible = "apple,j813", "apple,t8142", "apple,arm-platform"; }; #include "t8142-j813-display.dtsi" @@ -404,3 +19,5 @@ #include "t8142-j813-n1.dtsi" #include "t8142-j813-power.dtsi" #include "t8142-j813-audio.dtsi" + +#include "t8142-j813-unbound.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi new file mode 100644 index 0000000000000..09a673b3f9592 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi @@ -0,0 +1,1016 @@ +#include "t8142-peripherals.dtsi" + +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Register and interrupt resources; ownership-sensitive blocks stay disabled. */ + +&{/soc} { + + hw_i2c1: i2c-controller@3a5014000 { + compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + reg = <0x3 0xa5014000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_86>; + status = "disabled"; + }; + + hw_i2c3: i2c-controller@3a501c000 { + compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + reg = <0x3 0xa501c000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_88>; + status = "disabled"; + }; + + hw_fpwm0: pwm-controller@3a5040000 { + compatible = "apple,t8142-pwm-controller", "apple,pwm-controller"; + reg = <0x3 0xa5040000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_82>; + status = "disabled"; + }; + + hw_apcie: pcie-complex@1cb0000000 { + compatible = "apple,t8142-pcie-complex", "apple,pcie-complex"; + reg = <0x1c 0xb0000000 0x0 0x10000000>, + <0x4 0x8c000000 0x0 0x4000>, + <0x4 0x8f000000 0x0 0x40000>, + <0x4 0x8f020000 0x0 0x4000>, + <0x4 0x8f040000 0x0 0x20000>, + <0x4 0x8e000000 0x0 0x1000000>, + <0x4 0x8d044000 0x0 0x4000>, + <0x4 0x8d980800 0x0 0x4000>, + <0x4 0x88028000 0x0 0x8000>, + <0x4 0x8803c000 0x0 0x4000>, + <0x4 0x8f010000 0x0 0x4000>, + <0x4 0x88024000 0x0 0x4000>, + <0x4 0x88048000 0x0 0x4000>, + <0x4 0x88044000 0x0 0x4000>, + <0x4 0x89028000 0x0 0x8000>, + <0x4 0x8903c000 0x0 0x4000>, + <0x4 0x8f014000 0x0 0x4000>, + <0x4 0x89024000 0x0 0x4000>, + <0x4 0x89048000 0x0 0x4000>, + <0x4 0x89044000 0x0 0x4000>, + <0x4 0x8a028000 0x0 0x8000>, + <0x4 0x8a03c000 0x0 0x4000>, + <0x4 0x8f018000 0x0 0x4000>, + <0x4 0x8a024000 0x0 0x4000>, + <0x4 0x8a048000 0x0 0x4000>, + <0x4 0x8a044000 0x0 0x4000>; + interrupts = , + , + ; + power-domains = <&hw_ps_76>, <&hw_ps_74>, <&hw_ps_109>, <&hw_ps_110>, <&hw_ps_144>, <&hw_ps_152>, <&hw_ps_155>, <&hw_ps_156>; + status = "disabled"; + }; + + hw_dart_apcie0: dart-complex@488000000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x88000000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apcie0_piodma: pcie-piodma@488030000 { + compatible = "apple,t8142-pcie-piodma", "apple,pcie-piodma"; + reg = <0x4 0x88030000 0x0 0x4000>, + <0x4 0x88034000 0x0 0x4000>, + <0x4 0x88038000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apcie0 17>; + status = "disabled"; + }; + + hw_acio0: usb4-router@401f00000 { + compatible = "apple,t8142-usb4-router", "apple,usb4-router"; + reg = <0x4 0x1f00000 0x0 0x100000>, + <0x4 0x1ac0000 0x0 0x4000>, + <0x4 0x1ac4000 0x0 0x4000>, + <0x4 0x1ac8000 0x0 0x4000>, + <0x4 0x1e44000 0x0 0x4000>, + <0x4 0x1c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio0 0>, <&hw_dart_acio0 1>, <&hw_dart_acio0 2>, <&hw_dart_acio0 3>, <&hw_dart_acio0 4>, <&hw_dart_acio0 5>, <&hw_dart_acio0 6>, <&hw_dart_acio0 7>, <&hw_dart_acio0 8>, <&hw_dart_acio0 9>, <&hw_dart_acio0 10>, <&hw_dart_acio0 11>, <&hw_dart_acio0 16>, <&hw_dart_acio0 17>, <&hw_dart_acio0 18>, <&hw_dart_acio0 19>, <&hw_dart_acio0 20>, <&hw_dart_acio0 21>, <&hw_dart_acio0 22>, <&hw_dart_acio0 23>, <&hw_dart_acio0 24>, <&hw_dart_acio0 25>, <&hw_dart_acio0 26>, <&hw_dart_acio0 27>; + power-domains = <&hw_ps_102>, <&hw_ps_135>, <&hw_ps_136>; + status = "disabled"; + }; + + hw_acio1: usb4-router@409f00000 { + compatible = "apple,t8142-usb4-router", "apple,usb4-router"; + reg = <0x4 0x9f00000 0x0 0x100000>, + <0x4 0x9ac0000 0x0 0x4000>, + <0x4 0x9ac4000 0x0 0x4000>, + <0x4 0x9ac8000 0x0 0x4000>, + <0x4 0x9e44000 0x0 0x4000>, + <0x4 0x9c80000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_acio1 0>, <&hw_dart_acio1 1>, <&hw_dart_acio1 2>, <&hw_dart_acio1 3>, <&hw_dart_acio1 4>, <&hw_dart_acio1 5>, <&hw_dart_acio1 6>, <&hw_dart_acio1 7>, <&hw_dart_acio1 8>, <&hw_dart_acio1 9>, <&hw_dart_acio1 10>, <&hw_dart_acio1 11>, <&hw_dart_acio1 16>, <&hw_dart_acio1 17>, <&hw_dart_acio1 18>, <&hw_dart_acio1 19>, <&hw_dart_acio1 20>, <&hw_dart_acio1 21>, <&hw_dart_acio1 22>, <&hw_dart_acio1 23>, <&hw_dart_acio1 24>, <&hw_dart_acio1 25>, <&hw_dart_acio1 26>, <&hw_dart_acio1 27>; + power-domains = <&hw_ps_104>, <&hw_ps_137>, <&hw_ps_138>; + status = "disabled"; + }; + + hw_wdt: watchdog-complex@3882b0000 { + compatible = "apple,t8142-watchdog-complex", "apple,watchdog-complex"; + reg = <0x3 0x882b0000 0x0 0x4000>, + <0x3 0x882bc230 0x0 0x4>, + <0x3 0x882b8008 0x0 0x4>, + <0x3 0x882b802c 0x0 0x4>, + <0x3 0x882b8020 0x0 0x4>; + interrupts = , + ; + status = "disabled"; + }; + + hw_gpio0: gpio-bank@39a000000 { + compatible = "apple,t8142-gpio-bank", "apple,gpio-bank"; + reg = <0x3 0x9a000000 0x0 0x100000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_nub_gpio: gpio-bank@3881f0000 { + compatible = "apple,t8142-gpio-bank", "apple,gpio-bank"; + reg = <0x3 0x881f0000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_aop: aop-coproc@390600000 { + compatible = "apple,t8142-aop-coproc", "apple,aop-coproc"; + reg = <0x3 0x90600000 0x0 0x88000>, + <0x3 0x90050000 0x0 0x4000>, + <0x3 0x90c00000 0x0 0x1e0000>, + <0x3 0x882a8000 0x0 0x8>, + <0x3 0x9062c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_aop 0>; + status = "disabled"; + }; + + hw_dart_aop: dart-complex@390fc0000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x90fc0000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_aop_exclave_mailbox: secure-mailbox@5e067c000 { + compatible = "apple,t8142-secure-mailbox", "apple,secure-mailbox"; + reg = <0x5 0xe067c000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_aop 1>; + status = "disabled"; + }; + + hw_aop2: aop-coproc@391600000 { + compatible = "apple,t8142-aop-coproc", "apple,aop-coproc"; + reg = <0x3 0x91600000 0x0 0x88000>, + <0x3 0x91050000 0x0 0x4000>, + <0x3 0x9162c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_aop 16>; + status = "disabled"; + }; + + hw_pmgr: pmgr-complex@388280000 { + compatible = "apple,t8142-pmgr-complex", "apple,pmgr-complex"; + reg = <0x3 0x88280000 0x0 0x80000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x88200000 0x0 0x2c000>, + <0x3 0x88004000 0x0 0x1000>, + <0x2 0x10e20000 0x0 0x1268>, + <0x2 0x10f00000 0x0 0x40088>, + <0x2 0x10e40000 0x0 0xc020>, + <0x2 0x10e50000 0x0 0x9048>, + <0x2 0x10e70000 0x0 0xffe8>, + <0x2 0x10050000 0x0 0x9010>, + <0x2 0x10150000 0x0 0x9010>, + <0x2 0x10250000 0x0 0x9010>, + <0x2 0x10350000 0x0 0x9010>, + <0x2 0x10450000 0x0 0x9010>, + <0x2 0x10550000 0x0 0x9010>, + <0x2 0x11e20000 0x0 0x12e8>, + <0x2 0x11f00000 0x0 0x40088>, + <0x2 0x11e40000 0x0 0xc020>, + <0x2 0x11e50000 0x0 0x9048>, + <0x2 0x11e70000 0x0 0xffe8>, + <0x2 0x11050000 0x0 0x9018>, + <0x2 0x11150000 0x0 0x9018>, + <0x2 0x11250000 0x0 0x9018>, + <0x2 0x11350000 0x0 0x9018>, + <0x3 0x80280000 0x0 0x8000>, + <0x3 0x88700000 0x0 0x4000>, + <0x3 0x88100000 0x0 0xa8000>, + <0x4 0x2195c000 0x0 0x4000>, + <0x4 0x21960000 0x0 0x4000>, + <0x4 0x21974000 0x0 0x4000>, + <0x3 0x80208000 0x0 0x8000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80728000 0x0 0x4000>, + <0x3 0x80724000 0x0 0x4000>, + <0x3 0x80764000 0x0 0x4000>, + <0x3 0x80780000 0x0 0x4000>, + <0x3 0x80760000 0x0 0x4000>, + <0x3 0x882b8000 0x0 0x10000>, + <0x3 0x882c8000 0x0 0x4000>, + <0x3 0x882d0000 0x0 0x8000>, + <0x3 0x803c0000 0x0 0x20000>, + <0x3 0x80730000 0x0 0x14000>, + <0x2 0x11000000 0x0 0xff4000>, + <0x4 0x21954000 0x0 0x4000>, + <0x3 0x80768000 0x0 0x4000>, + <0x3 0x8002c000 0x0 0x4000>, + <0x3 0x82000000 0x0 0x1000000>, + <0x5 0x80e80000 0x0 0x30000>, + <0x5 0x80ec0000 0x0 0x4000>, + <0x5 0x80ec0000 0x0 0x8000>, + <0x5 0x80e30000 0x0 0x4000>, + <0x5 0x80e30000 0x0 0x8000>, + <0x2 0x10000000 0x0 0xff4000>; + interrupts = , + ; + status = "disabled"; + }; + + hw_event_log_handler: event-monitor@380700000 { + compatible = "apple,t8142-event-monitor", "apple,event-monitor"; + reg = <0x3 0x80700000 0x0 0xd0000>, + <0x3 0x88280000 0x0 0x80000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x88200000 0x0 0x2c000>, + <0x3 0x8028c000 0x0 0x4000>, + <0x3 0x80280000 0x0 0x8000>, + <0x4 0x21878000 0x0 0x4000>, + <0x4 0x21868000 0x0 0x8000>, + <0x3 0x80340000 0x0 0xc000>, + <0x3 0x80350000 0x0 0xc000>, + <0x3 0x80208000 0x0 0x4000>, + <0x3 0x80208400 0x0 0x4000>, + <0x3 0x8020a400 0x0 0x4000>, + <0x3 0x8020a600 0x0 0x4000>, + <0x3 0x8020a700 0x0 0x4000>, + <0x3 0x8020a800 0x0 0x4000>, + <0x3 0x8020aa00 0x0 0x4000>, + <0x3 0x8020ab00 0x0 0x4000>, + <0x3 0x8020ac00 0x0 0x4000>, + <0x3 0x8020ae00 0x0 0x4000>, + <0x3 0x8020af00 0x0 0x4000>, + <0x3 0x8020b000 0x0 0x4000>, + <0x3 0x8020b200 0x0 0x4000>, + <0x3 0x8020b300 0x0 0x4000>, + <0x3 0x8020b400 0x0 0x4000>, + <0x3 0x8020b600 0x0 0x4000>, + <0x3 0x8020b700 0x0 0x4000>, + <0x3 0x8020b800 0x0 0x4000>, + <0x3 0x8020ba00 0x0 0x4000>, + <0x3 0x8020bb00 0x0 0x4000>, + <0x3 0x8020bc00 0x0 0x4000>, + <0x3 0x8020be00 0x0 0x4000>, + <0x3 0x8020bf00 0x0 0x4000>, + <0x3 0x8020c000 0x0 0x4000>, + <0x3 0x8020c200 0x0 0x4000>, + <0x3 0x8020c300 0x0 0x4000>, + <0x3 0x8020c400 0x0 0x4000>, + <0x3 0x8020c600 0x0 0x4000>, + <0x3 0x8020c700 0x0 0x4000>, + <0x3 0x8020c800 0x0 0x4000>, + <0x3 0x8020ca00 0x0 0x4000>, + <0x3 0x8020cb00 0x0 0x4000>, + <0x3 0x8020cc00 0x0 0x4000>, + <0x3 0x8020ce00 0x0 0x4000>, + <0x3 0x8020d000 0x0 0x4000>, + <0x3 0x8020d200 0x0 0x4000>, + <0x3 0x8020d400 0x0 0x4000>, + <0x3 0x8020d600 0x0 0x4000>, + <0x3 0x8020d800 0x0 0x4000>, + <0x3 0x8020da00 0x0 0x4000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_pmp: pmp-coproc@380e00000 { + compatible = "apple,t8142-pmp-coproc", "apple,pmp-coproc"; + reg = <0x3 0x80e00000 0x0 0x88000>, + <0x3 0x80850000 0x0 0x4000>, + <0x3 0x80500000 0x0 0xd0000>, + <0x3 0x803d0000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_pmp 0>; + power-domains = <&hw_ps_159>, <&hw_ps_160>; + status = "disabled"; + }; + + hw_dart_pmp: dart-complex@380300000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x80300000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_ans: storage-complex@481600000 { + compatible = "apple,t8142-storage-complex", "apple,storage-complex"; + reg = <0x4 0x81600000 0x0 0x88000>, + <0x4 0x81050000 0x0 0x4000>, + <0x2 0x10000000 0x0 0x0>, + <0x4 0x85cc0000 0x0 0x60000>, + <0x4 0x83000000 0x0 0x1000000>, + <0x4 0x85b90000 0x0 0xc000>, + <0x4 0x85d47c00 0x0 0x4000>, + <0x2 0x10000000 0x0 0x0>, + <0x2 0x10000000 0x0 0x0>, + <0x4 0xc5cc0000 0x0 0x10000>; + interrupts = , + , + , + , + ; + status = "disabled"; + }; + + hw_sart_ans: sart-complex@485c50000 { + compatible = "apple,t8142-sart-complex", "apple,sart-complex"; + reg = <0x4 0x85c50000 0x0 0xc000>, + <0x4 0x85d44000 0x0 0x4000>, + <0x4 0x85cc0000 0x0 0x4000>; + status = "disabled"; + }; + + hw_smc: smc-coproc@38c600000 { + compatible = "apple,t8142-smc-coproc", "apple,smc-coproc"; + reg = <0x3 0x8c600000 0x0 0x88000>, + <0x3 0x8c050000 0x0 0x4000>, + <0x3 0x8c810000 0x0 0x100>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_dockchannel_mtp: dockchannel-complex@394b00000 { + compatible = "apple,t8142-dockchannel-complex", "apple,dockchannel-complex"; + reg = <0x3 0x94b00000 0x0 0x1000>, + <0x3 0x94b14000 0x0 0x1000>, + <0x3 0x94b30000 0x0 0x1000>, + <0x3 0x94b34000 0x0 0x1000>, + <0x3 0x94b28000 0x0 0x1000>, + <0x3 0x94b2c000 0x0 0x1000>; + interrupts = ; + status = "disabled"; + }; + + hw_mtp: mtp-coproc@394600000 { + compatible = "apple,t8142-mtp-coproc", "apple,mtp-coproc"; + reg = <0x3 0x94600000 0x0 0x88000>, + <0x3 0x94050000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_mtp 0>; + status = "disabled"; + }; + + hw_dart_mtp: dart-complex@394800000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x94800000 0x0 0xc000>, + <0x3 0x94810000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_qspi: qspi-complex@3a5118000 { + compatible = "apple,t8142-qspi-complex", "apple,qspi-complex"; + reg = <0x3 0xa5118000 0x0 0x4000>, + <0x3 0xa5118800 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_120>; + status = "disabled"; + }; + + hw_atc_phy0: atc-phy-complex@402a90000 { + compatible = "apple,t8142-atc-phy-complex", "apple,atc-phy-complex"; + reg = <0x4 0x2a90000 0x0 0x4000>, + <0x4 0x2800000 0x0 0x4000>, + <0x4 0x3000000 0x0 0x58000>, + <0x4 0x0 0x0 0x1000000>; + power-domains = <&hw_ps_69>; + status = "disabled"; + }; + + hw_dart_usb0: dart-complex@402f00000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x2f00000 0x0 0xc000>, + <0x4 0x2f80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd0: usb-drd-complex@402280000 { + compatible = "apple,t8142-usb-drd-complex", "apple,usb-drd-complex"; + reg = <0x4 0x2280000 0x0 0x11800>, + <0x4 0x2200000 0x0 0x4000>, + <0x4 0x228c000 0x0 0x5800>, + <0x4 0x2a84000 0x0 0x4000>, + <0x4 0x2800000 0x0 0x4000>, + <0x4 0x2a80000 0x0 0x4000>, + <0x4 0x2080000 0x0 0x4000>, + <0x4 0x228d000 0x0 0x4000>, + <0x4 0x2980000 0x0 0x4000>, + <0x3 0x82740000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb0 1>; + status = "disabled"; + }; + + hw_atc_phy1: atc-phy-complex@40aa90000 { + compatible = "apple,t8142-atc-phy-complex", "apple,atc-phy-complex"; + reg = <0x4 0xaa90000 0x0 0x4000>, + <0x4 0xa800000 0x0 0x4000>, + <0x4 0xb000000 0x0 0x58000>, + <0x4 0x8000000 0x0 0x1000000>; + power-domains = <&hw_ps_70>; + status = "disabled"; + }; + + hw_dart_usb1: dart-complex@40af00000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0xaf00000 0x0 0xc000>, + <0x4 0xaf80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_usb_drd1: usb-drd-complex@40a280000 { + compatible = "apple,t8142-usb-drd-complex", "apple,usb-drd-complex"; + reg = <0x4 0xa280000 0x0 0x11800>, + <0x4 0xa200000 0x0 0x4000>, + <0x4 0xa28c000 0x0 0x5800>, + <0x4 0xaa84000 0x0 0x4000>, + <0x4 0xa800000 0x0 0x4000>, + <0x4 0xaa80000 0x0 0x4000>, + <0x4 0xa080000 0x0 0x4000>, + <0x4 0xa28d000 0x0 0x4000>, + <0x4 0xa980000 0x0 0x4000>, + <0x3 0x82744000 0x0 0x8>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_usb1 1>; + status = "disabled"; + }; + + hw_nub_spmi0: spmi-complex@388714000 { + compatible = "apple,t8142-spmi-complex", "apple,spmi-complex"; + reg = <0x3 0x88714000 0x0 0x4000>, + <0x3 0x88704000 0x0 0x4000>, + <0x3 0x88700000 0x0 0x4000>; + status = "disabled"; + }; + + hw_nub_spmi_a0: spmi-complex@388908000 { + compatible = "apple,t8142-spmi-complex", "apple,spmi-complex"; + reg = <0x3 0x88908000 0x0 0x4000>, + <0x3 0x88904000 0x0 0x4000>, + <0x3 0x88900000 0x0 0x4000>; + status = "disabled"; + }; + + hw_disp0: display-engine@284000000 { + compatible = "apple,t8142-display-engine", "apple,display-engine"; + reg = <0x2 0x84000000 0x0 0xb1c000>, + <0x2 0x86240000 0x0 0x10000>, + <0x2 0x863ac000 0x0 0x4000>, + <0x2 0x86800000 0x0 0x800000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_disp0 0>, <&hw_dart_disp0 16>; + status = "disabled"; + }; + + hw_dcp: display-coproc@286e00000 { + compatible = "apple,t8142-display-coproc", "apple,display-coproc"; + reg = <0x2 0x86e00000 0x0 0x88000>, + <0x2 0x86850000 0x0 0x4000>, + <0x2 0x86e2c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_dcp 23>; + status = "disabled"; + }; + + hw_dart_dcp: dart-complex@286340000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x2 0x86340000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_disp0: dart-complex@286300000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x2 0x86300000 0x0 0xc000>, + <0x2 0x86314000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_avd: video-decoder-complex@500000000 { + compatible = "apple,t8142-video-decoder-complex", "apple,video-decoder-complex"; + reg = <0x5 0x0 0x0 0x1404000>, + <0x3 0x88078000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_avd 0>, <&hw_dart_avd 1>, <&hw_dart_avd 2>; + status = "disabled"; + }; + + hw_dart_avd: dart-complex@501020000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x5 0x1020000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_isp: isp-complex@4a0000000 { + compatible = "apple,t8142-isp-complex", "apple,isp-complex"; + reg = <0x4 0xa0000000 0x0 0x4000000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80724000 0x0 0x4000>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_isp 0>, <&hw_dart_isp 12>, <&hw_dart_isp 4>, <&hw_dart_isp 5>, <&hw_dart_isp 8>, <&hw_dart_isp 9>, <&hw_dart_isp 4>, <&hw_dart_isp 5>, <&hw_dart_isp 8>, <&hw_dart_isp 9>; + power-domains = <&hw_ps_30>, <&hw_ps_31>; + status = "disabled"; + }; + + hw_dart_isp: dart-complex@4a28c0000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0xa28c0000 0x0 0xc000>, + <0x4 0xa28e0000 0x0 0xc000>, + <0x4 0xa2900000 0x0 0xc000>, + <0x4 0xa28f4000 0x0 0x4000>, + <0x4 0xa2914000 0x0 0x4000>, + <0x4 0xa28d0000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_sgx: gpu-complex@580000000 { + compatible = "apple,t8142-gpu-complex", "apple,gpu-complex"; + reg = <0x5 0x80000000 0x0 0x4000000>, + <0x5 0x80d00000 0x0 0x180000>; + interrupts = , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_gfx_asc: gpu-coproc@582600000 { + compatible = "apple,t8142-gpu-coproc", "apple,gpu-coproc"; + reg = <0x5 0x82600000 0x0 0x88000>, + <0x5 0x82050000 0x0 0x8>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_gfx1_asc: gpu-coproc@582e00000 { + compatible = "apple,t8142-gpu-coproc", "apple,gpu-coproc"; + reg = <0x5 0x82e00000 0x0 0x88000>, + <0x5 0x82850000 0x0 0x8>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_admac_base_ns: admac-complex@393800000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x3 0x93800000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_aop 8>; + status = "disabled"; + }; + + hw_admac_leap_ns: admac-complex@393300000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x3 0x93300000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_aop 10>; + status = "disabled"; + }; + + hw_secure_repair: secure-repair@3881f0000 { + compatible = "apple,t8142-secure-repair", "apple,secure-repair"; + reg = <0x3 0x881f0000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + status = "disabled"; + }; + + +}; + +&{/soc} { + hw_pmgr_bank: power-management@380700000 { + compatible = "apple,t8142-pmgr", "apple,t8103-pmgr", "syscon", "simple-mfd"; + reg = <3 0x80700000 0 0x4000>; + #address-cells = <1>; + #size-cells = <1>; + status = "disabled"; + }; +}; + +&hw_pmgr_bank { + hw_ps_30: power-controller@190 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x190 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ispsens0"; + status = "disabled"; + }; + hw_ps_31: power-controller@198 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x198 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ispsens1"; + status = "disabled"; + }; + hw_ps_32: power-controller@1a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl0"; + status = "disabled"; + }; + hw_ps_33: power-controller@1a8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x1a8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "global-aux-ctrl1"; + status = "disabled"; + }; + hw_ps_69: power-controller@2c8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2c8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-common"; + status = "disabled"; + }; + hw_ps_70: power-controller@2d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-common"; + status = "disabled"; + }; + hw_ps_74: power-controller@2f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x2f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-gp"; + status = "disabled"; + }; + hw_ps_76: power-controller@300 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x300 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "ans"; + status = "disabled"; + }; + hw_ps_80: power-controller@320 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x320 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "msr-ase-core"; + status = "disabled"; + }; + hw_ps_82: power-controller@330 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x330 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "fpwm0"; + status = "disabled"; + }; + hw_ps_86: power-controller@350 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x350 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c1"; + status = "disabled"; + }; + hw_ps_87: power-controller@358 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x358 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c2"; + status = "disabled"; + }; + hw_ps_88: power-controller@360 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x360 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "i2c3"; + status = "disabled"; + }; + hw_ps_96: power-controller@3a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "aes"; + status = "disabled"; + }; + hw_ps_100: power-controller@3c0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3c0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "scodec-streaming"; + status = "disabled"; + }; + hw_ps_102: power-controller@3d0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3d0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio"; + status = "disabled"; + }; + hw_ps_104: power-controller@3e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x3e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio"; + status = "disabled"; + }; + hw_ps_109: power-controller@408 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x408 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-sys-gp"; + status = "disabled"; + }; + hw_ps_110: power-controller@410 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x410 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-st"; + status = "disabled"; + }; + hw_ps_116: power-controller@440 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x440 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi2"; + status = "disabled"; + }; + hw_ps_118: power-controller@450 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x450 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "spi4"; + status = "disabled"; + }; + hw_ps_120: power-controller@460 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x460 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "qspi"; + status = "disabled"; + }; + hw_ps_135: power-controller@4d8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4d8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-pcie"; + status = "disabled"; + }; + hw_ps_136: power-controller@4e0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc0-cio-usb"; + status = "disabled"; + }; + hw_ps_137: power-controller@4e8 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4e8 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-pcie"; + status = "disabled"; + }; + hw_ps_138: power-controller@4f0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x4f0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "atc1-cio-usb"; + status = "disabled"; + }; + hw_ps_144: power-controller@520 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x520 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-sys-st"; + status = "disabled"; + }; + hw_ps_152: power-controller@560 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x560 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "apcie-phy-sw"; + status = "disabled"; + }; + hw_ps_155: power-controller@578 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x578 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "st0-aus5-aon"; + status = "disabled"; + }; + hw_ps_156: power-controller@580 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x580 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "st0-aus5"; + status = "disabled"; + }; + hw_ps_159: power-controller@598 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x598 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "pmp"; + status = "disabled"; + }; + hw_ps_160: power-controller@5a0 { + compatible = "apple,t8142-pmgr-pwrstate", "apple,t8103-pmgr-pwrstate"; + reg = <0x5a0 4>; + #power-domain-cells = <0>; + #reset-cells = <0>; + label = "pms-sram"; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j815.dts b/arch/arm64/boot/dts/apple/t8142-j815.dts new file mode 100644 index 0000000000000..88e40247fa8a7 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j815.dts @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/dts-v1/; + +#include "t8142.dtsi" +#include "t8142-j815-peripherals.dtsi" + +/ { + model = "Apple MacBook Air (15-inch, M5)"; + compatible = "apple,j815", "apple,t8142", "apple,arm-platform"; +}; + +&cpufreq_e { + status = "disabled"; +}; + +&cpufreq_p { + status = "disabled"; +}; + +&pmc { + status = "disabled"; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi new file mode 100644 index 0000000000000..095b2e3cc92a9 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi @@ -0,0 +1,903 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Shared disabled peripheral resources. */ + +&{/soc} { + hw_spi2: spi-controller@3a5108000 { + compatible = "apple,t8142-spi-controller", "apple,spi-controller"; + reg = <0x3 0xa5108000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_116>; + status = "disabled"; + }; + + hw_spi4: spi-controller@3a5110000 { + compatible = "apple,t8142-spi-controller", "apple,spi-controller"; + reg = <0x3 0xa5110000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_118>; + status = "disabled"; + }; + + hw_aop_spmi0: spmi-complex@390914000 { + compatible = "apple,t8142-spmi-complex", "apple,spmi-complex"; + reg = <0x3 0x90914000 0x0 0x4000>, + <0x3 0x90904000 0x0 0x4000>, + <0x3 0x90900000 0x0 0x4000>; + status = "disabled"; + }; + + hw_acio_cpu0: usb4-coproc@401108000 { + compatible = "apple,t8142-usb4-coproc", "apple,usb4-coproc"; + reg = <0x4 0x1108000 0x0 0x4000>, + <0x4 0x1100000 0x0 0x4000>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_apciec0: pciec-complex@1c50000000 { + compatible = "apple,t8142-pciec-complex", "apple,pciec-complex"; + reg = <0x1c 0x50000000 0x0 0x10000000>, + <0x4 0x4034000 0x0 0x4000>, + <0x4 0x4020000 0x0 0x8000>, + <0x4 0x4038000 0x0 0x4000>, + <0x4 0x4060000 0x0 0x4000>, + <0x4 0x20000 0x0 0x4000>, + <0x4 0x402c000 0x0 0x4000>, + <0x4 0x4028000 0x0 0x4000>; + interrupts = , + , + , + , + , + ; + status = "disabled"; + }; + + hw_dart_apciec0: dart-complex@404000000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x4000000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apciec0_piodma: pciec-piodma@404068000 { + compatible = "apple,t8142-pciec-piodma", "apple,pciec-piodma"; + reg = <0x4 0x4068000 0x0 0x4000>, + <0x4 0x406c000 0x0 0x4000>, + <0x4 0x4070000 0x0 0x4000>, + <0x4 0x403c000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apciec0 254>; + status = "disabled"; + }; + + hw_dart_acio0: dart-complex@401a80000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x1a80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_atc0_dpxbar: atc-dpxbar@40304c000 { + compatible = "apple,t8142-atc-dpxbar", "apple,atc-dpxbar"; + reg = <0x4 0x304c000 0x0 0x4000>; + status = "disabled"; + }; + + hw_atc0_dpin0: dp-in@401e50000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x1e50000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_atc0_dpin1: dp-in@401e58000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x1e58000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_acio_cpu1: usb4-coproc@409108000 { + compatible = "apple,t8142-usb4-coproc", "apple,usb4-coproc"; + reg = <0x4 0x9108000 0x0 0x4000>, + <0x4 0x9100000 0x0 0x4000>; + interrupts = , + , + , + ; + status = "disabled"; + }; + + hw_apciec1: pciec-complex@1c60000000 { + compatible = "apple,t8142-pciec-complex", "apple,pciec-complex"; + reg = <0x1c 0x60000000 0x0 0x10000000>, + <0x4 0xc034000 0x0 0x4000>, + <0x4 0xc020000 0x0 0x8000>, + <0x4 0xc038000 0x0 0x4000>, + <0x4 0xc060000 0x0 0x4000>, + <0x4 0x8020000 0x0 0x4000>, + <0x4 0xc02c000 0x0 0x4000>, + <0x4 0xc028000 0x0 0x4000>; + interrupts = , + , + , + , + , + ; + status = "disabled"; + }; + + hw_dart_apciec1: dart-complex@40c000000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0xc000000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apciec1_piodma: pciec-piodma@40c068000 { + compatible = "apple,t8142-pciec-piodma", "apple,pciec-piodma"; + reg = <0x4 0xc068000 0x0 0x4000>, + <0x4 0xc06c000 0x0 0x4000>, + <0x4 0xc070000 0x0 0x4000>, + <0x4 0xc03c000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_apciec1 254>; + status = "disabled"; + }; + + hw_dart_acio1: dart-complex@409a80000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x9a80000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_atc1_dpxbar: atc-dpxbar@40b04c000 { + compatible = "apple,t8142-atc-dpxbar", "apple,atc-dpxbar"; + reg = <0x4 0xb04c000 0x0 0x4000>; + status = "disabled"; + }; + + hw_atc1_dpin0: dp-in@409e50000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x9e50000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_atc1_dpin1: dp-in@409e58000 { + compatible = "apple,t8142-dp-in", "apple,dp-in"; + reg = <0x4 0x9e58000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_mcc: mcc-complex@380780000 { + compatible = "apple,t8142-mcc-complex", "apple,mcc-complex"; + reg = <0x3 0x80780000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x140000>, + <0x2 0x4f010000 0x0 0x8000>, + <0x2 0x50010000 0x0 0x8000>, + <0x2 0x51010000 0x0 0x8000>, + <0x2 0x52010000 0x0 0x8000>, + <0x2 0x53010000 0x0 0x8000>, + <0x2 0x54010000 0x0 0x8000>, + <0x3 0x803c0000 0x0 0x4000>, + <0x3 0x803d0000 0x0 0x4000>, + <0x2 0x21000000 0x0 0x10000>, + <0x2 0x21200000 0x0 0x10000>, + <0x2 0x21400000 0x0 0x10000>, + <0x2 0x21600000 0x0 0x10000>, + <0x2 0x21800000 0x0 0x10000>, + <0x2 0x21a00000 0x0 0x10000>, + <0x2 0x21c00000 0x0 0x10000>, + <0x2 0x21e00000 0x0 0x10000>; + status = "disabled"; + }; + + hw_aic_timebase: aic-timebase@591180000 { + compatible = "apple,t8142-aic-timebase", "apple,aic-timebase"; + reg = <0x5 0x91180000 0x0 0x1000>; + status = "disabled"; + }; + + hw_error_handler: error-monitor@308d00000 { + compatible = "apple,t8142-error-monitor", "apple,error-monitor"; + reg = <0x3 0x8d00000 0x0 0x40000>, + <0x3 0x8900000 0x0 0x8000>, + <0x3 0x80000000 0x0 0x3c000>, + <0x3 0x80728000 0x0 0x4000>, + <0x3 0x80768000 0x0 0x4000>, + <0x3 0x882c8000 0x0 0x4000>, + <0x3 0x82000000 0x0 0x1000000>, + <0x3 0x803d0000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x140000>, + <0x2 0x21000000 0x0 0x3c000>, + <0x2 0x21200000 0x0 0x3c000>, + <0x2 0x21400000 0x0 0x3c000>, + <0x2 0x21600000 0x0 0x3c000>, + <0x2 0x21800000 0x0 0x3c000>, + <0x2 0x21a00000 0x0 0x3c000>, + <0x2 0x21c00000 0x0 0x3c000>, + <0x2 0x21e00000 0x0 0x3c000>, + <0x2 0x4f000000 0x0 0x8000>, + <0x2 0x50000000 0x0 0x8000>, + <0x2 0x51000000 0x0 0x8000>, + <0x2 0x52000000 0x0 0x8000>, + <0x2 0x53000000 0x0 0x8000>, + <0x2 0x54000000 0x0 0x8000>, + <0x2 0x55000000 0x0 0x8000>, + <0x2 0x56000000 0x0 0x8000>, + <0x2 0x5f000000 0x0 0x8000>, + <0x2 0x6f000000 0x0 0x8000>, + <0x2 0x57000000 0x0 0x1000000>, + <0x2 0x58000000 0x0 0x1000000>, + <0x2 0x59000000 0x0 0x1000000>, + <0x3 0x80770000 0x0 0x4000>, + <0x3 0x80771000 0x0 0x4000>, + <0x2 0x5b000000 0x0 0x24000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_aes: aes@3a500c000 { + compatible = "apple,t8142-aes", "apple,aes"; + reg = <0x3 0xa500c000 0x0 0x4000>, + <0x3 0x882dc000 0x0 0x8000>, + <0x3 0x88078000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_sio 1>; + power-domains = <&hw_ps_96>; + status = "disabled"; + }; + + hw_aop_gpio: gpio-bank@390824000 { + compatible = "apple,t8142-gpio-bank", "apple,gpio-bank"; + reg = <0x3 0x90824000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_smc_gpio: gpio-bank@38c820000 { + compatible = "apple,t8142-gpio-bank", "apple,gpio-bank"; + reg = <0x3 0x8c820000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + ; + #address-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + status = "disabled"; + }; + + hw_sep: sep-coproc@30a600000 { + compatible = "apple,t8142-sep-coproc", "apple,sep-coproc"; + reg = <0x3 0xa600000 0x0 0x88000>, + <0x3 0xa050000 0x0 0x60000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_sep 0>, <&hw_dart_sep 1>; + status = "disabled"; + }; + + hw_dart_sep: dart-complex@308b80000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x8b80000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_esm: exclave-sep-manager@55a67c000 { + compatible = "apple,t8142-exclave-sep-manager", "apple,exclave-sep-manager"; + reg = <0x5 0x5a67c000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_sep 2>; + status = "disabled"; + }; + + hw_sio: sio-coproc@3a5e00000 { + compatible = "apple,t8142-sio-coproc", "apple,sio-coproc"; + reg = <0x3 0xa5e00000 0x0 0x88000>, + <0x3 0xa5850000 0x0 0x4000>; + interrupts = , + , + , + ; + iommus = <&hw_dart_sio 0>; + status = "disabled"; + }; + + hw_dart_sio: dart-complex@3a5060000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0xa5060000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_aon_ptd: ptd@38c840000 { + compatible = "apple,t8142-ptd", "apple,ptd"; + reg = <0x3 0x8c840000 0x0 0x4000>, + <0x3 0x8c850000 0x0 0x4000>, + <0x3 0x8c858000 0x0 0x4000>, + <0x3 0x8c860000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + hw_rsm: rsm@389825000 { + compatible = "apple,t8142-rsm", "apple,rsm"; + reg = <0x3 0x89825000 0x0 0x4000>, + <0x3 0x898c0000 0x0 0x4>; + interrupts = ; + iommus = <&hw_dart_rsm 0>; + status = "disabled"; + }; + + hw_dart_rsm: dart-complex@3899a0000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x899a0000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_i2c2: i2c-controller@3a5018000 { + compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + reg = <0x3 0xa5018000 0x0 0x4000>; + interrupts = ; + power-domains = <&hw_ps_87>; + status = "disabled"; + }; + + hw_nub_spmi1: spmi-complex@388614000 { + compatible = "apple,t8142-spmi-complex", "apple,spmi-complex"; + reg = <0x3 0x88614000 0x0 0x4000>, + <0x3 0x88604000 0x0 0x4000>, + <0x3 0x88600000 0x0 0x4000>; + status = "disabled"; + }; + + hw_dcp0_expert: display-expert@2863ac050 { + compatible = "apple,t8142-display-expert", "apple,display-expert"; + reg = <0x2 0x863ac050 0x0 0x4>, + <0x2 0x86370000 0x0 0x40>, + <0x2 0x86374000 0x0 0x40>, + <0x2 0x8639c000 0x0 0x40>, + <0x2 0x863a0000 0x0 0x40>, + <0x2 0x86388000 0x0 0x40>, + <0x2 0x8638c000 0x0 0x40>, + <0x2 0x86394000 0x0 0x40>, + <0x2 0x86398000 0x0 0x40>, + <0x2 0x87000000 0x0 0x8000>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_disp0_isoc: dart-complex@286180000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x2 0x86180000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_disp0: admac-complex@286140000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x2 0x86140000 0x0 0x24000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_disp0_isoc 30>; + status = "disabled"; + }; + + hw_admac_disp0_ced_ssw: admac-control@2862f4000 { + compatible = "apple,t8142-admac-control", "apple,admac-control"; + reg = <0x2 0x862f4000 0x0 0x4000>, + <0x2 0x861a0000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_dispext0: display-engine@504000000 { + compatible = "apple,t8142-display-engine", "apple,display-engine"; + reg = <0x5 0x4000000 0x0 0xb1c000>, + <0x5 0x6240000 0x0 0x10000>, + <0x5 0x63ac000 0x0 0x4000>, + <0x5 0x6800000 0x0 0x800000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + ; + iommus = <&hw_dart_dispext0 0>, <&hw_dart_dispext0 16>; + status = "disabled"; + }; + + hw_dcpext0_expert: display-expert@5063ac050 { + compatible = "apple,t8142-display-expert", "apple,display-expert"; + reg = <0x5 0x63ac050 0x0 0x4>, + <0x5 0x6370000 0x0 0x40>, + <0x5 0x6374000 0x0 0x40>; + interrupts = ; + status = "disabled"; + }; + + hw_dcpext0: display-coproc@506e00000 { + compatible = "apple,t8142-display-coproc", "apple,display-coproc"; + reg = <0x5 0x6e00000 0x0 0x88000>, + <0x5 0x6850000 0x0 0x4000>, + <0x5 0x6e2c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_dcpext0 23>; + status = "disabled"; + }; + + hw_dart_dcpext0: dart-complex@506340000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x5 0x6340000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_dispext0: dart-complex@506300000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x5 0x6300000 0x0 0xc000>, + <0x5 0x6314000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_dispext0_isoc: dart-complex@506180000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x5 0x6180000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_dispext0: admac-complex@506140000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x5 0x6140000 0x0 0x24000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_dispext0_isoc 30>; + status = "disabled"; + }; + + hw_admac_dispext0_ced_ssw: admac-control@5062f4000 { + compatible = "apple,t8142-admac-control", "apple,admac-control"; + reg = <0x5 0x62f4000 0x0 0x4000>, + <0x5 0x61a0000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_dispext1: display-engine@3a8000000 { + compatible = "apple,t8142-display-engine", "apple,display-engine"; + reg = <0x3 0xa8000000 0x0 0xb1c000>, + <0x3 0xaa240000 0x0 0x10000>, + <0x3 0xaa3ac000 0x0 0x4000>, + <0x3 0xaa800000 0x0 0x800000>, + <0x3 0x82700000 0x0 0x114000>; + interrupts = , + , + , + , + , + , + ; + iommus = <&hw_dart_dispext1 0>, <&hw_dart_dispext1 16>; + status = "disabled"; + }; + + hw_dcpext1_expert: display-expert@3aa3ac050 { + compatible = "apple,t8142-display-expert", "apple,display-expert"; + reg = <0x3 0xaa3ac050 0x0 0x4>, + <0x3 0xaa370000 0x0 0x40>, + <0x3 0xaa374000 0x0 0x40>; + interrupts = ; + status = "disabled"; + }; + + hw_dcpext1: display-coproc@3aae00000 { + compatible = "apple,t8142-display-coproc", "apple,display-coproc"; + reg = <0x3 0xaae00000 0x0 0x88000>, + <0x3 0xaa850000 0x0 0x4000>, + <0x3 0xaae2c000 0x0 0x3c008>; + interrupts = , + , + , + ; + iommus = <&hw_dart_dcpext1 23>; + status = "disabled"; + }; + + hw_dart_dcpext1: dart-complex@3aa340000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0xaa340000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_dispext1: dart-complex@3aa300000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0xaa300000 0x0 0xc000>, + <0x3 0xaa314000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_dart_dispext1_isoc: dart-complex@3aa180000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0xaa180000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_dispext1: admac-complex@3aa140000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x3 0xaa140000 0x0 0x24000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + iommus = <&hw_dart_dispext1_isoc 30>; + status = "disabled"; + }; + + hw_admac_dispext1_ced_ssw: admac-control@3aa2f4000 { + compatible = "apple,t8142-admac-control", "apple,admac-control"; + reg = <0x3 0xaa2f4000 0x0 0x4000>, + <0x3 0xaa1a0000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_dptx0_aux: dptx-aux@39a760000 { + compatible = "apple,t8142-dptx-aux", "apple,dptx-aux"; + reg = <0x3 0x9a760000 0x0 0x4000>, + <0x3 0x9a760000 0x0 0x4000>; + power-domains = <&hw_ps_32>; + status = "disabled"; + }; + + hw_dptx1_aux: dptx-aux@39a764000 { + compatible = "apple,t8142-dptx-aux", "apple,dptx-aux"; + reg = <0x3 0x9a764000 0x0 0x4000>, + <0x3 0x9a764000 0x0 0x4000>; + power-domains = <&hw_ps_33>; + status = "disabled"; + }; + + hw_scaler0: scaler@305000000 { + compatible = "apple,t8142-scaler", "apple,scaler"; + reg = <0x3 0x5000000 0x0 0x14000>, + <0x3 0x5210000 0x0 0x4000>, + <0x3 0x5204000 0x0 0x4000>, + <0x3 0x4000000 0x0 0x8000>, + <0x3 0x52c0000 0x0 0x40000>, + <0x3 0x5340000 0x0 0x14c000>, + <0x3 0x52a0000 0x0 0x4000>, + <0x3 0x5208000 0x0 0x4000>, + <0x3 0x5210000 0x0 0x4000>, + <0x3 0x5220000 0x0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + iommus = <&hw_dart_scaler 0>, <&hw_dart_scaler 1>; + power-domains = <&hw_ps_80>; + status = "disabled"; + }; + + hw_dart_scaler: dart-complex@305260000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x5260000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_jpeg0: jpeg-complex@301000000 { + compatible = "apple,t8142-jpeg-complex", "apple,jpeg-complex"; + reg = <0x3 0x1000000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_jpeg 0>; + status = "disabled"; + }; + + hw_jpeg1: jpeg-complex@301060000 { + compatible = "apple,t8142-jpeg-complex", "apple,jpeg-complex"; + reg = <0x3 0x1060000 0x0 0x4000>; + interrupts = ; + iommus = <&hw_dart_jpeg 1>; + status = "disabled"; + }; + + hw_dart_jpeg: dart-complex@301020000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0x1020000 0x0 0xc000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_ave: video-encoder-complex@281100000 { + compatible = "apple,t8142-video-encoder-complex", "apple,video-encoder-complex"; + reg = <0x2 0x81100000 0x0 0x45c000>, + <0x2 0x81800000 0x0 0x800000>, + <0x2 0x81050000 0x0 0x4000>, + <0x3 0x80708000 0x0 0x4000>, + <0x2 0x80000000 0x0 0x1000000>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_ave 0>; + status = "disabled"; + }; + + hw_dart_ave: dart-complex@281080000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x2 0x81080000 0x0 0xc000>, + <0x2 0x810a0000 0x0 0xc000>, + <0x2 0x81094000 0x0 0x4000>, + <0x2 0x810b0000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_apr: prores-complex@3a1000000 { + compatible = "apple,t8142-prores-complex", "apple,prores-complex"; + reg = <0x3 0xa1000000 0x0 0x4000>, + <0x3 0xa0000000 0x0 0x1000000>, + <0x3 0xa10c0000 0x0 0x4000>, + <0x3 0xa1070000 0x0 0x4000>, + <0x3 0xa1071000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_apr 1>; + status = "disabled"; + }; + + hw_dart_apr: dart-complex@3a1020000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0xa1020000 0x0 0xc000>, + <0x3 0xa1034000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_scdc: scdc-coproc@3a2600000 { + compatible = "apple,t8142-scdc-coproc", "apple,scdc-coproc"; + reg = <0x3 0xa2600000 0x0 0x88000>, + <0x3 0xa2050000 0x0 0x4000>, + <0x3 0xa0000000 0x0 0x1000000>, + <0x3 0xa1340000 0x0 0x40000>, + <0x3 0xa10b8000 0x0 0x4000>, + <0x3 0xa10bc000 0x0 0x4000>, + <0x3 0xa1100000 0x0 0x3c000>, + <0x3 0xa1140000 0x0 0x20000>; + interrupts = , + , + , + , + ; + iommus = <&hw_dart_scdc 0>, <&hw_dart_apr 0>; + power-domains = <&hw_ps_100>; + status = "disabled"; + }; + + hw_dart_scdc: dart-complex@3a1040000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x3 0xa1040000 0x0 0x20000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_ane: ane-complex@420000000 { + compatible = "apple,t8142-ane-complex", "apple,ane-complex"; + reg = <0x4 0x20000000 0x0 0x2000000>, + <0x3 0x80700000 0x0 0x18000>, + <0x3 0x80724000 0x0 0x4000>, + <0x3 0x803c0000 0x0 0x40000>, + <0x2 0x11000000 0x0 0xff4000>, + <0x3 0x882c8000 0x0 0x4000>; + interrupts = , + ; + iommus = <&hw_dart_ane 0>, <&hw_dart_ane 11>; + status = "disabled"; + }; + + hw_dart_ane: dart-complex@421800000 { + compatible = "apple,t8142-dart-complex", "apple,dart-complex"; + reg = <0x4 0x21800000 0x0 0xc000>, + <0x4 0x21820000 0x0 0xc000>, + <0x4 0x21840000 0x0 0xc000>, + <0x4 0x21810000 0x0 0x4000>; + #iommu-cells = <1>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_aop_ced_ssw: admac-control@393c80000 { + compatible = "apple,t8142-admac-control", "apple,admac-control"; + reg = <0x3 0x93c80000 0x0 0x4000>, + <0x3 0x93c84000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_leap_s: admac-complex@393200000 { + compatible = "apple,t8142-admac-complex", "apple,admac-complex"; + reg = <0x3 0x93200000 0x0 0x34000>, + <0x3 0x882a8000 0x0 0x8>; + interrupts = ; + status = "disabled"; + }; + + hw_admac_leap_s_rx_0_proxy: audio-dma-proxy@5e3200000 { + compatible = "apple,t8142-audio-dma-proxy", "apple,audio-dma-proxy"; + reg = <0x5 0xe3200000 0x0 0x34000>; + status = "disabled"; + }; + + hw_dbgCPU: cpu-debug@389b00000 { + compatible = "apple,t8142-cpu-debug", "apple,cpu-debug"; + reg = <0x3 0x89b00000 0x0 0x28000>, + <0x3 0x899c0000 0x0 0x4000>; + interrupts = ; + status = "disabled"; + }; + + hw_apple_processor_trace: processor-trace@2100f0000 { + compatible = "apple,t8142-processor-trace", "apple,processor-trace"; + reg = <0x2 0x100f0000 0x0 0x10000>, + <0x2 0x101f0000 0x0 0x10000>, + <0x2 0x102f0000 0x0 0x10000>, + <0x2 0x103f0000 0x0 0x10000>, + <0x2 0x104f0000 0x0 0x10000>, + <0x2 0x105f0000 0x0 0x10000>, + <0x2 0x110f0000 0x0 0x10000>, + <0x2 0x111f0000 0x0 0x10000>, + <0x2 0x112f0000 0x0 0x10000>, + <0x2 0x113f0000 0x0 0x10000>, + <0x2 0x10ff0000 0x0 0x10000>, + <0x2 0x11ff0000 0x0 0x10000>, + <0x2 0x10e40000 0x0 0x10000>, + <0x2 0x11e40000 0x0 0x10000>, + <0x2 0x10e50000 0x0 0x10000>, + <0x2 0x11e50000 0x0 0x10000>, + <0x2 0x10e90000 0x0 0x10000>, + <0x2 0x11e90000 0x0 0x10000>, + <0x2 0x10eb0000 0x0 0x10000>, + <0x2 0x11eb0000 0x0 0x10000>; + status = "disabled"; + }; + + hw_hib_exclave_watchdog: hibernation-watchdog@5d82b0000 { + compatible = "apple,t8142-hibernation-watchdog", "apple,hibernation-watchdog"; + reg = <0x5 0xd82b0000 0x0 0x4000>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142.dtsi b/arch/arm64/boot/dts/apple/t8142.dtsi new file mode 100644 index 0000000000000..b5757843c3a5a --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142.dtsi @@ -0,0 +1,384 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Common T8142 boot resources. Board peripherals are included separately. */ +#include +#include + +/ { + chassis-type = "laptop"; + + #address-cells = <2>; + #size-cells = <2>; + interrupt-parent = <&aic>; + + aliases { + serial0 = &dockchannel; + serial1 = &serial0; + }; + + chosen { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + stdout-path = "serial0:1500000n8"; + + framebuffer0: framebuffer@0 { + compatible = "apple,simple-framebuffer", "simple-framebuffer"; + reg = <0 0 0 0>; /* Filled by the loader. */ + status = "disabled"; + }; + }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + /* Filled by the loader. */ + }; + + memory@10000000000 { + device_type = "memory"; + reg = <0x100 0 0x4 0>; /* Filled by the loader. */ + }; + + cpus { + #address-cells = <2>; + #size-cells = <0>; + + cpu0: cpu@0 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x0>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu1: cpu@1 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x1>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu2: cpu@2 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x2>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu3: cpu@3 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x3>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu4: cpu@4 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x4>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu5: cpu@5 { + compatible = "apple,t8142-e"; + device_type = "cpu"; + reg = <0 0x5>; + operating-points-v2 = <&ecluster_opp>; + performance-domains = <&cpufreq_e>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu6: cpu@10100 { + compatible = "apple,t8142-p"; + device_type = "cpu"; + reg = <0 0x10100>; + operating-points-v2 = <&pcluster_opp>; + performance-domains = <&cpufreq_p>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu7: cpu@10101 { + compatible = "apple,t8142-p"; + device_type = "cpu"; + reg = <0 0x10101>; + operating-points-v2 = <&pcluster_opp>; + performance-domains = <&cpufreq_p>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu8: cpu@10102 { + compatible = "apple,t8142-p"; + device_type = "cpu"; + reg = <0 0x10102>; + operating-points-v2 = <&pcluster_opp>; + performance-domains = <&cpufreq_p>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + + cpu9: cpu@10103 { + compatible = "apple,t8142-p"; + device_type = "cpu"; + reg = <0 0x10103>; + operating-points-v2 = <&pcluster_opp>; + performance-domains = <&cpufreq_p>; + enable-method = "spin-table"; + cpu-release-addr = <0 0>; /* Filled by the loader. */ + }; + }; + + timer { + compatible = "arm,armv8-timer"; + interrupts = , + , + , + ; + interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt"; + }; + + /* State 1 is 300 MHz; firmware SRAM OPP tables begin at state 2. */ + /* Cap each cluster at its measured J813 firmware handoff state. */ + ecluster_opp: opp-table-0 { + compatible = "operating-points-v2"; + opp-shared; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; + opp-level = <1>; + }; + + opp-972000000 { + opp-hz = /bits/ 64 <972000000>; + opp-level = <2>; + }; + + opp-1152000000 { + opp-hz = /bits/ 64 <1152000000>; + opp-level = <3>; + }; + + opp-1584000000 { + opp-hz = /bits/ 64 <1584000000>; + opp-level = <4>; + }; + + opp-1992000000 { + opp-hz = /bits/ 64 <1992000000>; + opp-level = <5>; + }; + + opp-2352000000 { + opp-hz = /bits/ 64 <2352000000>; + opp-level = <6>; + }; + + opp-2700000000 { + opp-hz = /bits/ 64 <2700000000>; + opp-level = <7>; + }; + + opp-2964000000 { + opp-hz = /bits/ 64 <2964000000>; + opp-level = <8>; + }; + }; + + pcluster_opp: opp-table-1 { + compatible = "operating-points-v2"; + opp-shared; + + opp-300000000 { + opp-hz = /bits/ 64 <300000000>; + opp-level = <1>; + }; + + opp-1308000000 { + opp-hz = /bits/ 64 <1308000000>; + opp-level = <2>; + }; + + opp-1608000000 { + opp-hz = /bits/ 64 <1608000000>; + opp-level = <3>; + }; + + opp-1932000000 { + opp-hz = /bits/ 64 <1932000000>; + opp-level = <4>; + }; + + opp-2220000000 { + opp-hz = /bits/ 64 <2220000000>; + opp-level = <5>; + }; + + opp-2508000000 { + opp-hz = /bits/ 64 <2508000000>; + opp-level = <6>; + }; + + opp-2820000000 { + opp-hz = /bits/ 64 <2820000000>; + opp-level = <7>; + }; + + opp-3072000000 { + opp-hz = /bits/ 64 <3072000000>; + opp-level = <8>; + }; + + opp-3300000000 { + opp-hz = /bits/ 64 <3300000000>; + opp-level = <9>; + }; + + opp-3516000000 { + opp-hz = /bits/ 64 <3516000000>; + opp-level = <10>; + }; + + /* ADT levels 11-20, measured on J813 (level 19, 4416 MHz, is below + * level 18 and left out). The SoC throttles them when hot. */ + opp-3720000000 { + opp-hz = /bits/ 64 <3720000000>; + opp-level = <11>; + }; + + opp-3876000000 { + opp-hz = /bits/ 64 <3876000000>; + opp-level = <12>; + }; + + opp-4020000000 { + opp-hz = /bits/ 64 <4020000000>; + opp-level = <13>; + }; + + opp-4176000000 { + opp-hz = /bits/ 64 <4176000000>; + opp-level = <14>; + }; + + opp-4248000000 { + opp-hz = /bits/ 64 <4248000000>; + opp-level = <15>; + }; + + opp-4272000000 { + opp-hz = /bits/ 64 <4272000000>; + opp-level = <16>; + }; + + opp-4332000000 { + opp-hz = /bits/ 64 <4332000000>; + opp-level = <17>; + }; + + opp-4428000000 { + opp-hz = /bits/ 64 <4428000000>; + opp-level = <18>; + }; + + opp-4464000000 { + opp-hz = /bits/ 64 <4464000000>; + opp-level = <20>; + }; + }; + + clkref: clock-ref { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <24000000>; + }; + + soc { + compatible = "simple-bus"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + nonposted-mmio; + + cpufreq_e: performance-controller@210e20000 { + compatible = "apple,t8142-cluster-cpufreq"; + reg = <0x2 0x10e20000 0 0x1000>; + #performance-domain-cells = <0>; + }; + + cpufreq_p: performance-controller@211e20000 { + compatible = "apple,t8142-cluster-cpufreq"; + reg = <0x2 0x11e20000 0 0x1000>; + #performance-domain-cells = <0>; + }; + + /* + * PMC voter interface (AppleT8142PMC, ADT pmc-pmgr 31 + 0x700000): + * floors at 0x382700000 + agent * 0x4000, per-agent states at + * +0x106000, rail enables at +0x108000. Agents (ADT voter-agent): + * PMP 0, CLPC 1, GFX 2, AP 3. iBoot leaves every enable at 0, so + * no vote is honoured and DRAM and fabric stay at their lowest + * states (CPU DRAM latency 171 ns instead of 70 ns). + */ + pmc: power-management@382700000 { + compatible = "apple,t8142-pmc"; + reg = <0x3 0x82700000 0x0 0x10000>, + <0x3 0x82806000 0x0 0x3000>; + reg-names = "voters", "rails"; + #address-cells = <1>; + #size-cells = <0>; + /* PMP, CLPC and AP agents */ + apple,static-voters = <0 1 3>; + + clpc: performance-controller@1 { + compatible = "apple,t8142-clpc"; + reg = <1>; + }; + }; + + aic: interrupt-controller@381000000 { + compatible = "apple,t8142-aic3", "apple,t8122-aic3"; + interrupt-controller; + #interrupt-cells = <3>; + reg = <3 0x81000000 0 0x1cc000>, + <3 0x81040000 0 0x4000>; + reg-names = "core", "event"; + }; + + serial0: serial@3a5200000 { + compatible = "apple,s5l-uart"; + reg = <3 0xa5200000 0 0x4000>; + reg-io-width = <4>; + interrupts = ; + clocks = <&clkref>, <&clkref>; + clock-names = "uart", "clk_uart_baud0"; + status = "disabled"; + }; + + dockchannel: serial@38812c000 { + compatible = "apple,dockchannel-uart"; + reg = <3 0x8812c000 0 0x4000>, + <3 0x88128000 0 0x4000>, + <3 0x8810c000 0 0x1000>; + reg-names = "data", "config", "irq"; + interrupts = ; + }; + }; +}; diff --git a/docs/devicetree/DT-GAPS-j704.md b/docs/devicetree/DT-GAPS-j704.md new file mode 100644 index 0000000000000..b5e89d10298bd --- /dev/null +++ b/docs/devicetree/DT-GAPS-j704.md @@ -0,0 +1,207 @@ +# J704 device-tree audit + +SoC: T8142. Source: board-specific static ADT. Audited 570 ADT node records. +The table covers the devices directly attached to the SoC bus. Firmware +service containers, mapper children and transport endpoints are distinguished +from independent MMIO controllers. This is a resource-description draft, +not a claim that all of this board's devices can be driven on Linux. + +New register complexes remain disabled. Their bindings retain the complete +aperture list and AIC interrupt wiring where translation is unambiguous; +DMA mapper references are translated to IOMMU phandles and stream IDs. +No firmware, calibration or register programming values are included. + +## Remaining work + +- Qualify firmware handoff, reset, clocks and power ownership before enabling + a new block. Composite descriptions require review against the eventual + IP-specific driver interface, including shared windows. +- Complete the transport children and firmware-service bindings, pinmux, + port graphs and board wiring. Listing a controller does not cover its + attached peripherals. +- Resolve every provider/routing gap called out below. No guessed + address, interrupt parent or power-domain relationship was substituted. +- Validate on this board; no boot or peripheral test was performed. + +## SoC-bus coverage + +| ADT device | Description | Location or unresolved detail | +| --- | --- | --- | +| wlan | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| iop-voicetrigger-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| displaymanager | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| bluetooth | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| aod2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| atc0-dpphy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| atc1-dpphy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| atc2-dpphy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| atc3-dpphy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| display-crossbar0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| aic | existing description | `&aic`; auxiliary apertures still require a driver-specific audit. | +| aop-exclave-ioreporting | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| pmgrtools | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| uart0 | existing description | `&serial0`; auxiliary apertures still require a driver-specific audit. | +| dockchannel-uart | existing description | `&dockchannel`; auxiliary apertures still require a driver-specific audit. | +| mtp-aop-mux | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp2hdmi-gpio0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dcp-sac-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio1 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| mapper-gfx-asc | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| iop-audio-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| audio-hp-mic-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| audio-shared-dart-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| smctempsensor0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| cpu-debug-interface | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| aft | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| timesync | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| fillmore | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| sapt | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| isp-exclave-s-proxy | unresolved address translation | No covering parent range; do not guess a physical address. | +| isp-exclave-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| eic | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| device-supports-gf2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| spi2 | disabled resource description | `&hw_spi2` | +| spi4 | disabled resource description | `&hw_spi4` | +| i2c0 | disabled resource description | `&hw_i2c0` | +| i2c1 | disabled resource description | `&hw_i2c1` | +| i2c3 | disabled resource description | `&hw_i2c3` | +| i2c4 | disabled resource description | `&hw_i2c4` | +| fpwm0 | disabled resource description | `&hw_fpwm0` | +| dart-apcie2 | disabled resource description | `&hw_dart_apcie2` | +| apcie2-piodma | disabled resource description | `&hw_apcie2_piodma` | +| nub-spmi-a1 | disabled resource description | `&hw_nub_spmi_a1`; mixed/non-AIC interrupt routing needs decoding | +| aop-spmi0 | disabled resource description | `&hw_aop_spmi0`; mixed/non-AIC interrupt routing needs decoding | +| apcie | disabled resource description | `&hw_apcie` | +| dart-apcie0 | disabled resource description | `&hw_dart_apcie0` | +| apcie0-piodma | disabled resource description | `&hw_apcie0_piodma` | +| acio-cpu0 | disabled resource description | `&hw_acio_cpu0` | +| apciec0 | disabled resource description | `&hw_apciec0`; power/clock gate needs a verified provider | +| dart-apciec0 | disabled resource description | `&hw_dart_apciec0` | +| apciec0-piodma | disabled resource description | `&hw_apciec0_piodma` | +| acio0 | disabled resource description | `&hw_acio0` | +| dart-acio0 | disabled resource description | `&hw_dart_acio0` | +| atc0-dpxbar | disabled resource description | `&hw_atc0_dpxbar` | +| atc0-dpin0 | disabled resource description | `&hw_atc0_dpin0` | +| atc0-dpin1 | disabled resource description | `&hw_atc0_dpin1` | +| acio-cpu1 | disabled resource description | `&hw_acio_cpu1` | +| apciec1 | disabled resource description | `&hw_apciec1`; power/clock gate needs a verified provider | +| dart-apciec1 | disabled resource description | `&hw_dart_apciec1` | +| apciec1-piodma | disabled resource description | `&hw_apciec1_piodma` | +| acio1 | disabled resource description | `&hw_acio1` | +| dart-acio1 | disabled resource description | `&hw_dart_acio1` | +| atc1-dpxbar | disabled resource description | `&hw_atc1_dpxbar` | +| atc1-dpin0 | disabled resource description | `&hw_atc1_dpin0` | +| atc1-dpin1 | disabled resource description | `&hw_atc1_dpin1` | +| atc2-dpxbar | disabled resource description | `&hw_atc2_dpxbar` | +| acio-cpu3 | disabled resource description | `&hw_acio_cpu3` | +| apciec3 | disabled resource description | `&hw_apciec3`; power/clock gate needs a verified provider | +| dart-apciec3 | disabled resource description | `&hw_dart_apciec3` | +| apciec3-piodma | disabled resource description | `&hw_apciec3_piodma` | +| acio3 | disabled resource description | `&hw_acio3` | +| dart-acio3 | disabled resource description | `&hw_dart_acio3` | +| atc3-dpxbar | disabled resource description | `&hw_atc3_dpxbar` | +| atc3-dpin0 | disabled resource description | `&hw_atc3_dpin0` | +| atc3-dpin1 | disabled resource description | `&hw_atc3_dpin1` | +| mcc | disabled resource description | `&hw_mcc` | +| aic-timebase | disabled resource description | `&hw_aic_timebase` | +| wdt | disabled resource description | `&hw_wdt` | +| error-handler | disabled resource description | `&hw_error_handler` | +| aes | disabled resource description | `&hw_aes` | +| gpio0 | disabled resource description | `&hw_gpio0` | +| aop-gpio | disabled resource description | `&hw_aop_gpio` | +| nub-gpio | disabled resource description | `&hw_nub_gpio` | +| smc-gpio | disabled resource description | `&hw_smc_gpio` | +| aop | disabled resource description | `&hw_aop` | +| dart-aop | disabled resource description | `&hw_dart_aop` | +| aop-exclave-mailbox | disabled resource description | `&hw_aop_exclave_mailbox` | +| aop2 | disabled resource description | `&hw_aop2` | +| pmgr | disabled resource description | `&hw_pmgr` | +| event-log-handler | disabled resource description | `&hw_event_log_handler` | +| pmp | disabled resource description | `&hw_pmp` | +| dart-pmp | disabled resource description | `&hw_dart_pmp` | +| sep | disabled resource description | `&hw_sep` | +| dart-sep | disabled resource description | `&hw_dart_sep` | +| esm | disabled resource description | `&hw_esm` | +| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider | +| dart-sio | disabled resource description | `&hw_dart_sio` | +| ans | disabled resource description | `&hw_ans`; DMA mapper requires an IP-specific split | +| sart-ans | disabled resource description | `&hw_sart_ans` | +| smc | disabled resource description | `&hw_smc` | +| aon-ptd | disabled resource description | `&hw_aon_ptd` | +| rsm | disabled resource description | `&hw_rsm` | +| dart-rsm | disabled resource description | `&hw_dart_rsm` | +| dockchannel-mtp | disabled resource description | `&hw_dockchannel_mtp` | +| mtp | disabled resource description | `&hw_mtp` | +| dart-mtp | disabled resource description | `&hw_dart_mtp` | +| qspi | disabled resource description | `&hw_qspi` | +| i2c2 | disabled resource description | `&hw_i2c2` | +| atc-phy2 | disabled resource description | `&hw_atc_phy2`; power/clock gate needs a verified provider | +| atc-phy0 | disabled resource description | `&hw_atc_phy0`; power/clock gate needs a verified provider | +| dart-usb0 | disabled resource description | `&hw_dart_usb0`; power/clock gate needs a verified provider | +| usb-drd0 | disabled resource description | `&hw_usb_drd0`; power/clock gate needs a verified provider | +| atc-phy1 | disabled resource description | `&hw_atc_phy1`; power/clock gate needs a verified provider | +| dart-usb1 | disabled resource description | `&hw_dart_usb1`; power/clock gate needs a verified provider | +| usb-drd1 | disabled resource description | `&hw_usb_drd1`; power/clock gate needs a verified provider | +| atc-phy3 | disabled resource description | `&hw_atc_phy3`; power/clock gate needs a verified provider | +| dart-usb3 | disabled resource description | `&hw_dart_usb3`; power/clock gate needs a verified provider | +| usb-drd3 | disabled resource description | `&hw_usb_drd3`; power/clock gate needs a verified provider | +| nub-spmi0 | disabled resource description | `&hw_nub_spmi0`; mixed/non-AIC interrupt routing needs decoding | +| nub-spmi1 | disabled resource description | `&hw_nub_spmi1`; mixed/non-AIC interrupt routing needs decoding | +| nub-spmi-a0 | disabled resource description | `&hw_nub_spmi_a0`; mixed/non-AIC interrupt routing needs decoding | +| disp0 | disabled resource description | `&hw_disp0`; power/clock gate needs a verified provider | +| dcp0-expert | disabled resource description | `&hw_dcp0_expert`; power/clock gate needs a verified provider | +| dcp | disabled resource description | `&hw_dcp`; power/clock gate needs a verified provider | +| dart-dcp | disabled resource description | `&hw_dart_dcp` | +| dart-disp0 | disabled resource description | `&hw_dart_disp0` | +| dart-disp0-isoc | disabled resource description | `&hw_dart_disp0_isoc` | +| admac-disp0 | disabled resource description | `&hw_admac_disp0`; power/clock gate needs a verified provider | +| admac-disp0-ced-ssw | disabled resource description | `&hw_admac_disp0_ced_ssw` | +| dispext0 | disabled resource description | `&hw_dispext0` | +| dcpext0-expert | disabled resource description | `&hw_dcpext0_expert` | +| dcpext0 | disabled resource description | `&hw_dcpext0`; power/clock gate needs a verified provider | +| dart-dcpext0 | disabled resource description | `&hw_dart_dcpext0` | +| dart-dispext0 | disabled resource description | `&hw_dart_dispext0` | +| dart-dispext0-isoc | disabled resource description | `&hw_dart_dispext0_isoc` | +| admac-dispext0 | disabled resource description | `&hw_admac_dispext0`; power/clock gate needs a verified provider | +| admac-dispext0-ced-ssw | disabled resource description | `&hw_admac_dispext0_ced_ssw` | +| dispext1 | disabled resource description | `&hw_dispext1` | +| dcpext1-expert | disabled resource description | `&hw_dcpext1_expert` | +| dcpext1 | disabled resource description | `&hw_dcpext1`; power/clock gate needs a verified provider | +| dart-dcpext1 | disabled resource description | `&hw_dart_dcpext1` | +| dart-dispext1 | disabled resource description | `&hw_dart_dispext1` | +| dart-dispext1-isoc | disabled resource description | `&hw_dart_dispext1_isoc` | +| admac-dispext1 | disabled resource description | `&hw_admac_dispext1`; power/clock gate needs a verified provider | +| admac-dispext1-ced-ssw | disabled resource description | `&hw_admac_dispext1_ced_ssw` | +| dptx0-aux | disabled resource description | `&hw_dptx0_aux` | +| dptx1-aux | disabled resource description | `&hw_dptx1_aux` | +| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider | +| dart-scaler | disabled resource description | `&hw_dart_scaler` | +| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider | +| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider | +| dart-jpeg | disabled resource description | `&hw_dart_jpeg` | +| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider | +| dart-ave | disabled resource description | `&hw_dart_ave` | +| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider | +| dart-avd | disabled resource description | `&hw_dart_avd` | +| apr | disabled resource description | `&hw_apr`; power/clock gate needs a verified provider | +| dart-apr | disabled resource description | `&hw_dart_apr` | +| scdc | disabled resource description | `&hw_scdc` | +| dart-scdc | disabled resource description | `&hw_dart_scdc` | +| isp | disabled resource description | `&hw_isp`; power/clock gate needs a verified provider | +| dart-isp | disabled resource description | `&hw_dart_isp` | +| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider | +| dart-ane | disabled resource description | `&hw_dart_ane` | +| sgx | disabled resource description | `&hw_sgx`; power/clock gate needs a verified provider | +| gfx-asc | disabled resource description | `&hw_gfx_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider | +| gfx1-asc | disabled resource description | `&hw_gfx1_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider | +| admac-base-ns | disabled resource description | `&hw_admac_base_ns`; power/clock gate needs a verified provider | +| admac-leap-ns | disabled resource description | `&hw_admac_leap_ns`; power/clock gate needs a verified provider | +| admac-aop-ced-ssw | disabled resource description | `&hw_admac_aop_ced_ssw` | +| admac-leap-s | disabled resource description | `&hw_admac_leap_s`; power/clock gate needs a verified provider | +| admac-leap-s-rx-0-proxy | disabled resource description | `&hw_admac_leap_s_rx_0_proxy` | +| dbgCPU | disabled resource description | `&hw_dbgCPU` | +| secure-repair | disabled resource description | `&hw_secure_repair` | +| apple-processor-trace | disabled resource description | `&hw_apple_processor_trace` | +| hib-exclave-watchdog | disabled resource description | `&hw_hib_exclave_watchdog` | diff --git a/docs/devicetree/DT-GAPS-j813.md b/docs/devicetree/DT-GAPS-j813.md new file mode 100644 index 0000000000000..ef5a804a4bcf8 --- /dev/null +++ b/docs/devicetree/DT-GAPS-j813.md @@ -0,0 +1,185 @@ +# J813 device-tree audit + +SoC: T8142. Source: live device ADT. Audited 504 ADT node records. +The table covers the devices directly attached to the SoC bus. Firmware +service containers, mapper children and transport endpoints are distinguished +from independent MMIO controllers. This is a resource-description draft, +not a claim that all of this board's devices can be driven on Linux. + +New register complexes remain disabled. Their bindings retain the complete +aperture list and AIC interrupt wiring where translation is unambiguous; +DMA mapper references are translated to IOMMU phandles and stream IDs. +No firmware, calibration or register programming values are included. + +## Remaining work + +- Qualify firmware handoff, reset, clocks and power ownership before enabling + a new block. Composite descriptions require review against the eventual + IP-specific driver interface, including shared windows. +- Complete the transport children and firmware-service bindings, pinmux, + port graphs and board wiring. Listing a controller does not cover its + attached peripherals. +- Resolve every provider/routing gap called out below. No guessed + address, interrupt parent or power-domain relationship was substituted. +- Validate on this board; no boot or peripheral test was performed. + +## SoC-bus coverage + +| ADT device | Description | Location or unresolved detail | +| --- | --- | --- | +| i2c1 | existing description | `&i2c1`; auxiliary apertures still require a driver-specific audit. | +| i2c3 | existing description | `&i2c3`; auxiliary apertures still require a driver-specific audit. | +| fpwm0 | existing description | `&fpwm0`; auxiliary apertures still require a driver-specific audit. | +| iop-voicetrigger-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| centauri | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| displaymanager | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| bluetooth | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| apcie | existing description | `&pcie0`; auxiliary apertures still require a driver-specific audit. | +| dart-apcie0 | existing description | `&dart_apcie0`; auxiliary apertures still require a driver-specific audit. | +| aod2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| atc0-dpphy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| atc1-dpphy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| display-crossbar0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| aic | existing description | `&aic`; auxiliary apertures still require a driver-specific audit. | +| wdt | existing description | `&wdt`; auxiliary apertures still require a driver-specific audit. | +| gpio0 | existing description | `&pinctrl_ap`; auxiliary apertures still require a driver-specific audit. | +| nub-gpio | existing description | `&pinctrl_nub`; auxiliary apertures still require a driver-specific audit. | +| aop | existing description | `&aop`; auxiliary apertures still require a driver-specific audit. | +| dart-aop | existing description | `&aop_dart`; auxiliary apertures still require a driver-specific audit. | +| aop-exclave-ioreporting | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| pmgr | existing description | `&pmgr`; auxiliary apertures still require a driver-specific audit. | +| event-log-handler | existing description | `&pmgr`; auxiliary apertures still require a driver-specific audit. | +| pmp | existing description | `&pmp`; auxiliary apertures still require a driver-specific audit. | +| dart-pmp | existing description | `&pmp_dart`; auxiliary apertures still require a driver-specific audit. | +| ans | existing description | `&nvme`; auxiliary apertures still require a driver-specific audit. | +| sart-ans | existing description | `&sart`; auxiliary apertures still require a driver-specific audit. | +| smc | existing description | `&smc`; auxiliary apertures still require a driver-specific audit. | +| pmgrtools | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| uart0 | existing description | `&serial0`; auxiliary apertures still require a driver-specific audit. | +| dockchannel-uart | existing description | `&dockchannel`; auxiliary apertures still require a driver-specific audit. | +| dockchannel-mtp | existing description | `&mtp_dockchannel`; auxiliary apertures still require a driver-specific audit. | +| mtp | existing description | `&mtp`; auxiliary apertures still require a driver-specific audit. | +| dart-mtp | existing description | `&mtp_dart`; auxiliary apertures still require a driver-specific audit. | +| mtp-aop-mux | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| qspi | existing description | `&qspi`; auxiliary apertures still require a driver-specific audit. | +| atc-phy0 | existing description | `&atcphy0`; auxiliary apertures still require a driver-specific audit. | +| dart-usb0 | existing description | `&dwc3_0_dart_0`; auxiliary apertures still require a driver-specific audit. | +| usb-drd0 | existing description | `&dwc3_0`; auxiliary apertures still require a driver-specific audit. | +| atc-phy1 | existing description | `&atcphy1`; auxiliary apertures still require a driver-specific audit. | +| dart-usb1 | existing description | `&dwc3_1_dart_0`; auxiliary apertures still require a driver-specific audit. | +| usb-drd1 | existing description | `&dwc3_1`; auxiliary apertures still require a driver-specific audit. | +| nub-spmi0 | existing description | `&nub_spmi0`; auxiliary apertures still require a driver-specific audit. | +| nub-spmi-a0 | existing description | `&nub_spmi_a0`; auxiliary apertures still require a driver-specific audit. | +| disp0 | existing description | `&dcp`; auxiliary apertures still require a driver-specific audit. | +| dcp | existing description | `&dcp`; auxiliary apertures still require a driver-specific audit. | +| dart-dcp | existing description | `&dcp_dart`; auxiliary apertures still require a driver-specific audit. | +| dart-disp0 | existing description | `&disp0_dart`; auxiliary apertures still require a driver-specific audit. | +| dcp-sac-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio1 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dart-avd | existing description | `&avd_dart`; auxiliary apertures still require a driver-specific audit. | +| isp | existing description | `&isp`; auxiliary apertures still require a driver-specific audit. | +| dart-isp | existing description | `&isp_dart0`; auxiliary apertures still require a driver-specific audit. | +| sgx | existing description | `&gpu`; auxiliary apertures still require a driver-specific audit. | +| gfx-asc | existing description | `&gfx_mbox`; auxiliary apertures still require a driver-specific audit. | +| gfx1-asc | existing description | `&gfx1_mbox`; auxiliary apertures still require a driver-specific audit. | +| mapper-gfx-asc | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| iop-audio-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| admac-base-ns | existing description | `&admac_base_ns`; auxiliary apertures still require a driver-specific audit. | +| audio-hp-mic-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| audio-shared-dart-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| smctempsensor0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| cpu-debug-interface | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| aft | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| timesync | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| fillmore | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| sapt | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| secure-repair | existing description | `&pinctrl_nub`; auxiliary apertures still require a driver-specific audit. | +| isp-exclave-s-proxy | unresolved address translation | No covering parent range; do not guess a physical address. | +| isp-exclave-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| eic | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| device-supports-gf2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| spi2 | disabled resource description | `&hw_spi2` | +| spi4 | disabled resource description | `&hw_spi4` | +| aop-spmi0 | disabled resource description | `&hw_aop_spmi0`; mixed/non-AIC interrupt routing needs decoding | +| apcie0-piodma | disabled resource description | `&hw_apcie0_piodma` | +| acio-cpu0 | disabled resource description | `&hw_acio_cpu0` | +| apciec0 | disabled resource description | `&hw_apciec0`; power/clock gate needs a verified provider | +| dart-apciec0 | disabled resource description | `&hw_dart_apciec0` | +| apciec0-piodma | disabled resource description | `&hw_apciec0_piodma` | +| acio0 | disabled resource description | `&hw_acio0` | +| dart-acio0 | disabled resource description | `&hw_dart_acio0` | +| atc0-dpxbar | disabled resource description | `&hw_atc0_dpxbar` | +| atc0-dpin0 | disabled resource description | `&hw_atc0_dpin0` | +| atc0-dpin1 | disabled resource description | `&hw_atc0_dpin1` | +| acio-cpu1 | disabled resource description | `&hw_acio_cpu1` | +| apciec1 | disabled resource description | `&hw_apciec1`; power/clock gate needs a verified provider | +| dart-apciec1 | disabled resource description | `&hw_dart_apciec1` | +| apciec1-piodma | disabled resource description | `&hw_apciec1_piodma` | +| acio1 | disabled resource description | `&hw_acio1` | +| dart-acio1 | disabled resource description | `&hw_dart_acio1` | +| atc1-dpxbar | disabled resource description | `&hw_atc1_dpxbar` | +| atc1-dpin0 | disabled resource description | `&hw_atc1_dpin0` | +| atc1-dpin1 | disabled resource description | `&hw_atc1_dpin1` | +| mcc | disabled resource description | `&hw_mcc` | +| aic-timebase | disabled resource description | `&hw_aic_timebase` | +| error-handler | disabled resource description | `&hw_error_handler` | +| aes | disabled resource description | `&hw_aes` | +| aop-gpio | disabled resource description | `&hw_aop_gpio` | +| smc-gpio | disabled resource description | `&hw_smc_gpio` | +| aop-exclave-mailbox | disabled resource description | `&hw_aop_exclave_mailbox` | +| aop2 | disabled resource description | `&hw_aop2` | +| sep | disabled resource description | `&hw_sep` | +| dart-sep | disabled resource description | `&hw_dart_sep` | +| esm | disabled resource description | `&hw_esm` | +| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider | +| dart-sio | disabled resource description | `&hw_dart_sio` | +| aon-ptd | disabled resource description | `&hw_aon_ptd` | +| rsm | disabled resource description | `&hw_rsm` | +| dart-rsm | disabled resource description | `&hw_dart_rsm` | +| i2c2 | disabled resource description | `&hw_i2c2` | +| nub-spmi1 | disabled resource description | `&hw_nub_spmi1`; mixed/non-AIC interrupt routing needs decoding | +| dcp0-expert | disabled resource description | `&hw_dcp0_expert`; power/clock gate needs a verified provider | +| dart-disp0-isoc | disabled resource description | `&hw_dart_disp0_isoc` | +| admac-disp0 | disabled resource description | `&hw_admac_disp0`; power/clock gate needs a verified provider | +| admac-disp0-ced-ssw | disabled resource description | `&hw_admac_disp0_ced_ssw` | +| dispext0 | disabled resource description | `&hw_dispext0` | +| dcpext0-expert | disabled resource description | `&hw_dcpext0_expert` | +| dcpext0 | disabled resource description | `&hw_dcpext0`; power/clock gate needs a verified provider | +| dart-dcpext0 | disabled resource description | `&hw_dart_dcpext0` | +| dart-dispext0 | disabled resource description | `&hw_dart_dispext0` | +| dart-dispext0-isoc | disabled resource description | `&hw_dart_dispext0_isoc` | +| admac-dispext0 | disabled resource description | `&hw_admac_dispext0`; power/clock gate needs a verified provider | +| admac-dispext0-ced-ssw | disabled resource description | `&hw_admac_dispext0_ced_ssw` | +| dispext1 | disabled resource description | `&hw_dispext1` | +| dcpext1-expert | disabled resource description | `&hw_dcpext1_expert` | +| dcpext1 | disabled resource description | `&hw_dcpext1`; power/clock gate needs a verified provider | +| dart-dcpext1 | disabled resource description | `&hw_dart_dcpext1` | +| dart-dispext1 | disabled resource description | `&hw_dart_dispext1` | +| dart-dispext1-isoc | disabled resource description | `&hw_dart_dispext1_isoc` | +| admac-dispext1 | disabled resource description | `&hw_admac_dispext1`; power/clock gate needs a verified provider | +| admac-dispext1-ced-ssw | disabled resource description | `&hw_admac_dispext1_ced_ssw` | +| dptx0-aux | disabled resource description | `&hw_dptx0_aux` | +| dptx1-aux | disabled resource description | `&hw_dptx1_aux` | +| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider | +| dart-scaler | disabled resource description | `&hw_dart_scaler` | +| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider | +| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider | +| dart-jpeg | disabled resource description | `&hw_dart_jpeg` | +| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider | +| dart-ave | disabled resource description | `&hw_dart_ave` | +| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider | +| apr | disabled resource description | `&hw_apr`; power/clock gate needs a verified provider | +| dart-apr | disabled resource description | `&hw_dart_apr` | +| scdc | disabled resource description | `&hw_scdc` | +| dart-scdc | disabled resource description | `&hw_dart_scdc` | +| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider | +| dart-ane | disabled resource description | `&hw_dart_ane` | +| admac-leap-ns | disabled resource description | `&hw_admac_leap_ns`; power/clock gate needs a verified provider | +| admac-aop-ced-ssw | disabled resource description | `&hw_admac_aop_ced_ssw` | +| admac-leap-s | disabled resource description | `&hw_admac_leap_s`; power/clock gate needs a verified provider | +| admac-leap-s-rx-0-proxy | disabled resource description | `&hw_admac_leap_s_rx_0_proxy` | +| dbgCPU | disabled resource description | `&hw_dbgCPU` | +| apple-processor-trace | disabled resource description | `&hw_apple_processor_trace` | +| hib-exclave-watchdog | disabled resource description | `&hw_hib_exclave_watchdog` | diff --git a/docs/devicetree/DT-GAPS-j815.md b/docs/devicetree/DT-GAPS-j815.md new file mode 100644 index 0000000000000..825c257ea1a6a --- /dev/null +++ b/docs/devicetree/DT-GAPS-j815.md @@ -0,0 +1,185 @@ +# J815 device-tree audit + +SoC: T8142. Source: board-specific static ADT. Audited 506 ADT node records. +The table covers the devices directly attached to the SoC bus. Firmware +service containers, mapper children and transport endpoints are distinguished +from independent MMIO controllers. This is a resource-description draft, +not a claim that all of this board's devices can be driven on Linux. + +New register complexes remain disabled. Their bindings retain the complete +aperture list and AIC interrupt wiring where translation is unambiguous; +DMA mapper references are translated to IOMMU phandles and stream IDs. +No firmware, calibration or register programming values are included. + +## Remaining work + +- Qualify firmware handoff, reset, clocks and power ownership before enabling + a new block. Composite descriptions require review against the eventual + IP-specific driver interface, including shared windows. +- Complete the transport children and firmware-service bindings, pinmux, + port graphs and board wiring. Listing a controller does not cover its + attached peripherals. +- Resolve every provider/routing gap called out below. No guessed + address, interrupt parent or power-domain relationship was substituted. +- Validate on this board; no boot or peripheral test was performed. + +## SoC-bus coverage + +| ADT device | Description | Location or unresolved detail | +| --- | --- | --- | +| iop-voicetrigger-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| centauri | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| displaymanager | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| bluetooth | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| aod2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| atc0-dpphy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| atc1-dpphy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| display-crossbar0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| aic | existing description | `&aic`; auxiliary apertures still require a driver-specific audit. | +| aop-exclave-ioreporting | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| pmgrtools | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| uart0 | existing description | `&serial0`; auxiliary apertures still require a driver-specific audit. | +| dockchannel-uart | existing description | `&dockchannel`; auxiliary apertures still require a driver-specific audit. | +| mtp-aop-mux | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dcp-sac-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio1 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| dp-audio2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| mapper-gfx-asc | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| iop-audio-controller | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| audio-hp-mic-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| audio-shared-dart-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| smctempsensor0 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| cpu-debug-interface | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| aft | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| timesync | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| fillmore | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| sapt | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| isp-exclave-s-proxy | unresolved address translation | No covering parent range; do not guess a physical address. | +| isp-exclave-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| eic | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| device-supports-gf2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | +| spi2 | disabled resource description | `&hw_spi2` | +| spi4 | disabled resource description | `&hw_spi4` | +| i2c1 | disabled resource description | `&hw_i2c1` | +| i2c3 | disabled resource description | `&hw_i2c3` | +| fpwm0 | disabled resource description | `&hw_fpwm0` | +| aop-spmi0 | disabled resource description | `&hw_aop_spmi0`; mixed/non-AIC interrupt routing needs decoding | +| apcie | disabled resource description | `&hw_apcie` | +| dart-apcie0 | disabled resource description | `&hw_dart_apcie0` | +| apcie0-piodma | disabled resource description | `&hw_apcie0_piodma` | +| acio-cpu0 | disabled resource description | `&hw_acio_cpu0` | +| apciec0 | disabled resource description | `&hw_apciec0`; power/clock gate needs a verified provider | +| dart-apciec0 | disabled resource description | `&hw_dart_apciec0` | +| apciec0-piodma | disabled resource description | `&hw_apciec0_piodma` | +| acio0 | disabled resource description | `&hw_acio0` | +| dart-acio0 | disabled resource description | `&hw_dart_acio0` | +| atc0-dpxbar | disabled resource description | `&hw_atc0_dpxbar` | +| atc0-dpin0 | disabled resource description | `&hw_atc0_dpin0` | +| atc0-dpin1 | disabled resource description | `&hw_atc0_dpin1` | +| acio-cpu1 | disabled resource description | `&hw_acio_cpu1` | +| apciec1 | disabled resource description | `&hw_apciec1`; power/clock gate needs a verified provider | +| dart-apciec1 | disabled resource description | `&hw_dart_apciec1` | +| apciec1-piodma | disabled resource description | `&hw_apciec1_piodma` | +| acio1 | disabled resource description | `&hw_acio1` | +| dart-acio1 | disabled resource description | `&hw_dart_acio1` | +| atc1-dpxbar | disabled resource description | `&hw_atc1_dpxbar` | +| atc1-dpin0 | disabled resource description | `&hw_atc1_dpin0` | +| atc1-dpin1 | disabled resource description | `&hw_atc1_dpin1` | +| mcc | disabled resource description | `&hw_mcc` | +| aic-timebase | disabled resource description | `&hw_aic_timebase` | +| wdt | disabled resource description | `&hw_wdt` | +| error-handler | disabled resource description | `&hw_error_handler` | +| aes | disabled resource description | `&hw_aes` | +| gpio0 | disabled resource description | `&hw_gpio0` | +| aop-gpio | disabled resource description | `&hw_aop_gpio` | +| nub-gpio | disabled resource description | `&hw_nub_gpio` | +| smc-gpio | disabled resource description | `&hw_smc_gpio` | +| aop | disabled resource description | `&hw_aop` | +| dart-aop | disabled resource description | `&hw_dart_aop` | +| aop-exclave-mailbox | disabled resource description | `&hw_aop_exclave_mailbox` | +| aop2 | disabled resource description | `&hw_aop2` | +| pmgr | disabled resource description | `&hw_pmgr` | +| event-log-handler | disabled resource description | `&hw_event_log_handler` | +| pmp | disabled resource description | `&hw_pmp` | +| dart-pmp | disabled resource description | `&hw_dart_pmp` | +| sep | disabled resource description | `&hw_sep` | +| dart-sep | disabled resource description | `&hw_dart_sep` | +| esm | disabled resource description | `&hw_esm` | +| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider | +| dart-sio | disabled resource description | `&hw_dart_sio` | +| ans | disabled resource description | `&hw_ans`; DMA mapper requires an IP-specific split | +| sart-ans | disabled resource description | `&hw_sart_ans` | +| smc | disabled resource description | `&hw_smc` | +| aon-ptd | disabled resource description | `&hw_aon_ptd` | +| rsm | disabled resource description | `&hw_rsm` | +| dart-rsm | disabled resource description | `&hw_dart_rsm` | +| dockchannel-mtp | disabled resource description | `&hw_dockchannel_mtp` | +| mtp | disabled resource description | `&hw_mtp` | +| dart-mtp | disabled resource description | `&hw_dart_mtp` | +| qspi | disabled resource description | `&hw_qspi` | +| i2c2 | disabled resource description | `&hw_i2c2` | +| atc-phy0 | disabled resource description | `&hw_atc_phy0`; power/clock gate needs a verified provider | +| dart-usb0 | disabled resource description | `&hw_dart_usb0`; power/clock gate needs a verified provider | +| usb-drd0 | disabled resource description | `&hw_usb_drd0`; power/clock gate needs a verified provider | +| atc-phy1 | disabled resource description | `&hw_atc_phy1`; power/clock gate needs a verified provider | +| dart-usb1 | disabled resource description | `&hw_dart_usb1`; power/clock gate needs a verified provider | +| usb-drd1 | disabled resource description | `&hw_usb_drd1`; power/clock gate needs a verified provider | +| nub-spmi0 | disabled resource description | `&hw_nub_spmi0`; mixed/non-AIC interrupt routing needs decoding | +| nub-spmi1 | disabled resource description | `&hw_nub_spmi1`; mixed/non-AIC interrupt routing needs decoding | +| nub-spmi-a0 | disabled resource description | `&hw_nub_spmi_a0`; mixed/non-AIC interrupt routing needs decoding | +| disp0 | disabled resource description | `&hw_disp0`; power/clock gate needs a verified provider | +| dcp0-expert | disabled resource description | `&hw_dcp0_expert`; power/clock gate needs a verified provider | +| dcp | disabled resource description | `&hw_dcp`; power/clock gate needs a verified provider | +| dart-dcp | disabled resource description | `&hw_dart_dcp` | +| dart-disp0 | disabled resource description | `&hw_dart_disp0` | +| dart-disp0-isoc | disabled resource description | `&hw_dart_disp0_isoc` | +| admac-disp0 | disabled resource description | `&hw_admac_disp0`; power/clock gate needs a verified provider | +| admac-disp0-ced-ssw | disabled resource description | `&hw_admac_disp0_ced_ssw` | +| dispext0 | disabled resource description | `&hw_dispext0` | +| dcpext0-expert | disabled resource description | `&hw_dcpext0_expert` | +| dcpext0 | disabled resource description | `&hw_dcpext0`; power/clock gate needs a verified provider | +| dart-dcpext0 | disabled resource description | `&hw_dart_dcpext0` | +| dart-dispext0 | disabled resource description | `&hw_dart_dispext0` | +| dart-dispext0-isoc | disabled resource description | `&hw_dart_dispext0_isoc` | +| admac-dispext0 | disabled resource description | `&hw_admac_dispext0`; power/clock gate needs a verified provider | +| admac-dispext0-ced-ssw | disabled resource description | `&hw_admac_dispext0_ced_ssw` | +| dispext1 | disabled resource description | `&hw_dispext1` | +| dcpext1-expert | disabled resource description | `&hw_dcpext1_expert` | +| dcpext1 | disabled resource description | `&hw_dcpext1`; power/clock gate needs a verified provider | +| dart-dcpext1 | disabled resource description | `&hw_dart_dcpext1` | +| dart-dispext1 | disabled resource description | `&hw_dart_dispext1` | +| dart-dispext1-isoc | disabled resource description | `&hw_dart_dispext1_isoc` | +| admac-dispext1 | disabled resource description | `&hw_admac_dispext1`; power/clock gate needs a verified provider | +| admac-dispext1-ced-ssw | disabled resource description | `&hw_admac_dispext1_ced_ssw` | +| dptx0-aux | disabled resource description | `&hw_dptx0_aux` | +| dptx1-aux | disabled resource description | `&hw_dptx1_aux` | +| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider | +| dart-scaler | disabled resource description | `&hw_dart_scaler` | +| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider | +| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider | +| dart-jpeg | disabled resource description | `&hw_dart_jpeg` | +| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider | +| dart-ave | disabled resource description | `&hw_dart_ave` | +| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider | +| dart-avd | disabled resource description | `&hw_dart_avd` | +| apr | disabled resource description | `&hw_apr`; power/clock gate needs a verified provider | +| dart-apr | disabled resource description | `&hw_dart_apr` | +| scdc | disabled resource description | `&hw_scdc` | +| dart-scdc | disabled resource description | `&hw_dart_scdc` | +| isp | disabled resource description | `&hw_isp`; power/clock gate needs a verified provider | +| dart-isp | disabled resource description | `&hw_dart_isp` | +| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider | +| dart-ane | disabled resource description | `&hw_dart_ane` | +| sgx | disabled resource description | `&hw_sgx`; power/clock gate needs a verified provider | +| gfx-asc | disabled resource description | `&hw_gfx_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider | +| gfx1-asc | disabled resource description | `&hw_gfx1_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider | +| admac-base-ns | disabled resource description | `&hw_admac_base_ns`; power/clock gate needs a verified provider | +| admac-leap-ns | disabled resource description | `&hw_admac_leap_ns`; power/clock gate needs a verified provider | +| admac-aop-ced-ssw | disabled resource description | `&hw_admac_aop_ced_ssw` | +| admac-leap-s | disabled resource description | `&hw_admac_leap_s`; power/clock gate needs a verified provider | +| admac-leap-s-rx-0-proxy | disabled resource description | `&hw_admac_leap_s_rx_0_proxy` | +| dbgCPU | disabled resource description | `&hw_dbgCPU` | +| secure-repair | disabled resource description | `&hw_secure_repair` | +| apple-processor-trace | disabled resource description | `&hw_apple_processor_trace` | +| hib-exclave-watchdog | disabled resource description | `&hw_hib_exclave_watchdog` | From a2c40eff4c39c339078168424683577310bb0200 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:49:32 +1100 Subject: [PATCH 2/3] arm64: dts: apple: describe T8142 board resources Add conservative board scaffolding, disabled peripheral resource descriptions and per-board coverage ledgers. Unresolved providers, transport children and handoff requirements remain explicit review gaps. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../soc/apple/apple,t8142-i2c-controller.yaml | 4 + .../apple/apple,t8142-watchdog-complex.yaml | 4 + .../dts/apple/t8142-j704-peripherals.dtsi | 5 + .../dts/apple/t8142-j815-peripherals.dtsi | 3 + .../boot/dts/apple/t8142-peripherals.dtsi | 1 + docs/devicetree/DT-GAPS-j704.md | 311 ++++++++++++++++-- docs/devicetree/DT-GAPS-j813.md | 257 ++++++++++++++- docs/devicetree/DT-GAPS-j815.md | 273 +++++++++++++-- 8 files changed, 808 insertions(+), 50 deletions(-) diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml index 2a43bacef75b8..1b8bc384924e4 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml @@ -46,6 +46,10 @@ properties: minItems: 1 maxItems: 1 + clocks: + description: The 24 MHz reference clock. + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-watchdog-complex.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-watchdog-complex.yaml index 52d1e56f4421b..a530be97898e1 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8142-watchdog-complex.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8142-watchdog-complex.yaml @@ -41,6 +41,10 @@ properties: minItems: 2 maxItems: 2 + clocks: + description: The 24 MHz reference clock. + maxItems: 1 + required: - compatible - reg diff --git a/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi index 650720cfb0337..c1d7bd6d11e06 100644 --- a/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi @@ -10,6 +10,7 @@ reg = <0x3 0xa5010000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_85>; + clocks = <&clkref>; status = "disabled"; }; @@ -18,6 +19,7 @@ reg = <0x3 0xa5014000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_86>; + clocks = <&clkref>; status = "disabled"; }; @@ -26,6 +28,7 @@ reg = <0x3 0xa501c000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_88>; + clocks = <&clkref>; status = "disabled"; }; @@ -34,6 +37,7 @@ reg = <0x3 0xa5020000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_89>; + clocks = <&clkref>; status = "disabled"; }; @@ -327,6 +331,7 @@ <0x3 0x882b8020 0x0 0x4>; interrupts = , ; + clocks = <&clkref>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi index 09a673b3f9592..425ebbc40d870 100644 --- a/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi @@ -10,6 +10,7 @@ reg = <0x3 0xa5014000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_86>; + clocks = <&clkref>; status = "disabled"; }; @@ -18,6 +19,7 @@ reg = <0x3 0xa501c000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_88>; + clocks = <&clkref>; status = "disabled"; }; @@ -165,6 +167,7 @@ <0x3 0x882b8020 0x0 0x4>; interrupts = , ; + clocks = <&clkref>; status = "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi index 095b2e3cc92a9..f7912ddb2b8fd 100644 --- a/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi @@ -437,6 +437,7 @@ reg = <0x3 0xa5018000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_87>; + clocks = <&clkref>; status = "disabled"; }; diff --git a/docs/devicetree/DT-GAPS-j704.md b/docs/devicetree/DT-GAPS-j704.md index b5e89d10298bd..bba5ca18ee2cc 100644 --- a/docs/devicetree/DT-GAPS-j704.md +++ b/docs/devicetree/DT-GAPS-j704.md @@ -62,8 +62,8 @@ No firmware, calibration or register programming values are included. | isp-exclave-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | | eic | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | | device-supports-gf2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | -| spi2 | disabled resource description | `&hw_spi2` | -| spi4 | disabled resource description | `&hw_spi4` | +| spi2 | disabled resource description | `&hw_spi2`; clock provider not yet translated | +| spi4 | disabled resource description | `&hw_spi4`; clock provider not yet translated | | i2c0 | disabled resource description | `&hw_i2c0` | | i2c1 | disabled resource description | `&hw_i2c1` | | i2c3 | disabled resource description | `&hw_i2c3` | @@ -121,12 +121,12 @@ No firmware, calibration or register programming values are included. | event-log-handler | disabled resource description | `&hw_event_log_handler` | | pmp | disabled resource description | `&hw_pmp` | | dart-pmp | disabled resource description | `&hw_dart_pmp` | -| sep | disabled resource description | `&hw_sep` | +| sep | disabled resource description | `&hw_sep`; clock provider not yet translated | | dart-sep | disabled resource description | `&hw_dart_sep` | | esm | disabled resource description | `&hw_esm` | -| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider | +| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-sio | disabled resource description | `&hw_dart_sio` | -| ans | disabled resource description | `&hw_ans`; DMA mapper requires an IP-specific split | +| ans | disabled resource description | `&hw_ans`; DMA mapper requires an IP-specific split; clock provider not yet translated | | sart-ans | disabled resource description | `&hw_sart_ans` | | smc | disabled resource description | `&hw_smc` | | aon-ptd | disabled resource description | `&hw_aon_ptd` | @@ -135,7 +135,7 @@ No firmware, calibration or register programming values are included. | dockchannel-mtp | disabled resource description | `&hw_dockchannel_mtp` | | mtp | disabled resource description | `&hw_mtp` | | dart-mtp | disabled resource description | `&hw_dart_mtp` | -| qspi | disabled resource description | `&hw_qspi` | +| qspi | disabled resource description | `&hw_qspi`; clock provider not yet translated | | i2c2 | disabled resource description | `&hw_i2c2` | | atc-phy2 | disabled resource description | `&hw_atc_phy2`; power/clock gate needs a verified provider | | atc-phy0 | disabled resource description | `&hw_atc_phy0`; power/clock gate needs a verified provider | @@ -150,7 +150,7 @@ No firmware, calibration or register programming values are included. | nub-spmi0 | disabled resource description | `&hw_nub_spmi0`; mixed/non-AIC interrupt routing needs decoding | | nub-spmi1 | disabled resource description | `&hw_nub_spmi1`; mixed/non-AIC interrupt routing needs decoding | | nub-spmi-a0 | disabled resource description | `&hw_nub_spmi_a0`; mixed/non-AIC interrupt routing needs decoding | -| disp0 | disabled resource description | `&hw_disp0`; power/clock gate needs a verified provider | +| disp0 | disabled resource description | `&hw_disp0`; power/clock gate needs a verified provider; clock provider not yet translated | | dcp0-expert | disabled resource description | `&hw_dcp0_expert`; power/clock gate needs a verified provider | | dcp | disabled resource description | `&hw_dcp`; power/clock gate needs a verified provider | | dart-dcp | disabled resource description | `&hw_dart_dcp` | @@ -158,7 +158,7 @@ No firmware, calibration or register programming values are included. | dart-disp0-isoc | disabled resource description | `&hw_dart_disp0_isoc` | | admac-disp0 | disabled resource description | `&hw_admac_disp0`; power/clock gate needs a verified provider | | admac-disp0-ced-ssw | disabled resource description | `&hw_admac_disp0_ced_ssw` | -| dispext0 | disabled resource description | `&hw_dispext0` | +| dispext0 | disabled resource description | `&hw_dispext0`; clock provider not yet translated | | dcpext0-expert | disabled resource description | `&hw_dcpext0_expert` | | dcpext0 | disabled resource description | `&hw_dcpext0`; power/clock gate needs a verified provider | | dart-dcpext0 | disabled resource description | `&hw_dart_dcpext0` | @@ -166,7 +166,7 @@ No firmware, calibration or register programming values are included. | dart-dispext0-isoc | disabled resource description | `&hw_dart_dispext0_isoc` | | admac-dispext0 | disabled resource description | `&hw_admac_dispext0`; power/clock gate needs a verified provider | | admac-dispext0-ced-ssw | disabled resource description | `&hw_admac_dispext0_ced_ssw` | -| dispext1 | disabled resource description | `&hw_dispext1` | +| dispext1 | disabled resource description | `&hw_dispext1`; clock provider not yet translated | | dcpext1-expert | disabled resource description | `&hw_dcpext1_expert` | | dcpext1 | disabled resource description | `&hw_dcpext1`; power/clock gate needs a verified provider | | dart-dcpext1 | disabled resource description | `&hw_dart_dcpext1` | @@ -176,26 +176,26 @@ No firmware, calibration or register programming values are included. | admac-dispext1-ced-ssw | disabled resource description | `&hw_admac_dispext1_ced_ssw` | | dptx0-aux | disabled resource description | `&hw_dptx0_aux` | | dptx1-aux | disabled resource description | `&hw_dptx1_aux` | -| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider | +| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-scaler | disabled resource description | `&hw_dart_scaler` | -| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider | -| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider | +| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider; clock provider not yet translated | +| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-jpeg | disabled resource description | `&hw_dart_jpeg` | -| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider | +| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-ave | disabled resource description | `&hw_dart_ave` | -| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider | +| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-avd | disabled resource description | `&hw_dart_avd` | | apr | disabled resource description | `&hw_apr`; power/clock gate needs a verified provider | | dart-apr | disabled resource description | `&hw_dart_apr` | | scdc | disabled resource description | `&hw_scdc` | | dart-scdc | disabled resource description | `&hw_dart_scdc` | -| isp | disabled resource description | `&hw_isp`; power/clock gate needs a verified provider | +| isp | disabled resource description | `&hw_isp`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-isp | disabled resource description | `&hw_dart_isp` | -| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider | +| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-ane | disabled resource description | `&hw_dart_ane` | -| sgx | disabled resource description | `&hw_sgx`; power/clock gate needs a verified provider | -| gfx-asc | disabled resource description | `&hw_gfx_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider | -| gfx1-asc | disabled resource description | `&hw_gfx1_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider | +| sgx | disabled resource description | `&hw_sgx`; power/clock gate needs a verified provider; clock provider not yet translated | +| gfx-asc | disabled resource description | `&hw_gfx_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider; clock provider not yet translated | +| gfx1-asc | disabled resource description | `&hw_gfx1_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider; clock provider not yet translated | | admac-base-ns | disabled resource description | `&hw_admac_base_ns`; power/clock gate needs a verified provider | | admac-leap-ns | disabled resource description | `&hw_admac_leap_ns`; power/clock gate needs a verified provider | | admac-aop-ced-ssw | disabled resource description | `&hw_admac_aop_ced_ssw` | @@ -205,3 +205,276 @@ No firmware, calibration or register programming values are included. | secure-repair | disabled resource description | `&hw_secure_repair` | | apple-processor-trace | disabled resource description | `&hw_apple_processor_trace` | | hib-exclave-watchdog | disabled resource description | `&hw_hib_exclave_watchdog` | + +## Child devices and service interfaces + +These entries require an endpoint/transport audit in addition to the parent +controller resources above. Mapper records describe stream IDs rather than +independently probed devices. Conditional template records and their tuning +containers are not separate hardware devices; select the silicon variant +using a resolved live tree before changing resources. No tuning properties +from those records are reproduced here. + +| Hardware path below the SoC bus | Classification and remaining audit | +| --- | --- | +| `spi2/mesa` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `spi4/dp855` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `spi4/dp855/lcd-pmicwp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-pmic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-sswp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/tcon-registers` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-eeprom` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c0/pcon0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c1/audio-codec-output` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c1/mogul-las` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-left-woofer-2` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-left-tweeter` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-right-woofer-1` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-right-woofer-2` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-right-tweeter` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c4/avellino-pre` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c4/avellino-post` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `fpwm0/kbd-backlight` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apcie2/mapper-apcie2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie2/mapper-apcie2-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `nub-spmi-a1/hpm3` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop-spmi0/stockholm-spmi` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop-spmi0/stockholm-spmi/stockholm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-voicetrigger-controller/audio-vt-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0/wlan` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0/bluetooth-pcie` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge2` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge2/pcie-sdreader` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apcie0/mapper-apcie0-wlan` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie0/mapper-apcie0-bt` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie0/mapper-apcie0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `acio-cpu0/iop-acio0-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apciec0/pcic0-bridge` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apciec0/mapper-apciec0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `acio-cpu1/iop-acio1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apciec1/pcic1-bridge` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apciec1/mapper-apciec1-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `acio-cpu3/iop-acio3-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apciec3/pcic3-bridge` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apciec3/mapper-apciec3-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-tx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio3/mapper-acio3-rx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `aop/iop-aop-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-audio` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-voicetrigger` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/accel` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/gyro` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/als` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-gapf-filters` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-aop/mapper-aop` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-scm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-exclave-aop` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-aop2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-base-ns` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-leap-ns` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-base-s` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-leap-s` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `aop2/iop-aop2-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `pmgr/clpc` | Power/firmware interface; provider topology and handoff pending. | +| `pmgr/soc-tuner` | Power/firmware interface; provider topology and handoff pending. | +| `pmgr/ppm` | Power/firmware interface; provider topology and handoff pending. | +| `pmp/iop-pmp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-pmp/mapper-pmp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `sep/iop-sep-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-sep/mapper-sep` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sep/mapper-sep-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sep/mapper-sep-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `sio/iop-sio-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `sio/iop-sio-nub/sio-dma` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-sio/mapper-sio` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sio/mapper-aes` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `ans/iop-ans-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-pmu` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util-0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util-1` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util-3` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-rsm/mapper-rsm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dockchannel-mtp/mtp-transport` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/multi-touch` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/keyboard` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/stm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/actuator` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/tp-accel` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `mtp/iop-mtp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-mtp/mapper-mtp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `qspi/spinor` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `qspi/spinor/firmware` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `qspi/spinor/anvram` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `qspi/spinor/syscfg` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c2/atcrt0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c2/atcrt1` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c2/atcrt3` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `dart-usb0/mapper-usb0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `usb-drd0/usb-drd0-port-hs` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `usb-drd0/usb-drd0-port-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-usb1/mapper-usb1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `usb-drd1/usb-drd1-port-hs` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `usb-drd1/usb-drd1-port-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-usb3/mapper-usb3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `usb-drd3/usb-drd3-port-hs` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `usb-drd3/usb-drd3-port-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi0/pmu-main` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi0/btm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi1/pmu-aux` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm1` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm5` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dcp/iop-dcp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcp/mapper-dcp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0/mapper-disp0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0/mapper-disp0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0-isoc/mapper-disp0-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dcpext0/iop-dcpext0-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcpext0/mapper-dcpext0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0/mapper-dispext0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0/mapper-dispext0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0-isoc/mapper-dispext0-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dcpext1/iop-dcpext1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcpext1/mapper-dcpext1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1/mapper-dispext1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1/mapper-dispext1-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1-isoc/mapper-dispext1-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dptx0-aux/dptx0-aux-core` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx0-aux/dptx0-aux-ufp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx1-aux/dptx1-aux-core` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx1-aux/dptx1-aux-ufp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-scaler/mapper-scaler` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-scaler/mapper-scaler-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-jpeg/mapper-jpeg0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-jpeg/mapper-jpeg1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ave/mapper-ave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd-adsbuf` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apr/mapper-apr-scdc` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apr/mapper-apr-ve` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `scdc/iop-scdc-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-scdc/mapper-scdc` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-epipe0-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-epipe1-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-piodma0-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-piodma1-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `gfx-asc/iop-gfx-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `gfx1-asc/iop-gfx1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-hp-mic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-hp-mic/audio-hp-mic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-mca-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-leap-internal-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker/audio-speaker` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker-tap` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker-tap/audio-speaker-tap` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-output` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-input` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-io-buffer-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/siri-listening-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-injection-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-injection-device/lp-mic-injection-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-tx-0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-rx-0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-rx-1` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-tx-2` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-rx-2` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-tx-3` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-rx-3` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-tx-5` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-leap-ns/leap-ns-adma-rx-0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-leap-ns/leap-ns-adma-tx-4` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-leap-ns/leap-ns-adma-rx-4` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-leap-s/leap-s-adma-rx-0` | Subdevice register interface; binding, parent translation and ownership audit pending. | diff --git a/docs/devicetree/DT-GAPS-j813.md b/docs/devicetree/DT-GAPS-j813.md index ef5a804a4bcf8..e1a25a9076ecc 100644 --- a/docs/devicetree/DT-GAPS-j813.md +++ b/docs/devicetree/DT-GAPS-j813.md @@ -100,8 +100,8 @@ No firmware, calibration or register programming values are included. | isp-exclave-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | | eic | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | | device-supports-gf2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | -| spi2 | disabled resource description | `&hw_spi2` | -| spi4 | disabled resource description | `&hw_spi4` | +| spi2 | disabled resource description | `&hw_spi2`; clock provider not yet translated | +| spi4 | disabled resource description | `&hw_spi4`; clock provider not yet translated | | aop-spmi0 | disabled resource description | `&hw_aop_spmi0`; mixed/non-AIC interrupt routing needs decoding | | apcie0-piodma | disabled resource description | `&hw_apcie0_piodma` | | acio-cpu0 | disabled resource description | `&hw_acio_cpu0` | @@ -130,10 +130,10 @@ No firmware, calibration or register programming values are included. | smc-gpio | disabled resource description | `&hw_smc_gpio` | | aop-exclave-mailbox | disabled resource description | `&hw_aop_exclave_mailbox` | | aop2 | disabled resource description | `&hw_aop2` | -| sep | disabled resource description | `&hw_sep` | +| sep | disabled resource description | `&hw_sep`; clock provider not yet translated | | dart-sep | disabled resource description | `&hw_dart_sep` | | esm | disabled resource description | `&hw_esm` | -| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider | +| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-sio | disabled resource description | `&hw_dart_sio` | | aon-ptd | disabled resource description | `&hw_aon_ptd` | | rsm | disabled resource description | `&hw_rsm` | @@ -144,7 +144,7 @@ No firmware, calibration or register programming values are included. | dart-disp0-isoc | disabled resource description | `&hw_dart_disp0_isoc` | | admac-disp0 | disabled resource description | `&hw_admac_disp0`; power/clock gate needs a verified provider | | admac-disp0-ced-ssw | disabled resource description | `&hw_admac_disp0_ced_ssw` | -| dispext0 | disabled resource description | `&hw_dispext0` | +| dispext0 | disabled resource description | `&hw_dispext0`; clock provider not yet translated | | dcpext0-expert | disabled resource description | `&hw_dcpext0_expert` | | dcpext0 | disabled resource description | `&hw_dcpext0`; power/clock gate needs a verified provider | | dart-dcpext0 | disabled resource description | `&hw_dart_dcpext0` | @@ -152,7 +152,7 @@ No firmware, calibration or register programming values are included. | dart-dispext0-isoc | disabled resource description | `&hw_dart_dispext0_isoc` | | admac-dispext0 | disabled resource description | `&hw_admac_dispext0`; power/clock gate needs a verified provider | | admac-dispext0-ced-ssw | disabled resource description | `&hw_admac_dispext0_ced_ssw` | -| dispext1 | disabled resource description | `&hw_dispext1` | +| dispext1 | disabled resource description | `&hw_dispext1`; clock provider not yet translated | | dcpext1-expert | disabled resource description | `&hw_dcpext1_expert` | | dcpext1 | disabled resource description | `&hw_dcpext1`; power/clock gate needs a verified provider | | dart-dcpext1 | disabled resource description | `&hw_dart_dcpext1` | @@ -162,19 +162,19 @@ No firmware, calibration or register programming values are included. | admac-dispext1-ced-ssw | disabled resource description | `&hw_admac_dispext1_ced_ssw` | | dptx0-aux | disabled resource description | `&hw_dptx0_aux` | | dptx1-aux | disabled resource description | `&hw_dptx1_aux` | -| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider | +| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-scaler | disabled resource description | `&hw_dart_scaler` | -| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider | -| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider | +| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider; clock provider not yet translated | +| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-jpeg | disabled resource description | `&hw_dart_jpeg` | -| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider | +| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-ave | disabled resource description | `&hw_dart_ave` | -| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider | +| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider; clock provider not yet translated | | apr | disabled resource description | `&hw_apr`; power/clock gate needs a verified provider | | dart-apr | disabled resource description | `&hw_dart_apr` | | scdc | disabled resource description | `&hw_scdc` | | dart-scdc | disabled resource description | `&hw_dart_scdc` | -| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider | +| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-ane | disabled resource description | `&hw_dart_ane` | | admac-leap-ns | disabled resource description | `&hw_admac_leap_ns`; power/clock gate needs a verified provider | | admac-aop-ced-ssw | disabled resource description | `&hw_admac_aop_ced_ssw` | @@ -183,3 +183,236 @@ No firmware, calibration or register programming values are included. | dbgCPU | disabled resource description | `&hw_dbgCPU` | | apple-processor-trace | disabled resource description | `&hw_apple_processor_trace` | | hib-exclave-watchdog | disabled resource description | `&hw_hib_exclave_watchdog` | + +## Child devices and service interfaces + +These entries require an endpoint/transport audit in addition to the parent +controller resources above. Mapper records describe stream IDs rather than +independently probed devices. Conditional template records and their tuning +containers are not separate hardware devices; select the silicon variant +using a resolved live tree before changing resources. No tuning properties +from those records are reproduced here. + +| Hardware path below the SoC bus | Classification and remaining audit | +| --- | --- | +| `spi2/mesa` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-pmicwp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-pmic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-sswp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/tcon-registers` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-eeprom` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c1/audio-codec-output` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c1/mogul-las` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c3/audio-speaker` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c3/audio-speaker-left-tweeter` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c3/audio-speaker-right-woofer` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c3/audio-speaker-right-tweeter` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `fpwm0/kbd-backlight` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop-spmi0/stockholm-spmi` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop-spmi0/stockholm-spmi/stockholm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-voicetrigger-controller/audio-vt-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0/centauri-control` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0/centauri-alpha` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0/centauri-beta` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apcie0/mapper-apcie0-control` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie0/mapper-apcie0-alpha` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie0/mapper-apcie0-beta` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie0/mapper-apcie0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `acio-cpu0/iop-acio0-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apciec0/pcic0-bridge` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apciec0/mapper-apciec0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `acio-cpu1/iop-acio1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apciec1/pcic1-bridge` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apciec1/mapper-apciec1-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `aop/iop-aop-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-audio` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-voicetrigger` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/accel` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/gyro` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/als` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-gapf-filters` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-aop/mapper-aop` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-scm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-exclave-aop` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-aop2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-base-ns` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-leap-ns` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-base-s` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-leap-s` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `aop2/iop-aop2-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `pmgr/clpc` | Power/firmware interface; provider topology and handoff pending. | +| `pmgr/soc-tuner` | Power/firmware interface; provider topology and handoff pending. | +| `pmgr/ppm` | Power/firmware interface; provider topology and handoff pending. | +| `pmp/iop-pmp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-pmp/mapper-pmp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `sep/iop-sep-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-sep/mapper-sep` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sep/mapper-sep-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sep/mapper-sep-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `sio/iop-sio-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `sio/iop-sio-nub/sio-dma` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-sio/mapper-sio` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sio/mapper-aes` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `ans/iop-ans-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-pmu` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util-0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util-1` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-rsm/mapper-rsm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dockchannel-mtp/mtp-transport` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/multi-touch` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/keyboard` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/stm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/actuator` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/tp-accel` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `mtp/iop-mtp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-mtp/mapper-mtp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `qspi/spinor` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `qspi/spinor/firmware` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `qspi/spinor/anvram` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `qspi/spinor/syscfg` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c2/atcrt0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c2/atcrt1` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-usb0/mapper-usb0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `usb-drd0/usb-drd0-port-hs` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `usb-drd0/usb-drd0-port-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-usb1/mapper-usb1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `usb-drd1/usb-drd1-port-hs` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `usb-drd1/usb-drd1-port-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi0/pmu-main` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi0/btm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi1/pmu-aux` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm1` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm5` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dcp/iop-dcp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcp/mapper-dcp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0/mapper-disp0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0/mapper-disp0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0-isoc/mapper-disp0-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dcpext0/iop-dcpext0-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcpext0/mapper-dcpext0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0/mapper-dispext0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0/mapper-dispext0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0-isoc/mapper-dispext0-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dcpext1/iop-dcpext1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcpext1/mapper-dcpext1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1/mapper-dispext1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1/mapper-dispext1-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1-isoc/mapper-dispext1-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dptx0-aux/dptx0-aux-core` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx0-aux/dptx0-aux-ufp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx1-aux/dptx1-aux-core` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx1-aux/dptx1-aux-ufp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-scaler/mapper-scaler` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-scaler/mapper-scaler-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-jpeg/mapper-jpeg0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-jpeg/mapper-jpeg1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ave/mapper-ave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd-adsbuf` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apr/mapper-apr-scdc` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apr/mapper-apr-ve` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `scdc/iop-scdc-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-scdc/mapper-scdc` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-epipe0-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-epipe1-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-piodma0-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-piodma1-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `gfx-asc/iop-gfx-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `gfx1-asc/iop-gfx1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-hp-mic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-hp-mic/audio-hp-mic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-mca-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-leap-internal-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker/audio-speaker` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker-tap` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker-tap/audio-speaker-tap` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-output` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-input` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-io-buffer-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/siri-listening-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-injection-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-injection-device/lp-mic-injection-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-tx-0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-rx-0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-rx-1` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-tx-2` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-rx-2` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-tx-3` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-rx-3` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-tx-5` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-leap-ns/leap-ns-adma-rx-0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-leap-ns/leap-ns-adma-tx-4` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-leap-ns/leap-ns-adma-rx-4` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-leap-s/leap-s-adma-rx-0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | diff --git a/docs/devicetree/DT-GAPS-j815.md b/docs/devicetree/DT-GAPS-j815.md index 825c257ea1a6a..5b1f1574ee31a 100644 --- a/docs/devicetree/DT-GAPS-j815.md +++ b/docs/devicetree/DT-GAPS-j815.md @@ -59,8 +59,8 @@ No firmware, calibration or register programming values are included. | isp-exclave-proxy | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | | eic | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | | device-supports-gf2 | interface or firmware service | No independent MMIO aperture; requires transport/service binding. | -| spi2 | disabled resource description | `&hw_spi2` | -| spi4 | disabled resource description | `&hw_spi4` | +| spi2 | disabled resource description | `&hw_spi2`; clock provider not yet translated | +| spi4 | disabled resource description | `&hw_spi4`; clock provider not yet translated | | i2c1 | disabled resource description | `&hw_i2c1` | | i2c3 | disabled resource description | `&hw_i2c3` | | fpwm0 | disabled resource description | `&hw_fpwm0` | @@ -103,12 +103,12 @@ No firmware, calibration or register programming values are included. | event-log-handler | disabled resource description | `&hw_event_log_handler` | | pmp | disabled resource description | `&hw_pmp` | | dart-pmp | disabled resource description | `&hw_dart_pmp` | -| sep | disabled resource description | `&hw_sep` | +| sep | disabled resource description | `&hw_sep`; clock provider not yet translated | | dart-sep | disabled resource description | `&hw_dart_sep` | | esm | disabled resource description | `&hw_esm` | -| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider | +| sio | disabled resource description | `&hw_sio`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-sio | disabled resource description | `&hw_dart_sio` | -| ans | disabled resource description | `&hw_ans`; DMA mapper requires an IP-specific split | +| ans | disabled resource description | `&hw_ans`; DMA mapper requires an IP-specific split; clock provider not yet translated | | sart-ans | disabled resource description | `&hw_sart_ans` | | smc | disabled resource description | `&hw_smc` | | aon-ptd | disabled resource description | `&hw_aon_ptd` | @@ -117,7 +117,7 @@ No firmware, calibration or register programming values are included. | dockchannel-mtp | disabled resource description | `&hw_dockchannel_mtp` | | mtp | disabled resource description | `&hw_mtp` | | dart-mtp | disabled resource description | `&hw_dart_mtp` | -| qspi | disabled resource description | `&hw_qspi` | +| qspi | disabled resource description | `&hw_qspi`; clock provider not yet translated | | i2c2 | disabled resource description | `&hw_i2c2` | | atc-phy0 | disabled resource description | `&hw_atc_phy0`; power/clock gate needs a verified provider | | dart-usb0 | disabled resource description | `&hw_dart_usb0`; power/clock gate needs a verified provider | @@ -128,7 +128,7 @@ No firmware, calibration or register programming values are included. | nub-spmi0 | disabled resource description | `&hw_nub_spmi0`; mixed/non-AIC interrupt routing needs decoding | | nub-spmi1 | disabled resource description | `&hw_nub_spmi1`; mixed/non-AIC interrupt routing needs decoding | | nub-spmi-a0 | disabled resource description | `&hw_nub_spmi_a0`; mixed/non-AIC interrupt routing needs decoding | -| disp0 | disabled resource description | `&hw_disp0`; power/clock gate needs a verified provider | +| disp0 | disabled resource description | `&hw_disp0`; power/clock gate needs a verified provider; clock provider not yet translated | | dcp0-expert | disabled resource description | `&hw_dcp0_expert`; power/clock gate needs a verified provider | | dcp | disabled resource description | `&hw_dcp`; power/clock gate needs a verified provider | | dart-dcp | disabled resource description | `&hw_dart_dcp` | @@ -136,7 +136,7 @@ No firmware, calibration or register programming values are included. | dart-disp0-isoc | disabled resource description | `&hw_dart_disp0_isoc` | | admac-disp0 | disabled resource description | `&hw_admac_disp0`; power/clock gate needs a verified provider | | admac-disp0-ced-ssw | disabled resource description | `&hw_admac_disp0_ced_ssw` | -| dispext0 | disabled resource description | `&hw_dispext0` | +| dispext0 | disabled resource description | `&hw_dispext0`; clock provider not yet translated | | dcpext0-expert | disabled resource description | `&hw_dcpext0_expert` | | dcpext0 | disabled resource description | `&hw_dcpext0`; power/clock gate needs a verified provider | | dart-dcpext0 | disabled resource description | `&hw_dart_dcpext0` | @@ -144,7 +144,7 @@ No firmware, calibration or register programming values are included. | dart-dispext0-isoc | disabled resource description | `&hw_dart_dispext0_isoc` | | admac-dispext0 | disabled resource description | `&hw_admac_dispext0`; power/clock gate needs a verified provider | | admac-dispext0-ced-ssw | disabled resource description | `&hw_admac_dispext0_ced_ssw` | -| dispext1 | disabled resource description | `&hw_dispext1` | +| dispext1 | disabled resource description | `&hw_dispext1`; clock provider not yet translated | | dcpext1-expert | disabled resource description | `&hw_dcpext1_expert` | | dcpext1 | disabled resource description | `&hw_dcpext1`; power/clock gate needs a verified provider | | dart-dcpext1 | disabled resource description | `&hw_dart_dcpext1` | @@ -154,26 +154,26 @@ No firmware, calibration or register programming values are included. | admac-dispext1-ced-ssw | disabled resource description | `&hw_admac_dispext1_ced_ssw` | | dptx0-aux | disabled resource description | `&hw_dptx0_aux` | | dptx1-aux | disabled resource description | `&hw_dptx1_aux` | -| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider | +| scaler0 | disabled resource description | `&hw_scaler0`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-scaler | disabled resource description | `&hw_dart_scaler` | -| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider | -| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider | +| jpeg0 | disabled resource description | `&hw_jpeg0`; power/clock gate needs a verified provider; clock provider not yet translated | +| jpeg1 | disabled resource description | `&hw_jpeg1`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-jpeg | disabled resource description | `&hw_dart_jpeg` | -| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider | +| ave | disabled resource description | `&hw_ave`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-ave | disabled resource description | `&hw_dart_ave` | -| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider | +| avd | disabled resource description | `&hw_avd`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-avd | disabled resource description | `&hw_dart_avd` | | apr | disabled resource description | `&hw_apr`; power/clock gate needs a verified provider | | dart-apr | disabled resource description | `&hw_dart_apr` | | scdc | disabled resource description | `&hw_scdc` | | dart-scdc | disabled resource description | `&hw_dart_scdc` | -| isp | disabled resource description | `&hw_isp`; power/clock gate needs a verified provider | +| isp | disabled resource description | `&hw_isp`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-isp | disabled resource description | `&hw_dart_isp` | -| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider | +| ane | disabled resource description | `&hw_ane`; power/clock gate needs a verified provider; clock provider not yet translated | | dart-ane | disabled resource description | `&hw_dart_ane` | -| sgx | disabled resource description | `&hw_sgx`; power/clock gate needs a verified provider | -| gfx-asc | disabled resource description | `&hw_gfx_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider | -| gfx1-asc | disabled resource description | `&hw_gfx1_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider | +| sgx | disabled resource description | `&hw_sgx`; power/clock gate needs a verified provider; clock provider not yet translated | +| gfx-asc | disabled resource description | `&hw_gfx_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider; clock provider not yet translated | +| gfx1-asc | disabled resource description | `&hw_gfx1_asc`; DMA mapper requires an IP-specific split, power/clock gate needs a verified provider; clock provider not yet translated | | admac-base-ns | disabled resource description | `&hw_admac_base_ns`; power/clock gate needs a verified provider | | admac-leap-ns | disabled resource description | `&hw_admac_leap_ns`; power/clock gate needs a verified provider | | admac-aop-ced-ssw | disabled resource description | `&hw_admac_aop_ced_ssw` | @@ -183,3 +183,238 @@ No firmware, calibration or register programming values are included. | secure-repair | disabled resource description | `&hw_secure_repair` | | apple-processor-trace | disabled resource description | `&hw_apple_processor_trace` | | hib-exclave-watchdog | disabled resource description | `&hw_hib_exclave_watchdog` | + +## Child devices and service interfaces + +These entries require an endpoint/transport audit in addition to the parent +controller resources above. Mapper records describe stream IDs rather than +independently probed devices. Conditional template records and their tuning +containers are not separate hardware devices; select the silicon variant +using a resolved live tree before changing resources. No tuning properties +from those records are reproduced here. + +| Hardware path below the SoC bus | Classification and remaining audit | +| --- | --- | +| `spi2/mesa` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `spi4/dp855` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `spi4/dp855/lcd-pmicwp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-pmic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-sswp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/tcon-registers` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `spi4/dp855/lcd-eeprom` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c1/audio-codec-output` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c1/mogul-las` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-left-woofer-2` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-left-tweeter` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-right-woofer-1` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-right-woofer-2` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c3/audio-speaker-right-tweeter` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `fpwm0/kbd-backlight` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop-spmi0/stockholm-spmi` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop-spmi0/stockholm-spmi/stockholm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-voicetrigger-controller/audio-vt-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0/centauri-control` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0/centauri-alpha` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apcie/pci-bridge0/centauri-beta` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apcie0/mapper-apcie0-control` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie0/mapper-apcie0-alpha` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie0/mapper-apcie0-beta` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apcie0/mapper-apcie0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `acio-cpu0/iop-acio0-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apciec0/pcic0-bridge` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apciec0/mapper-apciec0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-tx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio0/mapper-acio0-rx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `acio-cpu1/iop-acio1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `apciec1/pcic1-bridge` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-apciec1/mapper-apciec1-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-tx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-8` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-9` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-10` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-acio1/mapper-acio1-rx-11` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `aop/iop-aop-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-audio` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-voicetrigger` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/accel` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/gyro` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/als` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `aop/iop-aop-nub/aop-gapf-filters` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-aop/mapper-aop` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-scm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-exclave-aop` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-aop2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-base-ns` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-leap-ns` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-base-s` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-aop/mapper-admac-leap-s` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `aop2/iop-aop2-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `pmgr/clpc` | Power/firmware interface; provider topology and handoff pending. | +| `pmgr/soc-tuner` | Power/firmware interface; provider topology and handoff pending. | +| `pmgr/ppm` | Power/firmware interface; provider topology and handoff pending. | +| `pmp/iop-pmp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-pmp/mapper-pmp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `sep/iop-sep-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-sep/mapper-sep` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sep/mapper-sep-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sep/mapper-sep-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `sio/iop-sio-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `sio/iop-sio-nub/sio-dma` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-sio/mapper-sio` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-sio/mapper-aes` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `ans/iop-ans-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-pmu` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util-0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util-1` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `smc/iop-smc-nub/smc-charger-util` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-rsm/mapper-rsm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dockchannel-mtp/mtp-transport` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/multi-touch` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/keyboard` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/stm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/actuator` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dockchannel-mtp/mtp-transport/tp-accel` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `mtp/iop-mtp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-mtp/mapper-mtp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `qspi/spinor` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `qspi/spinor/firmware` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `qspi/spinor/anvram` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `qspi/spinor/syscfg` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `i2c2/atcrt0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `i2c2/atcrt1` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `dart-usb0/mapper-usb0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `usb-drd0/usb-drd0-port-hs` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `usb-drd0/usb-drd0-port-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-usb1/mapper-usb1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `usb-drd1/usb-drd1-port-hs` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `usb-drd1/usb-drd1-port-ss` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi0/pmu-main` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi0/btm` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi1/pmu-aux` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm0` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm1` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `nub-spmi-a0/hpm5` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dcp/iop-dcp-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcp/mapper-dcp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0/mapper-disp0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0/mapper-disp0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-disp0-isoc/mapper-disp0-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dcpext0/iop-dcpext0-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcpext0/mapper-dcpext0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0/mapper-dispext0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0/mapper-dispext0-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext0-isoc/mapper-dispext0-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dcpext1/iop-dcpext1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-dcpext1/mapper-dcpext1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1/mapper-dispext1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1/mapper-dispext1-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-dispext1-isoc/mapper-dispext1-dpa` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dptx0-aux/dptx0-aux-core` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx0-aux/dptx0-aux-ufp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx1-aux/dptx1-aux-core` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dptx1-aux/dptx1-aux-ufp` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-scaler/mapper-scaler` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-scaler/mapper-scaler-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-jpeg/mapper-jpeg0` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-jpeg/mapper-jpeg1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ave/mapper-ave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd-piodma` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-avd/mapper-avd-adsbuf` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apr/mapper-apr-scdc` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-apr/mapper-apr-ve` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `scdc/iop-scdc-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `dart-scdc/mapper-scdc` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-epipe0-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-epipe1-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-piodma0-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-isp/mapper-isp-piodma1-exclave` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso1` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso2` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso3` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso4` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso5` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso6` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-iso7` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `dart-ane/mapper-ane-mpm` | DMA stream metadata; check the master IOMMU reference and stream ownership. | +| `gfx-asc/iop-gfx-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `gfx1-asc/iop-gfx1-nub` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-hp-mic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-hp-mic/audio-hp-mic` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-mca-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-mca-loopback/audio-mca-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-leap-internal-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-leap-internal-loopback/audio-leap-internal-loopback` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker/audio-speaker` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker-tap` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-speaker-tap/audio-speaker-tap` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-output` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-output/audio-codec-output` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-input` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/audio-codec-input/audio-codec-input` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-io-buffer-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/siri-listening-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-injection-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `iop-audio-controller/lp-mic-injection-device/lp-mic-injection-device` | Attached device or firmware service; endpoint binding and board wiring audit pending. | +| `admac-base-ns/base-ns-adma-tx-0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-rx-0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-rx-1` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-tx-2` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-rx-2` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-tx-3` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-rx-3` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-base-ns/base-ns-adma-tx-5` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-leap-ns/leap-ns-adma-rx-0` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-leap-ns/leap-ns-adma-tx-4` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-leap-ns/leap-ns-adma-rx-4` | Subdevice register interface; binding, parent translation and ownership audit pending. | +| `admac-leap-s/leap-s-adma-rx-0` | Subdevice register interface; binding, parent translation and ownership audit pending. | From 5cfbd82e2668496594d0dc8682078e5d0f46e2c3 Mon Sep 17 00:00:00 2001 From: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Date: Sat, 7 Nov 2026 22:53:46 +1100 Subject: [PATCH 3/3] arm64: dts: apple: describe T8142 board resources Add conservative board scaffolding, disabled peripheral resource descriptions and per-board coverage ledgers. Unresolved providers, transport children and handoff requirements remain explicit review gaps. Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> Assisted-by: LLM --- .../devicetree/bindings/i2c/apple,i2c.yaml | 1 + .../soc/apple/apple,t8142-i2c-controller.yaml | 57 ---------------- .../dts/apple/t8142-j704-audio-topology.dtsi | 68 +++++++++++++++++++ .../dts/apple/t8142-j704-peripherals.dtsi | 24 ++++--- arch/arm64/boot/dts/apple/t8142-j704.dts | 2 + .../dts/apple/t8142-j815-audio-topology.dtsi | 68 +++++++++++++++++++ .../dts/apple/t8142-j815-peripherals.dtsi | 12 ++-- arch/arm64/boot/dts/apple/t8142-j815.dts | 2 + .../boot/dts/apple/t8142-peripherals.dtsi | 6 +- docs/devicetree/DT-GAPS-j704.md | 2 + docs/devicetree/DT-GAPS-j813.md | 2 + docs/devicetree/DT-GAPS-j815.md | 2 + 12 files changed, 175 insertions(+), 71 deletions(-) delete mode 100644 Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml create mode 100644 arch/arm64/boot/dts/apple/t8142-j704-audio-topology.dtsi create mode 100644 arch/arm64/boot/dts/apple/t8142-j815-audio-topology.dtsi diff --git a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml index 5c827af153cb5..2e36cef3136ce 100644 --- a/Documentation/devicetree/bindings/i2c/apple,i2c.yaml +++ b/Documentation/devicetree/bindings/i2c/apple,i2c.yaml @@ -30,6 +30,7 @@ properties: - apple,t8122-i2c - apple,t8132-i2c - apple,t8140-i2c + - apple,t8142-i2c - const: apple,t8103-i2c - items: - enum: diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml deleted file mode 100644 index 1b8bc384924e4..0000000000000 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8142-i2c-controller.yaml +++ /dev/null @@ -1,57 +0,0 @@ -# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) -%YAML 1.2 ---- -$id: http://devicetree.org/schemas/soc/apple/apple,t8142-i2c-controller.yaml# -$schema: http://devicetree.org/meta-schemas/core.yaml# - -title: Apple T8142 i2c controller - -maintainers: - - Ryan Murray - -description: | - I2C controller on T8142. This describes the complete register complex, - including auxiliary control and status apertures shared with firmware. - It does not imply compatibility with an earlier generation's driver. - The node remains disabled until ownership of the register windows and - the firmware handoff have been established. Calibration, firmware and - programming sequences are supplied separately by the boot environment. - -select: - properties: - compatible: - contains: - const: apple,t8142-i2c-controller - required: - - compatible - -properties: - compatible: - items: - - const: apple,t8142-i2c-controller - - const: apple,i2c-controller - - reg: - description: Controller register apertures, in hardware interface order. - minItems: 1 - maxItems: 1 - - interrupts: - description: Interrupt lines wired to the system interrupt controller. - minItems: 1 - maxItems: 1 - - power-domains: - description: Power and combined clock gates required by the controller. - minItems: 1 - maxItems: 1 - - clocks: - description: The 24 MHz reference clock. - maxItems: 1 - -required: - - compatible - - reg - -additionalProperties: false diff --git a/arch/arm64/boot/dts/apple/t8142-j704-audio-topology.dtsi b/arch/arm64/boot/dts/apple/t8142-j704-audio-topology.dtsi new file mode 100644 index 0000000000000..58842a9acfd1a --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j704-audio-topology.dtsi @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Codec identities only; no amplifier programming or acoustic configuration. */ + +&hw_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + hw_jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + #sound-dai-cells = <0>; + sound-name-prefix = "Jack"; + status = "disabled"; + }; +}; + +&hw_i2c3 { + #address-cells = <1>; + #size-cells = <0>; + + hw_audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + #sound-dai-cells = <0>; + sound-name-prefix = "Speaker 0"; + status = "disabled"; + }; + + hw_audio_speaker_left_woofer_2: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + #sound-dai-cells = <0>; + sound-name-prefix = "Left Woofer 2"; + status = "disabled"; + }; + + hw_audio_speaker_left_tweeter: codec@3a { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3a>; + #sound-dai-cells = <0>; + sound-name-prefix = "Left Tweeter"; + status = "disabled"; + }; + + hw_audio_speaker_right_woofer_1: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Woofer 1"; + status = "disabled"; + }; + + hw_audio_speaker_right_woofer_2: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Woofer 2"; + status = "disabled"; + }; + + hw_audio_speaker_right_tweeter: codec@3d { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3d>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Tweeter"; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi index c1d7bd6d11e06..7441e8be74620 100644 --- a/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8142-j704-peripherals.dtsi @@ -5,40 +5,48 @@ &{/soc} { - hw_i2c0: i2c-controller@3a5010000 { - compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + hw_i2c0: i2c@3a5010000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; reg = <0x3 0xa5010000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_85>; clocks = <&clkref>; status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; }; - hw_i2c1: i2c-controller@3a5014000 { - compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + hw_i2c1: i2c@3a5014000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; reg = <0x3 0xa5014000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_86>; clocks = <&clkref>; status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; }; - hw_i2c3: i2c-controller@3a501c000 { - compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + hw_i2c3: i2c@3a501c000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; reg = <0x3 0xa501c000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_88>; clocks = <&clkref>; status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; }; - hw_i2c4: i2c-controller@3a5020000 { - compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + hw_i2c4: i2c@3a5020000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; reg = <0x3 0xa5020000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_89>; clocks = <&clkref>; status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; }; hw_fpwm0: pwm-controller@3a5040000 { diff --git a/arch/arm64/boot/dts/apple/t8142-j704.dts b/arch/arm64/boot/dts/apple/t8142-j704.dts index 84658366f13e8..42987d7e50f41 100644 --- a/arch/arm64/boot/dts/apple/t8142-j704.dts +++ b/arch/arm64/boot/dts/apple/t8142-j704.dts @@ -20,3 +20,5 @@ &pmc { status = "disabled"; }; + +#include "t8142-j704-audio-topology.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8142-j815-audio-topology.dtsi b/arch/arm64/boot/dts/apple/t8142-j815-audio-topology.dtsi new file mode 100644 index 0000000000000..22c54e86d0352 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8142-j815-audio-topology.dtsi @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Codec identities only; no amplifier programming or acoustic configuration. */ + +&hw_i2c1 { + #address-cells = <1>; + #size-cells = <0>; + + hw_jack_codec: codec@4b { + compatible = "cirrus,cs42l84"; + reg = <0x4b>; + #sound-dai-cells = <0>; + sound-name-prefix = "Jack"; + status = "disabled"; + }; +}; + +&hw_i2c3 { + #address-cells = <1>; + #size-cells = <0>; + + hw_audio_speaker: codec@38 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x38>; + #sound-dai-cells = <0>; + sound-name-prefix = "Speaker 0"; + status = "disabled"; + }; + + hw_audio_speaker_left_woofer_2: codec@3a { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3a>; + #sound-dai-cells = <0>; + sound-name-prefix = "Left Woofer 2"; + status = "disabled"; + }; + + hw_audio_speaker_left_tweeter: codec@39 { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x39>; + #sound-dai-cells = <0>; + sound-name-prefix = "Left Tweeter"; + status = "disabled"; + }; + + hw_audio_speaker_right_woofer_1: codec@3b { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3b>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Woofer 1"; + status = "disabled"; + }; + + hw_audio_speaker_right_woofer_2: codec@3d { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3d>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Woofer 2"; + status = "disabled"; + }; + + hw_audio_speaker_right_tweeter: codec@3c { + compatible = "ti,sn012776", "ti,tas2764"; + reg = <0x3c>; + #sound-dai-cells = <0>; + sound-name-prefix = "Right Tweeter"; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi index 425ebbc40d870..c7785eabcc24b 100644 --- a/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8142-j815-peripherals.dtsi @@ -5,22 +5,26 @@ &{/soc} { - hw_i2c1: i2c-controller@3a5014000 { - compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + hw_i2c1: i2c@3a5014000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; reg = <0x3 0xa5014000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_86>; clocks = <&clkref>; status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; }; - hw_i2c3: i2c-controller@3a501c000 { - compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + hw_i2c3: i2c@3a501c000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; reg = <0x3 0xa501c000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_88>; clocks = <&clkref>; status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; }; hw_fpwm0: pwm-controller@3a5040000 { diff --git a/arch/arm64/boot/dts/apple/t8142-j815.dts b/arch/arm64/boot/dts/apple/t8142-j815.dts index 88e40247fa8a7..72ae79f36f305 100644 --- a/arch/arm64/boot/dts/apple/t8142-j815.dts +++ b/arch/arm64/boot/dts/apple/t8142-j815.dts @@ -20,3 +20,5 @@ &pmc { status = "disabled"; }; + +#include "t8142-j815-audio-topology.dtsi" diff --git a/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi index f7912ddb2b8fd..7f4b37d815a93 100644 --- a/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi +++ b/arch/arm64/boot/dts/apple/t8142-peripherals.dtsi @@ -432,13 +432,15 @@ status = "disabled"; }; - hw_i2c2: i2c-controller@3a5018000 { - compatible = "apple,t8142-i2c-controller", "apple,i2c-controller"; + hw_i2c2: i2c@3a5018000 { + compatible = "apple,t8142-i2c", "apple,t8103-i2c"; reg = <0x3 0xa5018000 0x0 0x4000>; interrupts = ; power-domains = <&hw_ps_87>; clocks = <&clkref>; status = "disabled"; + #address-cells = <1>; + #size-cells = <0>; }; hw_nub_spmi1: spmi-complex@388614000 { diff --git a/docs/devicetree/DT-GAPS-j704.md b/docs/devicetree/DT-GAPS-j704.md index bba5ca18ee2cc..155ebf7fae124 100644 --- a/docs/devicetree/DT-GAPS-j704.md +++ b/docs/devicetree/DT-GAPS-j704.md @@ -19,6 +19,8 @@ No firmware, calibration or register programming values are included. - Complete the transport children and firmware-service bindings, pinmux, port graphs and board wiring. Listing a controller does not cover its attached peripherals. +- Audit the parent dependencies of new disabled PMGR gates before enabling + a gate or its consumer. - Resolve every provider/routing gap called out below. No guessed address, interrupt parent or power-domain relationship was substituted. - Validate on this board; no boot or peripheral test was performed. diff --git a/docs/devicetree/DT-GAPS-j813.md b/docs/devicetree/DT-GAPS-j813.md index e1a25a9076ecc..3381832cfe54b 100644 --- a/docs/devicetree/DT-GAPS-j813.md +++ b/docs/devicetree/DT-GAPS-j813.md @@ -19,6 +19,8 @@ No firmware, calibration or register programming values are included. - Complete the transport children and firmware-service bindings, pinmux, port graphs and board wiring. Listing a controller does not cover its attached peripherals. +- Audit the parent dependencies of new disabled PMGR gates before enabling + a gate or its consumer. - Resolve every provider/routing gap called out below. No guessed address, interrupt parent or power-domain relationship was substituted. - Validate on this board; no boot or peripheral test was performed. diff --git a/docs/devicetree/DT-GAPS-j815.md b/docs/devicetree/DT-GAPS-j815.md index 5b1f1574ee31a..c8bc523b98e51 100644 --- a/docs/devicetree/DT-GAPS-j815.md +++ b/docs/devicetree/DT-GAPS-j815.md @@ -19,6 +19,8 @@ No firmware, calibration or register programming values are included. - Complete the transport children and firmware-service bindings, pinmux, port graphs and board wiring. Listing a controller does not cover its attached peripherals. +- Audit the parent dependencies of new disabled PMGR gates before enabling + a gate or its consumer. - Resolve every provider/routing gap called out below. No guessed address, interrupt parent or power-domain relationship was substituted. - Validate on this board; no boot or peripheral test was performed.