diff --git a/Documentation/devicetree/bindings/crypto/apple,aes.yaml b/Documentation/devicetree/bindings/crypto/apple,aes.yaml index 1b55625851940..036749196afce 100644 --- a/Documentation/devicetree/bindings/crypto/apple,aes.yaml +++ b/Documentation/devicetree/bindings/crypto/apple,aes.yaml @@ -22,11 +22,17 @@ properties: - items: - const: apple,t8140-aes - const: apple,aes + - items: + - enum: + - apple,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + - const: apple,aes reg: - minItems: 3 + minItems: 2 maxItems: 3 - description: Register apertures in hardware-description order. + description: Engine and control banks, with an auxiliary bank on later variants. interrupts: maxItems: 1 @@ -44,4 +50,24 @@ required: - power-domains - iommus +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + then: + properties: + reg: + minItems: 2 + maxItems: 2 + else: + properties: + reg: + minItems: 3 + maxItems: 3 + additionalProperties: false diff --git a/Documentation/devicetree/bindings/display/apple,dpin.yaml b/Documentation/devicetree/bindings/display/apple,dpin.yaml index 340d078c054d1..fc9d9b31565c8 100644 --- a/Documentation/devicetree/bindings/display/apple,dpin.yaml +++ b/Documentation/devicetree/bindings/display/apple,dpin.yaml @@ -18,6 +18,12 @@ properties: - items: - const: apple,t6041-dpin - const: apple,dpin + - items: + - enum: + - apple,t8122-dpin + - apple,t6030-dpin + - apple,t6031-dpin + - const: apple,dpin reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml index 530b4f7402804..b65c3b5fcb9e6 100644 --- a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml +++ b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml @@ -19,6 +19,12 @@ properties: - items: - const: apple,t6041-pcie-piodma - const: apple,pcie-piodma + - items: + - enum: + - apple,t8122-pcie-piodma + - apple,t6030-pcie-piodma + - apple,t6031-pcie-piodma + - const: apple,pcie-piodma reg: minItems: 3 diff --git a/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml index 7381a24bba808..fc81bae2e0cad 100644 --- a/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml +++ b/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml @@ -19,6 +19,12 @@ properties: - items: - const: apple,t6041-pciec-piodma - const: apple,pciec-piodma + - items: + - enum: + - apple,t8122-pciec-piodma + - apple,t6030-pciec-piodma + - apple,t6031-pciec-piodma + - const: apple,pciec-piodma reg: minItems: 4 diff --git a/Documentation/devicetree/bindings/dma/apple,sio.yaml b/Documentation/devicetree/bindings/dma/apple,sio.yaml index 5a6e7e84cd469..4f7c305dd32b6 100644 --- a/Documentation/devicetree/bindings/dma/apple,sio.yaml +++ b/Documentation/devicetree/bindings/dma/apple,sio.yaml @@ -29,9 +29,22 @@ allOf: minItems: 3 maxItems: 3 else: - properties: - reg: - maxItems: 1 + if: + properties: + compatible: + contains: + enum: + - apple,t6031-sio + - apple,t8122-sio + then: + properties: + reg: + minItems: 2 + maxItems: 2 + else: + properties: + reg: + maxItems: 1 properties: compatible: @@ -41,6 +54,8 @@ properties: - apple,t6000-sio - apple,t6020-sio - apple,t6030-sio + - apple,t6031-sio + - apple,t8122-sio - apple,t8103-sio - apple,t8112-sio - apple,t8140-sio diff --git a/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml b/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml index 157b0f836b1e3..19544c7470aa9 100644 --- a/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml +++ b/Documentation/devicetree/bindings/edac/apple,soc-error-handler.yaml @@ -29,19 +29,30 @@ properties: - items: - const: apple,t8140-event-log - const: apple,soc-event-log + - items: + - enum: + - apple,t8122-error-handler + - apple,t6030-error-handler + - apple,t6031-error-handler + - const: apple,soc-error-handler + - items: + - enum: + - apple,t8122-event-log + - apple,t6030-event-log + - apple,t6031-event-log + - const: apple,soc-event-log interrupts: minItems: 9 - maxItems: 89 + maxItems: 159 reg: minItems: 10 - maxItems: 25 - description: | - T6041 uses the qualified per-source NI status apertures in interrupt - order. T8140 publishes its native error/event register banks in - hardware-description order; their presence does not establish safe - AP access and the instances remain disabled until qualified. + maxItems: 123 + description: Status apertures in hardware-description order; native access requires qualification. + + power-domains: + maxItems: 1 required: - compatible @@ -99,6 +110,110 @@ allOf: reg: minItems: 10 maxItems: 10 + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-error-handler + then: + properties: + reg: + minItems: 19 + maxItems: 19 + interrupts: + minItems: 39 + maxItems: 39 + required: + - reg + - if: + properties: + compatible: + contains: + enum: + - apple,t6030-error-handler + then: + properties: + reg: + minItems: 26 + maxItems: 26 + interrupts: + minItems: 54 + maxItems: 54 + required: + - reg + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-event-log + then: + properties: + reg: + minItems: 13 + maxItems: 13 + interrupts: + minItems: 13 + maxItems: 13 + required: + - reg + - if: + properties: + compatible: + contains: + enum: + - apple,t6030-event-log + then: + properties: + reg: + minItems: 26 + maxItems: 26 + interrupts: + minItems: 26 + maxItems: 26 + required: + - reg + - if: + properties: + compatible: + contains: + enum: + - apple,t6031-event-log + then: + properties: + reg: + minItems: 25 + maxItems: 25 + interrupts: + minItems: 26 + maxItems: 26 + required: + - reg + - if: + properties: + compatible: + contains: + enum: + - apple,t6031-error-handler + then: + oneOf: + - properties: + reg: + minItems: 123 + maxItems: 123 + interrupts: + minItems: 159 + maxItems: 159 + - properties: + reg: + minItems: 113 + maxItems: 113 + interrupts: + minItems: 141 + maxItems: 141 + required: + - reg additionalProperties: false diff --git a/Documentation/devicetree/bindings/iommu/apple,dapf.yaml b/Documentation/devicetree/bindings/iommu/apple,dapf.yaml new file mode 100644 index 0000000000000..2a1635099f474 --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/apple,dapf.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iommu/apple,dapf.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple DMA address protection filter + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the Apple Silicon DMA address protection filter. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8122-dapf + - apple,t6030-dapf + - apple,t6031-dapf + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-dapf + - apple,t6030-dapf + - apple,t6031-dapf + - const: apple,dapf + + reg: + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml b/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml new file mode 100644 index 0000000000000..ba8b8fd188358 --- /dev/null +++ b/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iommu/apple,dart-smmu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple system MMU companion interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the Apple Silicon system MMU companion interface. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8122-dart-smmu + - apple,t6030-dart-smmu + - apple,t6031-dart-smmu + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-dart-smmu + - apple,t6030-dart-smmu + - apple,t6031-dart-smmu + - const: apple,dart-smmu + + reg: + maxItems: 1 + +required: + - compatible + - reg + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,jpeg.yaml b/Documentation/devicetree/bindings/media/apple,jpeg.yaml index 056e1d33c00fd..5cc05c299f30b 100644 --- a/Documentation/devicetree/bindings/media/apple,jpeg.yaml +++ b/Documentation/devicetree/bindings/media/apple,jpeg.yaml @@ -21,9 +21,16 @@ description: | properties: compatible: - enum: - - apple,t6041-jpeg - - apple,t8140-jpeg + oneOf: + - enum: + - apple,t6041-jpeg + - apple,t8140-jpeg + - items: + - enum: + - apple,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-jpeg + - const: apple,jpeg reg: maxItems: 1 @@ -72,6 +79,18 @@ allOf: else: properties: apple,dma-range: false + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-jpeg + then: + properties: + power-domains: + maxItems: 1 additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,prores.yaml b/Documentation/devicetree/bindings/media/apple,prores.yaml index 4124c331a9f8c..120b43289bbfe 100644 --- a/Documentation/devicetree/bindings/media/apple,prores.yaml +++ b/Documentation/devicetree/bindings/media/apple,prores.yaml @@ -21,6 +21,12 @@ properties: - items: - const: apple,t6041-prores - const: apple,prores + - items: + - enum: + - apple,t8122-prores + - apple,t6030-prores + - apple,t6031-prores + - const: apple,prores reg: minItems: 2 @@ -39,7 +45,8 @@ properties: maxItems: 2 iommus: - maxItems: 1 + minItems: 1 + maxItems: 2 power-domains: minItems: 1 @@ -59,7 +66,6 @@ properties: required: - compatible - reg - - reg-names - interrupts - iommus - power-domains @@ -69,25 +75,47 @@ allOf: properties: compatible: contains: - const: apple,t6041-prores + enum: + - apple,t8122-prores + - apple,t6030-prores + - apple,t6031-prores then: properties: reg: - minItems: 3 + minItems: 2 maxItems: 3 - reg-names: - minItems: 3 - maxItems: 3 - interrupts: + power-domains: maxItems: 1 - required: - - resets else: + allOf: + - if: + properties: + compatible: + contains: + const: apple,t6041-prores + then: + properties: + reg: + minItems: 3 + maxItems: 3 + reg-names: + minItems: 3 + maxItems: 3 + interrupts: + maxItems: 1 + required: + - resets + else: + properties: + reg: + maxItems: 2 + reg-names: + maxItems: 2 properties: - reg: - maxItems: 2 - reg-names: - maxItems: 2 + iommus: + maxItems: 1 + required: + - reg-names additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,scaler.yaml b/Documentation/devicetree/bindings/media/apple,scaler.yaml index b5f2f5b0e50eb..57fd0cf3989ff 100644 --- a/Documentation/devicetree/bindings/media/apple,scaler.yaml +++ b/Documentation/devicetree/bindings/media/apple,scaler.yaml @@ -23,22 +23,27 @@ properties: - items: - const: apple,t8140-scaler - const: apple,scaler + - items: + - enum: + - apple,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + - const: apple,scaler reg: - minItems: 4 + minItems: 3 maxItems: 4 - description: Register apertures in hardware-description order. interrupts: minItems: 2 maxItems: 2 power-domains: - minItems: 2 + minItems: 1 maxItems: 2 iommus: - minItems: 2 + minItems: 1 maxItems: 2 clocks: @@ -52,8 +57,35 @@ required: - reg - interrupts - power-domains - - resets - iommus - - clocks + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + then: + properties: + reg: + minItems: 3 + maxItems: 4 + else: + properties: + reg: + minItems: 4 + maxItems: 4 + power-domains: + minItems: 2 + maxItems: 2 + iommus: + minItems: 2 + maxItems: 2 + required: + - resets + - clocks additionalProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml index dadb98b19f822..17f21360f6ef0 100644 --- a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml +++ b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml @@ -16,17 +16,23 @@ description: | properties: compatible: - enum: - - apple,t6000-ave - - apple,t6041-ave - - apple,t8112-ave - - apple,t8140-ave + oneOf: + - enum: + - apple,t6000-ave + - apple,t6041-ave + - apple,t8112-ave + - apple,t8140-ave + - items: + - enum: + - apple,t8122-ave + - apple,t6030-ave + - apple,t6031-ave + - const: apple,ave reg: - items: - - description: Codec registers - - description: Mailbox registers - - description: Coprocessor registers + minItems: 3 + maxItems: 5 + description: Codec, mailbox and coprocessor banks, plus two M3 auxiliary banks. reg-names: items: @@ -43,7 +49,7 @@ properties: - description: Codec interrupt handled by the firmware power-domains: - minItems: 5 + minItems: 1 maxItems: 6 power-domain-names: @@ -71,10 +77,34 @@ properties: required: - compatible - reg - - reg-names - interrupts - power-domains - - power-domain-names - iommus +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-ave + - apple,t6030-ave + - apple,t6031-ave + then: + properties: + reg: + minItems: 5 + maxItems: 5 + else: + properties: + reg: + minItems: 3 + maxItems: 3 + power-domains: + minItems: 5 + maxItems: 6 + required: + - reg-names + - power-domain-names + additionalProperties: false diff --git a/Documentation/devicetree/bindings/misc/apple,display-pcon.yaml b/Documentation/devicetree/bindings/misc/apple,display-pcon.yaml index 095b4bfd67ee8..ea095a1832c88 100644 --- a/Documentation/devicetree/bindings/misc/apple,display-pcon.yaml +++ b/Documentation/devicetree/bindings/misc/apple,display-pcon.yaml @@ -16,7 +16,11 @@ description: | properties: compatible: items: - - const: apple,t6041-display-pcon + - enum: + - apple,t6041-display-pcon + - apple,t8122-display-pcon + - apple,t6030-display-pcon + - apple,t6031-display-pcon - const: apple,display-pcon reg: diff --git a/Documentation/devicetree/bindings/misc/apple,sd-card-control.yaml b/Documentation/devicetree/bindings/misc/apple,sd-card-control.yaml index 7671d72d9b306..00f1b60a7b232 100644 --- a/Documentation/devicetree/bindings/misc/apple,sd-card-control.yaml +++ b/Documentation/devicetree/bindings/misc/apple,sd-card-control.yaml @@ -16,7 +16,10 @@ description: | properties: compatible: items: - - const: apple,t6041-sd-card-control + - enum: + - apple,t6041-sd-card-control + - apple,t6030-sd-card-control + - apple,t6031-sd-card-control - const: apple,sd-card-control reg: diff --git a/Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml b/Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml index fabdcd74fb2cf..7d3713754e7a6 100644 --- a/Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml +++ b/Documentation/devicetree/bindings/mux/apple,display-crossbar.yaml @@ -33,6 +33,7 @@ properties: - items: - enum: - apple,t6030-display-crossbar + - apple,t6031-display-crossbar - apple,t8122-display-crossbar - const: apple,t6020-display-crossbar diff --git a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml index dc52ed4398ab3..5364f6dd8871b 100644 --- a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml +++ b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml @@ -42,60 +42,100 @@ allOf: properties: compatible: contains: - const: apple,t8132-atcphy + enum: + - apple,t8122-atcphy + - apple,t6030-atcphy + - apple,t6031-atcphy then: - oneOf: - - properties: - reg: - minItems: 2 - maxItems: 2 - reg-names: - items: - - const: usb2phy - - const: pipehandler - - properties: - reg: - items: - - description: USB2 PHY specific controls - - description: USB3 PIPE interface controls - - description: SuperSpeed PHY core, excluding the display crossbar - - description: AXI to Apple Fabric interface controls - - description: Local IO address translation controls - - description: ATC fabric controls - - description: ATC common configuration controls - reg-names: - items: - - const: usb2phy - - const: pipehandler - - const: core - - const: axi2af - - const: lioa - - const: fabric - - const: common-config - required: - - power-domains - else: properties: reg: - minItems: 5 + minItems: 1 items: - - description: Common controls for all PHYs (USB2/3/4, DisplayPort, TBT) - - description: DisplayPort Alternate Mode PHY specific controls - - description: Type-C PHY AXI to Apple Fabric interconnect controls - - description: USB2 PHY specific controls - - description: USB3 PIPE interface controls - - description: Secondary eUSB2 PHY register bank (T8140) + - description: Common controls for USB and DisplayPort + - description: DisplayPort alternate mode PHY + - description: AXI to Apple Fabric interface + - description: USB2 PHY + - description: USB3 PIPE interface reg-names: - minItems: 5 + minItems: 1 items: - const: core - const: lpdptx - const: axi2af - const: usb2phy - const: pipehandler - - const: usb2phy-reg + oneOf: + - properties: + reg: + maxItems: 1 + reg-names: + maxItems: 1 + - properties: + reg: + minItems: 5 + reg-names: + minItems: 5 required: - power-domains + else: + if: + properties: + compatible: + contains: + const: apple,t8132-atcphy + then: + oneOf: + - properties: + reg: + minItems: 2 + maxItems: 2 + reg-names: + items: + - const: usb2phy + - const: pipehandler + - properties: + reg: + items: + - description: USB2 PHY specific controls + - description: USB3 PIPE interface controls + - description: SuperSpeed PHY core, excluding the display crossbar + - description: AXI to Apple Fabric interface controls + - description: Local IO address translation controls + - description: ATC fabric controls + - description: ATC common configuration controls + reg-names: + items: + - const: usb2phy + - const: pipehandler + - const: core + - const: axi2af + - const: lioa + - const: fabric + - const: common-config + required: + - power-domains + else: + properties: + reg: + minItems: 5 + items: + - description: Common controls for all PHYs (USB2/3/4, DisplayPort, TBT) + - description: DisplayPort Alternate Mode PHY specific controls + - description: Type-C PHY AXI to Apple Fabric interconnect controls + - description: USB2 PHY specific controls + - description: USB3 PIPE interface controls + - description: Secondary eUSB2 PHY register bank (T8140) + reg-names: + minItems: 5 + items: + - const: core + - const: lpdptx + - const: axi2af + - const: usb2phy + - const: pipehandler + - const: usb2phy-reg + required: + - power-domains - if: properties: compatible: @@ -154,6 +194,20 @@ allOf: apple,tunable-cio-lane1: false apple,tunable-cio-lane1-eq: false apple,tunable-cio-post: false + - if: + properties: + compatible: + not: + contains: + enum: + - apple,t8122-atcphy + - apple,t6030-atcphy + - apple,t6031-atcphy + then: + required: + - orientation-switch + - mode-switch + - ports $defs: apple,tunable: @@ -181,16 +235,22 @@ properties: - apple,t8112-atcphy - const: apple,t8103-atcphy - const: apple,t8103-atcphy + - const: apple,t8122-atcphy + - items: + - enum: + - apple,t6030-atcphy + - apple,t6031-atcphy + - const: apple,t8122-atcphy - const: apple,t8132-atcphy - const: apple,t8140-atcphy - const: apple,t8142-atcphy reg: - minItems: 2 + minItems: 1 maxItems: 7 reg-names: - minItems: 2 + minItems: 1 maxItems: 7 "#phy-cells": @@ -399,9 +459,6 @@ required: - reg-names - "#phy-cells" - "#reset-cells" - - orientation-switch - - mode-switch - - ports additionalProperties: false diff --git a/Documentation/devicetree/bindings/phy/apple,dptx-phy.yaml b/Documentation/devicetree/bindings/phy/apple,dptx-phy.yaml new file mode 100644 index 0000000000000..bfbdcae204038 --- /dev/null +++ b/Documentation/devicetree/bindings/phy/apple,dptx-phy.yaml @@ -0,0 +1,51 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/phy/apple,dptx-phy.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple DisplayPort transmitter PHY + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the Apple Silicon DisplayPort transmitter PHY. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8122-dptx-phy + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-dptx-phy + - const: apple,dptx-phy + + reg: + minItems: 2 + maxItems: 2 + + power-domains: + maxItems: 1 + + '#phy-cells': + const: 0 + +required: + - compatible + - reg + - power-domains + - '#phy-cells' + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/pwm/apple,pwm.yaml b/Documentation/devicetree/bindings/pwm/apple,pwm.yaml new file mode 100644 index 0000000000000..41070fc68212b --- /dev/null +++ b/Documentation/devicetree/bindings/pwm/apple,pwm.yaml @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/pwm/apple,pwm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple timer PWM controller + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + The timer PWM controller is distinct from the FPWM keyboard-backlight + controller. It has one register aperture, one interrupt and a PMGR gate. + On T6000 the plain-PWM view shares its register bank with FPWM0, + but has a distinct gate and interrupt. Ownership must be coordinated + before either interface is used alongside the other. + +properties: + compatible: + oneOf: + - items: + - enum: + - apple,t8103-pwm + - apple,t8122-pwm + - const: apple,pwm + - items: + - const: apple,t6000-pwm + - const: apple,pwm + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + +required: + - compatible + - reg + - interrupts + - power-domains + +additionalProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml index 13dec59b733fc..0b135d115081a 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml @@ -22,6 +22,10 @@ properties: - items: - const: apple,t8140-aon-ptd - const: apple,aon-ptd + - items: + - enum: + - apple,t6031-aon-ptd + - const: apple,aon-ptd reg: minItems: 4 diff --git a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml index e067b3f3665b9..1fe2463e7e5b5 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml @@ -22,6 +22,12 @@ properties: - items: - const: apple,t8140-dwi - const: apple,dwi + - items: + - enum: + - apple,t8122-dwi + - apple,t6030-dwi + - apple,t6031-dwi + - const: apple,dwi reg: maxItems: 1 diff --git a/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml b/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml index 15e3e504b06ba..cfff13bbdb46e 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml @@ -18,6 +18,12 @@ properties: - items: - const: apple,t8140-rsm - const: apple,rsm + - items: + - enum: + - apple,t8122-rsm + - apple,t6030-rsm + - apple,t6031-rsm + - const: apple,rsm reg: minItems: 2 @@ -30,6 +36,9 @@ properties: iommus: maxItems: 1 + power-domains: + maxItems: 1 + required: - compatible - reg diff --git a/Documentation/devicetree/bindings/soc/apple/apple,sep.yaml b/Documentation/devicetree/bindings/soc/apple/apple,sep.yaml index 83ad3aa31a4b7..06a404265ab56 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,sep.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,sep.yaml @@ -18,10 +18,19 @@ description: properties: compatible: - const: apple,sep + oneOf: + - const: apple,sep + - items: + - enum: + - apple,t6030-sep + - apple,t6031-sep + - const: apple,sep reg: - maxItems: 1 + minItems: 1 + items: + - description: Coprocessor control registers + - description: Coprocessor boot interface mboxes: maxItems: 1 diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml index 63767db0cea1a..340191d87e30b 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml @@ -24,6 +24,12 @@ properties: - items: - const: apple,t6041-mcc - const: apple,t8140-mcc + - items: + - enum: + - apple,t8122-mcc + - apple,t6030-mcc + - apple,t6031-mcc + - const: apple,mcc reg: description: Per-plane blocks on T8140, or the two multicast apertures on T8132. diff --git a/Documentation/devicetree/bindings/spi/apple,qspi.yaml b/Documentation/devicetree/bindings/spi/apple,qspi.yaml index 40d08a8273712..bd883e32ec7e7 100644 --- a/Documentation/devicetree/bindings/spi/apple,qspi.yaml +++ b/Documentation/devicetree/bindings/spi/apple,qspi.yaml @@ -25,6 +25,12 @@ properties: - apple,t8132-qspi - apple,t6041-qspi - apple,t8140-qspi + - items: + - enum: + - apple,t6030-qspi + - apple,t6031-qspi + - apple,t8122-qspi + - const: apple,qspi - items: - const: apple,t8152-qspi - const: apple,t8140-qspi diff --git a/Documentation/devicetree/bindings/spmi/apple,spmi.yaml b/Documentation/devicetree/bindings/spmi/apple,spmi.yaml index 4caa16e98ab8e..291a4fb01ef9c 100644 --- a/Documentation/devicetree/bindings/spmi/apple,spmi.yaml +++ b/Documentation/devicetree/bindings/spmi/apple,spmi.yaml @@ -41,7 +41,11 @@ properties: - const: apple,t8142-spmi reg: - maxItems: 1 + minItems: 1 + items: + - description: SPMI command interface + - description: SPMI interrupt interface + - description: SPMI auxiliary interface interrupts: maxItems: 1 diff --git a/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml b/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml new file mode 100644 index 0000000000000..bb4b9f1bb5ab9 --- /dev/null +++ b/Documentation/devicetree/bindings/usb/apple,usb2-otg.yaml @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/usb/apple,usb2-otg.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple USB2 OTG interface + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Hardware resources of the Apple Silicon USB2 OTG interface. + The interface is described for discovery and must remain disabled until + its ownership, initialization and shutdown are supported. Register windows + are listed in hardware resource order; firmware configuration and tuning + data are supplied by the boot firmware rather than this binding. + +select: + properties: + compatible: + contains: + enum: + - apple,t8122-usb2-otg + - apple,t6030-usb2-otg + - apple,t6031-usb2-otg + required: + - compatible + +properties: + compatible: + items: + - enum: + - apple,t8122-usb2-otg + - apple,t6030-usb2-otg + - apple,t6031-usb2-otg + - const: apple,usb2-otg + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + maxItems: 1 + + iommus: + minItems: 2 + maxItems: 2 + + power-domains: + maxItems: 1 + + phys: + maxItems: 1 + phy-names: + const: usb2-phy + +required: + - compatible + - reg + - interrupts + - iommus + - power-domains + - phys + - phy-names + +additionalProperties: false diff --git a/arch/arm64/boot/dts/apple/t6030-coprocessors.dtsi b/arch/arm64/boot/dts/apple/t6030-coprocessors.dtsi new file mode 100644 index 0000000000000..8ffda682587ef --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6030-coprocessors.dtsi @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled coprocessor interfaces; firmware handoff remains a loader job. */ + +&soc { + sep_dart: iommu@29cac0000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0x9cac0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + sep_mbox: mailbox@29e408000 { + compatible = "apple,t6030-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x2 0x9e408000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + power-domains = <&ps_sep>; + status = "disabled"; + }; + + sep: sep@29e400000 { + compatible = "apple,t6030-sep", "apple,sep"; + reg = <0x2 0x9e400000 0 0x6c000>, + <0x2 0x9e050000 0 0x60000>; + mboxes = <&sep_mbox>; + mbox-names = "mbox"; + iommus = <&sep_dart 0>; + power-domains = <&ps_sep>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6030-j514s.dts b/arch/arm64/boot/dts/apple/t6030-j514s.dts index 1116c648a2c23..1ccf2f1294d6b 100644 --- a/arch/arm64/boot/dts/apple/t6030-j514s.dts +++ b/arch/arm64/boot/dts/apple/t6030-j514s.dts @@ -99,3 +99,19 @@ &isp { apple,platform-id = <16>; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6030-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6030-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6030-j516s.dts b/arch/arm64/boot/dts/apple/t6030-j516s.dts index af0e51a734df9..d3fff6b103fde 100644 --- a/arch/arm64/boot/dts/apple/t6030-j516s.dts +++ b/arch/arm64/boot/dts/apple/t6030-j516s.dts @@ -99,3 +99,20 @@ &isp { apple,platform-id = <16>; }; + + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6030-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6030-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6030-misc-interfaces.dtsi b/arch/arm64/boot/dts/apple/t6030-misc-interfaces.dtsi new file mode 100644 index 0000000000000..f10ac39c4d357 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6030-misc-interfaces.dtsi @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled tunnel translation and miscellaneous interfaces. */ + +&soc { + pciec1_dart: iommu@b21008000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0xb 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc1_cio_pcie>; + status = "disabled"; + }; + + pciec2_dart: iommu@f21008000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0xf 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc2_cio_pcie>; + status = "disabled"; + }; + + serial2: serial@289208000 { + compatible = "apple,s5l-uart"; + reg = <0x2 0x89208000 0 0x4000>; + reg-io-width = <4>; + interrupt-parent = <&aic>; + interrupts = ; + /* Reference parents follow UART0; selectable baud parents need review. */ + clocks = <&clkref>, <&clkref>; + clock-names = "uart", "clk_uart_baud0"; + power-domains = <&ps_uart2>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi new file mode 100644 index 0000000000000..b03254c622758 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6030-peripheral-buses.dtsi @@ -0,0 +1,85 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Unclaimed T6030 peripheral buses. */ + +&soc { + spi2: spi@289108000 { + compatible = "apple,t6030-spi", "apple,t8103-spi"; + reg = <0x2 0x89108000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi2>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spi4: spi@289110000 { + compatible = "apple,t6030-spi", "apple,t8103-spi"; + reg = <0x2 0x89110000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi4>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi1: spmi@364794000 { + compatible = "apple,t6030-spmi", "apple,t8103-spmi"; + reg = <0x3 0x64794000 0 0x4000>, + <0x3 0x64784000 0 0x4000>, + <0x3 0x64780000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi2: spmi@364814000 { + compatible = "apple,t6030-spmi", "apple,t8103-spmi"; + reg = <0x3 0x64814000 0 0x4000>, + <0x3 0x64804000 0 0x4000>, + <0x3 0x64800000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi0: spmi@374894000 { + compatible = "apple,t6030-spmi", "apple,t8103-spmi"; + reg = <0x3 0x74894000 0 0x4000>, + <0x3 0x74884000 0 0x4000>, + <0x3 0x74880000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi1: spmi@3748d4000 { + compatible = "apple,t6030-spmi", "apple,t8103-spmi"; + reg = <0x3 0x748d4000 0 0x4000>, + <0x3 0x748c4000 0 0x4000>, + <0x3 0x748c0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi new file mode 100644 index 0000000000000..1f38eb1255901 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6030-peripherals.dtsi @@ -0,0 +1,511 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6030 hardware interfaces. Keep unclaimed engines disabled. */ + +&soc { + dart_rsm: iommu@36433c000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x3 0x6433c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_scaler: iommu@391200000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x3 0x91200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg0: iommu@299004000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0x99004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg1: iommu@29900c000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0x9900c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave0: iommu@2cd030000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0xcd030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave1: iommu@2cd040000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x2 0xcd040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave2: iommu@2cd020000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xcd020000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave3: filter@2cd044000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x2 0xcd044000 0x0 0x4000>; + status = "disabled"; + }; + + dart_apr0: iommu@30d028000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x3 0x0d028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_apr1: iommu@30d02c000 { + compatible = "apple,t6030-dart", "apple,t8110-dart"; + reg = <0x3 0x0d02c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_aop_companion1: filter@37481c000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x3 0x7481c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_mtp_companion1: filter@37a80c000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x3 0x7a80c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_disp0_companion1: iommu@28d300000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x8d300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext0_companion1: iommu@2d1300000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xd1300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext1_companion1: iommu@2d5300000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xd5300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion3: iommu@2ca4b0000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xca4b0000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion4: iommu@2ca4b8000 { + compatible = "apple,t6030-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xca4b8000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion5: filter@2ca4ac000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x2 0xca4ac000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ane_companion3: filter@309804000 { + compatible = "apple,t6030-dapf", "apple,dapf"; + reg = <0x3 0x09804000 0x0 0x4000>; + status = "disabled"; + }; + + apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6030-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_1 15>; + status = "disabled"; + }; + + apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t6030-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_0 15>; + status = "disabled"; + }; + + apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t6030-pciec-piodma", "apple,pciec-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&usb4_0_pcie_dart 15>; + status = "disabled"; + }; + + atc0_dpin0: displayport@701e50000 { + compatible = "apple,t6030-dpin", "apple,dpin"; + reg = <0x7 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin1: displayport@701e58000 { + compatible = "apple,t6030-dpin", "apple,dpin"; + reg = <0x7 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t6030-pciec-piodma", "apple,pciec-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pciec1_dart 15>; + status = "disabled"; + }; + + atc1_dpin0: displayport@b01e50000 { + compatible = "apple,t6030-dpin", "apple,dpin"; + reg = <0xb 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin1: displayport@b01e58000 { + compatible = "apple,t6030-dpin", "apple,dpin"; + reg = <0xb 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec2_piodma: dma-controller@f22000000 { + compatible = "apple,t6030-pciec-piodma", "apple,pciec-piodma"; + reg = <0xf 0x22000000 0x0 0x4000>, + <0xf 0x22004000 0x0 0x4000>, + <0xf 0x22008000 0x0 0x4000>, + <0xf 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pciec2_dart 15>; + status = "disabled"; + }; + + atc2_dpin0: displayport@f01e50000 { + compatible = "apple,t6030-dpin", "apple,dpin"; + reg = <0xf 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc2_dpin1: displayport@f01e58000 { + compatible = "apple,t6030-dpin", "apple,dpin"; + reg = <0xf 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + mcc: memory-controller@3503c0000 { + compatible = "apple,t6030-mcc", "apple,mcc"; + reg = <0x3 0x503c0000 0x0 0x20000>, + <0x3 0x50478000 0x0 0x149c>, + <0x3 0x50780000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>; + status = "disabled"; + }; + + error_handler: error-handler@29cc40000 { + compatible = "apple,t6030-error-handler", "apple,soc-error-handler"; + reg = <0x2 0x9cc40000 0x0 0x40000>, + <0x3 0x50000000 0x0 0x7c000>, + <0x3 0x50700000 0x0 0xcc000>, + <0x3 0x642c8000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x2 0xc0000000 0x0 0x4000>, + <0x3 0x00000000 0x0 0x4000>, + <0x3 0x80000000 0x0 0x4000>, + <0x2 0x59800000 0x0 0x40000>, + <0x2 0x59c00000 0x0 0x40000>, + <0x2 0x5a000000 0x0 0x40000>, + <0x2 0x5a400000 0x0 0x40000>, + <0x2 0x4fc00000 0x0 0x40000>, + <0x2 0x50000000 0x0 0x40000>, + <0x2 0x50100000 0x0 0x40000>, + <0x2 0x58800000 0x0 0x40000>, + <0x2 0x58c00000 0x0 0x40000>, + <0x2 0x59000000 0x0 0x40000>, + <0x2 0x59400000 0x0 0x40000>, + <0x2 0x4f400000 0x0 0x40000>, + <0x2 0x4f800000 0x0 0x40000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>, + <0x2 0x58432000 0x0 0x1000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + dwi: dwi@350200000 { + compatible = "apple,t6030-dwi", "apple,dwi"; + reg = <0x3 0x50200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + aes: crypto@28900c000 { + compatible = "apple,t6030-aes", "apple,aes"; + reg = <0x2 0x8900c000 0x0 0x4000>, + <0x3 0x642dc000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_aes>; + iommus = <&sio_dart 1>; + status = "disabled"; + }; + + event_log_handler: event-log@350700000 { + compatible = "apple,t6030-event-log", "apple,soc-event-log"; + reg = <0x3 0x50700000 0x0 0xcc000>, + <0x3 0x64280000 0x0 0x80000>, + <0x3 0x50000000 0x0 0x70000>, + <0x3 0x64200000 0x0 0x7c000>, + <0x3 0x50290000 0x0 0x4000>, + <0x3 0x50294000 0x0 0x4000>, + <0x3 0x50298000 0x0 0x4000>, + <0x3 0x5029c000 0x0 0x4000>, + <0x3 0x5028c000 0x0 0x4000>, + <0x3 0x50280000 0x0 0x8000>, + <0x3 0x09868000 0x0 0x4000>, + <0x3 0x09838000 0x0 0x8000>, + <0x3 0x50340000 0x0 0x8000>, + <0x3 0x50350000 0x0 0x8000>, + <0x3 0x50270000 0x0 0x8000>, + <0x3 0x50440000 0x0 0x4000>, + <0x3 0x50444000 0x0 0x4000>, + <0x3 0x64080000 0x0 0x4000>, + <0x3 0x503f0000 0x0 0x4000>, + <0x3 0x503f4000 0x0 0x4000>, + <0x3 0x503f8000 0x0 0x4000>, + <0x3 0x50400000 0x0 0x1c000>, + <0x3 0x09918000 0x0 0x4000>, + <0x2 0x90e80000 0x0 0x30000>, + <0x2 0x90eb0000 0x0 0x4000>, + <0x2 0x90e5c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + rsm: rsm@364325000 { + compatible = "apple,t6030-rsm", "apple,rsm"; + reg = <0x3 0x64325000 0x0 0x4000>, + <0x3 0x643c0000 0x0 0x4>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&dart_rsm 0>; + status = "disabled"; + }; + + usb_otg0: usb@702100000 { + compatible = "apple,t6030-usb2-otg", "apple,usb2-otg"; + reg = <0x7 0x02100000 0x0 0x1000>, + <0x7 0x02a84000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_atc0_usb>; + iommus = <&dwc3_0_dart_0 1>, <&dwc3_0_dart_1 1>; + phys = <&atcphy0 PHY_TYPE_USB2>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + + scaler0: scaler@391000000 { + compatible = "apple,t6030-scaler", "apple,scaler"; + reg = <0x3 0x91000000 0x0 0x30000>, + <0x3 0x91210000 0x0 0x4000>, + <0x3 0x91204000 0x0 0x4000>, + <0x3 0x90000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr>, <&ps_msr_ase_core>; + iommus = <&dart_scaler 0>, <&dart_scaler 1>; + status = "disabled"; + }; + + jpeg0: jpeg@299000000 { + compatible = "apple,t6030-jpeg", "apple,jpeg"; + reg = <0x2 0x99000000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg0 0>; + status = "disabled"; + }; + + jpeg1: jpeg@299008000 { + compatible = "apple,t6030-jpeg", "apple,jpeg"; + reg = <0x2 0x99008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg1 0>; + status = "disabled"; + }; + + ave: video-encoder@2cd100000 { + compatible = "apple,t6030-ave", "apple,ave"; + reg = <0x2 0xcd100000 0x0 0x45c000>, + <0x2 0xcd800000 0x0 0x800000>, + <0x2 0xcd050000 0x0 0x4000>, + <0x3 0x507003d0 0x0 0x7c54>, + <0x2 0xcc000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + power-domains = <&ps_venc_sys>, <&ps_venc_pipe4>, <&ps_venc_pipe5>, <&ps_venc_me0>, <&ps_venc_me1>, <&ps_venc_dma>; + iommus = <&dart_ave0 0>, <&dart_ave1 0>; + status = "disabled"; + }; + + apr: video-codec@30d000000 { + compatible = "apple,t6030-prores", "apple,prores"; + reg = <0x3 0x0d000000 0x0 0x4000>, + <0x3 0x0c000000 0x0 0x8000>, + <0x3 0x0d078000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_scodec>; + iommus = <&dart_apr0 1>, <&dart_apr1 1>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6030.dtsi b/arch/arm64/boot/dts/apple/t6030.dtsi index 38f61480ad4da..020be8f5a9a83 100644 --- a/arch/arm64/boot/dts/apple/t6030.dtsi +++ b/arch/arm64/boot/dts/apple/t6030.dtsi @@ -2173,6 +2173,14 @@ #include "t6030-usb4.dtsi" #include "t6030-dcp.dtsi" +#include "t6030-peripherals.dtsi" + +#include "t6030-peripheral-buses.dtsi" + +#include "t6030-coprocessors.dtsi" + +#include "t6030-misc-interfaces.dtsi" + &smc_hwmon { /* Not yet checked on hardware; absent firmware keys are skipped. */ apple,soc-die-keys = "Tf04", "Tf09", "Tf0A", "Tf0B", "Tf0D", diff --git a/arch/arm64/boot/dts/apple/t6031-coprocessors.dtsi b/arch/arm64/boot/dts/apple/t6031-coprocessors.dtsi new file mode 100644 index 0000000000000..0db0e1cac83d8 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6031-coprocessors.dtsi @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled coprocessor interfaces; firmware handoff remains a loader job. */ + +&soc { + sep_dart: iommu@388ac0000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0x88ac0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + sep_mbox: mailbox@38a408000 { + compatible = "apple,t6031-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x3 0x8a408000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + power-domains = <&ps_sep>; + status = "disabled"; + }; + + sep: sep@38a400000 { + compatible = "apple,t6031-sep", "apple,sep"; + reg = <0x3 0x8a400000 0 0x6c000>, + <0x3 0x8a050000 0 0x4000>; + mboxes = <&sep_mbox>; + mbox-names = "mbox"; + iommus = <&sep_dart 0>; + power-domains = <&ps_sep>; + status = "disabled"; + }; + + sio_mbox: mailbox@391c08000 { + compatible = "apple,t6031-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x3 0x91c08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + power-domains = <&ps_sio_cpu>; + status = "disabled"; + }; + + sio: dma-controller@391c00000 { + compatible = "apple,t6031-sio", "apple,sio"; + reg = <0x3 0x91c00000 0 0x6c000>, + <0x3 0x91850000 0 0x4000>; + mboxes = <&sio_mbox>; + #dma-cells = <1>; + dma-channels = <128>; + iommus = <&sio_dart 0>; + power-domains = <&ps_sio_cpu>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6031-j514c.dts b/arch/arm64/boot/dts/apple/t6031-j514c.dts index df6afe849e6e8..e2c32d03e7318 100644 --- a/arch/arm64/boot/dts/apple/t6031-j514c.dts +++ b/arch/arm64/boot/dts/apple/t6031-j514c.dts @@ -55,3 +55,20 @@ compatible = "apple,j514-macaudio", "apple,j314-macaudio", "apple,macaudio"; model = "MacBook Pro J514"; }; + + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6031-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6031-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6031-j516c.dts b/arch/arm64/boot/dts/apple/t6031-j516c.dts index 521761356d01b..d68ee5a6c84b9 100644 --- a/arch/arm64/boot/dts/apple/t6031-j516c.dts +++ b/arch/arm64/boot/dts/apple/t6031-j516c.dts @@ -55,3 +55,20 @@ compatible = "apple,j516-macaudio", "apple,j316-macaudio", "apple,macaudio"; model = "MacBook Pro J516"; }; + + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6031-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6031-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6031-misc-interfaces.dtsi b/arch/arm64/boot/dts/apple/t6031-misc-interfaces.dtsi new file mode 100644 index 0000000000000..9792325980175 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6031-misc-interfaces.dtsi @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled tunnel translation and miscellaneous interfaces. */ + +&soc { + pciec0_dart: iommu@721008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x7 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc0_cio_pcie>; + status = "disabled"; + }; + + pciec1_dart: iommu@b21008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0xb 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc1_cio_pcie>; + status = "disabled"; + }; + + pciec2_dart: iommu@f21008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0xf 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc2_cio_pcie>; + status = "disabled"; + }; + + atcphy0_xbar: mux@70304c000 { + compatible = "apple,t6031-display-crossbar", + "apple,t6020-display-crossbar"; + reg = <0x7 0x0304c000 0 0x4000>; + #mux-control-cells = <1>; + power-domains = <&ps_atc0_usb>; + status = "disabled"; + }; + + atcphy1_xbar: mux@b0304c000 { + compatible = "apple,t6031-display-crossbar", + "apple,t6020-display-crossbar"; + reg = <0xb 0x0304c000 0 0x4000>; + #mux-control-cells = <1>; + power-domains = <&ps_atc1_usb>; + status = "disabled"; + }; + + atcphy2_xbar: mux@f0304c000 { + compatible = "apple,t6031-display-crossbar", + "apple,t6020-display-crossbar"; + reg = <0xf 0x0304c000 0 0x4000>; + #mux-control-cells = <1>; + power-domains = <&ps_atc2_usb>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi new file mode 100644 index 0000000000000..ad77a9f1a62b8 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6031-peripheral-buses.dtsi @@ -0,0 +1,162 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Unclaimed T6031 peripheral buses. */ + +&soc { + spi2: spi@391108000 { + compatible = "apple,t6031-spi", "apple,t8103-spi"; + reg = <0x3 0x91108000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi2>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + spi4: spi@391110000 { + compatible = "apple,t6031-spi", "apple,t8103-spi"; + reg = <0x3 0x91110000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi4>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + qspi: spi@391118000 { + compatible = "apple,t6031-qspi", "apple,qspi"; + reg = <0x3 0x91118000 0 0x4800>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_qspi>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi1: spmi@2a1054000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa1054000 0 0x4000>, + <0x2 0xa1044000 0 0x4000>, + <0x2 0xa1040000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi2: spmi@2a1094000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa1094000 0 0x4000>, + <0x2 0xa1084000 0 0x4000>, + <0x2 0xa1080000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi3: spmi@2a10d4000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa10d4000 0 0x4000>, + <0x2 0xa10c4000 0 0x4000>, + <0x2 0xa10c0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi4: spmi@2a1114000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa1114000 0 0x4000>, + <0x2 0xa1104000 0 0x4000>, + <0x2 0xa1100000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi0: spmi@2a8894000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa8894000 0 0x4000>, + <0x2 0xa8884000 0 0x4000>, + <0x2 0xa8880000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi1: spmi@2a88d4000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa88d4000 0 0x4000>, + <0x2 0xa88c4000 0 0x4000>, + <0x2 0xa88c0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + atcphy3: phy@1303000000 { + compatible = "apple,t6031-atcphy", "apple,t8122-atcphy"; + reg = <0x13 0x03000000 0 0x4c000>; + reg-names = "core"; + #phy-cells = <1>; + #reset-cells = <0>; + orientation-switch; + mode-switch; + power-domains = <&ps_atc3_common>; + status = "disabled"; + }; + + atcphy3_xbar: mux@130304c000 { + compatible = "apple,t6031-display-crossbar", + "apple,t6020-display-crossbar"; + reg = <0x13 0x0304c000 0 0x4000>; + #mux-control-cells = <1>; + power-domains = <&ps_atc3_usb>; + status = "disabled"; + }; + +}; + +&soc { + nub_spmi_a2: spmi@2a11a8000 { + compatible = "apple,t6031-spmi", "apple,t8103-spmi"; + reg = <0x2 0xa11a8000 0 0x4000>, + <0x2 0xa11a4000 0 0x4000>, + <0x2 0xa11a0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi new file mode 100644 index 0000000000000..e4027e2188c3b --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6031-peripherals.dtsi @@ -0,0 +1,878 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T6031 hardware interfaces. Keep unclaimed engines disabled. */ + +&soc { + dart_rsm: iommu@2a033c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xa033c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_scaler0: iommu@407200000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x4 0x07200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_msr0>; + status = "disabled"; + }; + + dart_scaler1: iommu@3c7200000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc7200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_msr1>; + status = "disabled"; + }; + + dart_apr00: iommu@2c5028000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xc5028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_scodec>; + status = "disabled"; + }; + + dart_apr01: iommu@2c502c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xc502c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_scodec>; + status = "disabled"; + }; + + dart_apr1: iommu@287008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x87008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_prores>; + status = "disabled"; + }; + + dart_jpeg0: iommu@2cf004000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xcf004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + dart_jpeg1: iommu@2cf00c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xcf00c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_jpg>; + status = "disabled"; + }; + + dart_ave00: iommu@285030000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x85030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_venc0_sys>; + status = "disabled"; + }; + + dart_ave01: iommu@285040000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x85040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_venc0_sys>; + status = "disabled"; + }; + + dart_ave02: iommu@285020000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x85020000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave03: filter@285044000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x2 0x85044000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave10: iommu@3c5030000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc5030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_venc1_sys>; + status = "disabled"; + }; + + dart_ave11: iommu@3c5040000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc5040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_venc1_sys>; + status = "disabled"; + }; + + dart_ave12: iommu@3c5020000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0xc5020000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave13: filter@3c5044000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x3 0xc5044000 0x0 0x4000>; + status = "disabled"; + }; + + dart_mtp_companion1: filter@2ac80c000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x2 0xac80c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp0_companion3: iommu@38e4b0000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x8e4b0000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp0_companion4: iommu@38e4b8000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x8e4b8000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp0_companion5: filter@38e4ac000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x3 0x8e4ac000 0x0 0x4000>; + status = "disabled"; + }; + + dart_aop_companion1: filter@2a881c000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x2 0xa881c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_disp0_companion1: iommu@385300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x85300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ane0_companion3: filter@3c9804000 { + compatible = "apple,t6031-dapf", "apple,dapf"; + reg = <0x3 0xc9804000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext0_companion1: iommu@305300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x05300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext1_companion1: iommu@449300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x4 0x49300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext2_companion1: iommu@44d300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x4 0x4d300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext3_companion1: iommu@2c9300000 { + compatible = "apple,t6031-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xc9300000 0x0 0x4000>; + status = "disabled"; + }; + + apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t6031-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_0 15>; + status = "disabled"; + }; + + apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6031-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart_1 15>; + status = "disabled"; + }; + + apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t6031-pciec-piodma", "apple,pciec-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pciec0_dart 15>; + status = "disabled"; + }; + + apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t6031-pciec-piodma", "apple,pciec-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pciec1_dart 15>; + status = "disabled"; + }; + + apciec2_piodma: dma-controller@f22000000 { + compatible = "apple,t6031-pciec-piodma", "apple,pciec-piodma"; + reg = <0xf 0x22000000 0x0 0x4000>, + <0xf 0x22004000 0x0 0x4000>, + <0xf 0x22008000 0x0 0x4000>, + <0xf 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pciec2_dart 15>; + status = "disabled"; + }; + + atc0_dpin0: displayport@701e50000 { + compatible = "apple,t6031-dpin", "apple,dpin"; + reg = <0x7 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin1: displayport@701e58000 { + compatible = "apple,t6031-dpin", "apple,dpin"; + reg = <0x7 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin0: displayport@b01e50000 { + compatible = "apple,t6031-dpin", "apple,dpin"; + reg = <0xb 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin1: displayport@b01e58000 { + compatible = "apple,t6031-dpin", "apple,dpin"; + reg = <0xb 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc2_dpin0: displayport@f01e50000 { + compatible = "apple,t6031-dpin", "apple,dpin"; + reg = <0xf 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc2_dpin1: displayport@f01e58000 { + compatible = "apple,t6031-dpin", "apple,dpin"; + reg = <0xf 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + mcc: memory-controller@2903c0000 { + compatible = "apple,t6031-mcc", "apple,mcc"; + reg = <0x2 0x903c0000 0x0 0x20000>, + <0x2 0x904d0000 0x0 0x149c>, + <0x2 0x92818000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x24000000 0x0 0x2000000>, + <0x2 0x26000000 0x0 0x2000000>, + <0x2 0x28000000 0x0 0x2000000>, + <0x2 0x2a000000 0x0 0x2000000>, + <0x2 0x2c000000 0x0 0x2000000>, + <0x2 0x2e000000 0x0 0x2000000>; + status = "disabled"; + }; + + error_handler: error-handler@388c40000 { + compatible = "apple,t6031-error-handler", "apple,soc-error-handler"; + reg = <0x3 0x88c40000 0x0 0x40000>, + <0x2 0x90000000 0x0 0x80000>, + <0x2 0x92800000 0x0 0x1e0000>, + <0x2 0xa02dc000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x24000000 0x0 0x2000000>, + <0x2 0x26000000 0x0 0x2000000>, + <0x2 0x28000000 0x0 0x2000000>, + <0x2 0x2a000000 0x0 0x2000000>, + <0x2 0x2c000000 0x0 0x2000000>, + <0x2 0x2e000000 0x0 0x2000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x3 0x00000000 0x0 0x4000>, + <0x3 0x40000000 0x0 0x4000>, + <0x3 0x80000000 0x0 0x4000>, + <0x2 0xc0000000 0x0 0x4000>, + <0x3 0xc0000000 0x0 0x4000>, + <0x4 0x00000000 0x0 0x4000>, + <0x4 0x40000000 0x0 0x4000>, + <0x2 0xa0000000 0x0 0x20000>, + <0x2 0x902c0000 0x0 0x18000>, + <0x2 0xa4800000 0x0 0x4000>, + <0x2 0x59c00000 0x0 0x40000>, + <0x2 0x5a000000 0x0 0x40000>, + <0x2 0x64400000 0x0 0x40000>, + <0x2 0x64000000 0x0 0x40000>, + <0x2 0x67000000 0x0 0x40000>, + <0x2 0x60400000 0x0 0x40000>, + <0x2 0x60800000 0x0 0x40000>, + <0x2 0x67400000 0x0 0x40000>, + <0x2 0x60c00000 0x0 0x40000>, + <0x2 0x61000000 0x0 0x40000>, + <0x2 0x61400000 0x0 0x40000>, + <0x2 0x4f800000 0x0 0x40000>, + <0x2 0x51800000 0x0 0x40000>, + <0x2 0x51c00000 0x0 0x40000>, + <0x2 0x4fc00000 0x0 0x40000>, + <0x2 0x52000000 0x0 0x40000>, + <0x4 0x0b180000 0x0 0x18000>, + <0x4 0x0b1a0000 0x0 0x18000>, + <0x4 0x0b380000 0x0 0x18000>, + <0x4 0x0b3a0000 0x0 0x18000>, + <0x4 0x0b000000 0x0 0x18000>, + <0x4 0x0b200000 0x0 0x18000>, + <0x4 0x0b080000 0x0 0x18000>, + <0x4 0x0b280000 0x0 0x18000>, + <0x4 0x0b600000 0x0 0x18000>, + <0x4 0x0b400000 0x0 0x18000>, + <0x4 0x0b680000 0x0 0x18000>, + <0x4 0x0b480000 0x0 0x18000>, + <0x4 0x0b040000 0x0 0x18000>, + <0x4 0x0b240000 0x0 0x18000>, + <0x4 0x0b0c0000 0x0 0x18000>, + <0x4 0x0b2c0000 0x0 0x18000>, + <0x4 0x0b640000 0x0 0x18000>, + <0x4 0x0b440000 0x0 0x18000>, + <0x4 0x0b6c0000 0x0 0x18000>, + <0x4 0x0b4c0000 0x0 0x18000>, + <0x2 0x59400000 0x0 0x40000>, + <0x2 0x5fc00000 0x0 0x40000>, + <0x2 0x63800000 0x0 0x40000>, + <0x2 0x66800000 0x0 0x40000>, + <0x2 0x59800000 0x0 0x40000>, + <0x2 0x60000000 0x0 0x40000>, + <0x2 0x63c00000 0x0 0x40000>, + <0x2 0x66c00000 0x0 0x40000>, + <0x2 0x4f400000 0x0 0x40000>, + <0x2 0x51400000 0x0 0x40000>, + <0x2 0x53c00000 0x0 0x40000>, + <0x2 0x56000000 0x0 0x40000>, + <0x2 0x54000000 0x0 0x40000>, + <0x2 0x56400000 0x0 0x40000>, + <0x2 0x54400000 0x0 0x40000>, + <0x2 0x56800000 0x0 0x40000>, + <0x2 0x53432000 0x0 0x1000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x51032000 0x0 0x1000>, + <0x2 0x55032000 0x0 0x1000>, + <0x2 0x53032000 0x0 0x1000>, + <0x2 0x55432000 0x0 0x1000>, + <0x2 0x5e832000 0x0 0x1000>, + <0x2 0x62832000 0x0 0x1000>, + <0x2 0x65832000 0x0 0x1000>, + <0x2 0x58432000 0x0 0x1000>, + <0x2 0x5ec32000 0x0 0x1000>, + <0x2 0x62c32000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>, + <0x2 0x63032000 0x0 0x1000>, + <0x2 0x65c32000 0x0 0x1000>, + <0x2 0x58832000 0x0 0x1000>, + <0x2 0x58c32000 0x0 0x1000>, + <0x2 0x63432000 0x0 0x1000>, + <0x2 0x5f032000 0x0 0x1000>, + <0x2 0x66032000 0x0 0x1000>, + <0x2 0x5f432000 0x0 0x1000>, + <0x2 0x66432000 0x0 0x1000>, + <0x4 0x0b114000 0x0 0x1f000>, + <0x4 0x0b314000 0x0 0x1f000>, + <0x4 0x0b134000 0x0 0x1f000>, + <0x4 0x0b334000 0x0 0x1f000>, + <0x4 0x0b714000 0x0 0x1f000>, + <0x4 0x0b514000 0x0 0x1f000>, + <0x4 0x0b734000 0x0 0x1f000>, + <0x4 0x0b534000 0x0 0x1f000>, + <0x4 0x0b030000 0x0 0x4000>, + <0x4 0x0b230000 0x0 0x4000>, + <0x4 0x0b030000 0x0 0x4000>, + <0x4 0x0b230000 0x0 0x4000>, + <0x4 0x0b630000 0x0 0x4000>, + <0x4 0x0b430000 0x0 0x4000>, + <0x4 0x0b030000 0x0 0x4000>, + <0x4 0x0b230000 0x0 0x4000>, + <0x4 0x0b030000 0x0 0x4000>, + <0x4 0x0b230000 0x0 0x4000>, + <0x4 0x0b630000 0x0 0x4000>, + <0x4 0x0b430000 0x0 0x4000>, + <0x4 0x0b630000 0x0 0x4000>, + <0x4 0x0b430000 0x0 0x4000>, + <0x4 0x0b630000 0x0 0x4000>, + <0x4 0x0b430000 0x0 0x4000>, + <0x4 0x0b1e0000 0x0 0x4000>, + <0x4 0x0b3e0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + power-domains = <&ps_gfx>; + status = "disabled"; + }; + + dwi: dwi@2929b0000 { + compatible = "apple,t6031-dwi", "apple,dwi"; + reg = <0x2 0x929b0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + aes: crypto@39100c000 { + compatible = "apple,t6031-aes", "apple,aes"; + reg = <0x3 0x9100c000 0x0 0x4000>, + <0x2 0xa02a0000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_aes>; + iommus = <&sio_dart 1>; + status = "disabled"; + }; + + event_log_handler: event-log@292800000 { + compatible = "apple,t6031-event-log", "apple,soc-event-log"; + reg = <0x2 0x92800000 0x0 0x8000>, + <0x2 0x92838000 0x0 0x4000>, + <0x2 0x92840000 0x0 0x10000>, + <0x2 0x928e0000 0x0 0x4000>, + <0x2 0x92850000 0x0 0x4000>, + <0x2 0x92880000 0x0 0x1c000>, + <0x2 0x92980000 0x0 0x18000>, + <0x2 0x929a0000 0x0 0x4000>, + <0x2 0x928c0000 0x0 0x4000>, + <0x2 0x92960000 0x0 0x1c000>, + <0x2 0x929c0000 0x0 0xc000>, + <0x2 0x92280000 0x0 0x10000>, + <0x2 0x92294000 0x0 0x4000>, + <0x2 0x922b8000 0x0 0x8000>, + <0x2 0x922ac000 0x0 0x4000>, + <0x2 0x90000000 0x0 0x80000>, + <0x2 0xa0280000 0x0 0x10000>, + <0x2 0xa029c000 0x0 0x4000>, + <0x2 0xa02c0000 0x0 0x10000>, + <0x2 0xa02d0000 0x0 0x4000>, + <0x2 0xa02d4000 0x0 0x4000>, + <0x2 0xa02d8000 0x0 0x4000>, + <0x2 0xa02e4000 0x0 0x4000>, + <0x2 0xa0200000 0x0 0x80000>, + <0x2 0x9020c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + aon_ptd: interrupt-controller@2a4dc0000 { + compatible = "apple,t6031-aon-ptd", "apple,aon-ptd"; + reg = <0x2 0xa4dc0000 0x0 0x4000>, + <0x2 0xa4dd0000 0x0 0x4000>, + <0x2 0xa4dd8000 0x0 0x4000>, + <0x2 0xa4de0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + interrupt-controller; + #interrupt-cells = <1>; + #address-cells = <0>; + status = "disabled"; + }; + + rsm: rsm@2a0325000 { + compatible = "apple,t6031-rsm", "apple,rsm"; + reg = <0x2 0xa0325000 0x0 0x4000>, + <0x2 0xa03c0000 0x0 0x4>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_debug_gated>; + iommus = <&dart_rsm 0>; + status = "disabled"; + }; + + usb_otg0: usb@702100000 { + compatible = "apple,t6031-usb2-otg", "apple,usb2-otg"; + reg = <0x7 0x02100000 0x0 0x1000>, + <0x7 0x02a84000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_atc0_usb>; + iommus = <&dwc3_0_dart_0 1>, <&dwc3_0_dart_1 1>; + phys = <&atcphy0 PHY_TYPE_USB2>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + + scaler0: scaler@407000000 { + compatible = "apple,t6031-scaler", "apple,scaler"; + reg = <0x4 0x07000000 0x0 0x30000>, + <0x4 0x07210000 0x0 0x4000>, + <0x4 0x07204000 0x0 0x4000>, + <0x4 0x06000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr0>, <&ps_msr0_ase_core>; + iommus = <&dart_scaler0 0>, <&dart_scaler0 1>; + status = "disabled"; + }; + + scaler1: scaler@3c7000000 { + compatible = "apple,t6031-scaler", "apple,scaler"; + reg = <0x3 0xc7000000 0x0 0x30000>, + <0x3 0xc7210000 0x0 0x4000>, + <0x3 0xc7204000 0x0 0x4000>, + <0x3 0xc6000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr1>, <&ps_msr1_ase_core>; + iommus = <&dart_scaler1 0>, <&dart_scaler1 1>; + status = "disabled"; + }; + + apr0: video-codec@2c5000000 { + compatible = "apple,t6031-prores", "apple,prores"; + reg = <0x2 0xc5000000 0x0 0x4000>, + <0x2 0xc4000000 0x0 0x1000000>, + <0x2 0xc5078000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec>; + iommus = <&dart_apr00 1>, <&dart_apr01 1>; + status = "disabled"; + }; + + apr1: video-codec@287000000 { + compatible = "apple,t6031-prores", "apple,prores"; + reg = <0x2 0x87000000 0x0 0x4000>, + <0x2 0x86000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_prores>; + iommus = <&dart_apr1 0>; + status = "disabled"; + }; + + jpeg0: jpeg@2cf000000 { + compatible = "apple,t6031-jpeg", "apple,jpeg"; + reg = <0x2 0xcf000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg0 0>; + status = "disabled"; + }; + + jpeg1: jpeg@2cf008000 { + compatible = "apple,t6031-jpeg", "apple,jpeg"; + reg = <0x2 0xcf008000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg1 0>; + status = "disabled"; + }; + + ave0: video-encoder@285100000 { + compatible = "apple,t6031-ave", "apple,ave"; + reg = <0x2 0x85100000 0x0 0x45c000>, + <0x2 0x85800000 0x0 0x800000>, + <0x2 0x85050000 0x0 0x4000>, + <0x2 0x92800430 0x0 0x20c>, + <0x2 0x84000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + power-domains = <&ps_venc0_sys>, <&ps_venc0_pipe4>, <&ps_venc0_pipe5>, <&ps_venc0_me0>, <&ps_venc0_me1>, <&ps_venc0_dma>; + iommus = <&dart_ave00 0>, <&dart_ave01 0>; + status = "disabled"; + }; + + ave1: video-encoder@3c5100000 { + compatible = "apple,t6031-ave", "apple,ave"; + reg = <0x3 0xc5100000 0x0 0x45c000>, + <0x3 0xc5800000 0x0 0x800000>, + <0x3 0xc5050000 0x0 0x4000>, + <0x2 0x92280510 0x0 0x7b14>, + <0x3 0xc4000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + power-domains = <&ps_venc1_pipe4>, <&ps_venc1_pipe5>, <&ps_venc1_me0>, <&ps_venc1_me1>, <&ps_venc1_dma>; + iommus = <&dart_ave10 0>, <&dart_ave11 0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t6031.dtsi b/arch/arm64/boot/dts/apple/t6031.dtsi index 0583a7baeef7a..10dcfc380d8c3 100644 --- a/arch/arm64/boot/dts/apple/t6031.dtsi +++ b/arch/arm64/boot/dts/apple/t6031.dtsi @@ -51,6 +51,14 @@ #undef DIE_NO #undef SOC_NODE +#include "t6031-peripherals.dtsi" + +#include "t6031-peripheral-buses.dtsi" + +#include "t6031-coprocessors.dtsi" + +#include "t6031-misc-interfaces.dtsi" + &smc_hwmon { /* M3 Max die keys; absent firmware keys are skipped. */ apple,soc-die-keys = "Tf04", "Tf06", "Tf09", "Tf0A", "Tf0B", diff --git a/arch/arm64/boot/dts/apple/t6034-j514m.dts b/arch/arm64/boot/dts/apple/t6034-j514m.dts index 0a4b850fd9bf6..f316f52dfa6cf 100644 --- a/arch/arm64/boot/dts/apple/t6034-j514m.dts +++ b/arch/arm64/boot/dts/apple/t6034-j514m.dts @@ -55,3 +55,19 @@ compatible = "apple,j514-macaudio", "apple,j314-macaudio", "apple,macaudio"; model = "MacBook Pro J514"; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6031-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6031-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6034-j516m.dts b/arch/arm64/boot/dts/apple/t6034-j516m.dts index 2d23c841dfef3..ee28181492a0a 100644 --- a/arch/arm64/boot/dts/apple/t6034-j516m.dts +++ b/arch/arm64/boot/dts/apple/t6034-j516m.dts @@ -55,3 +55,19 @@ compatible = "apple,j516-macaudio", "apple,j316-macaudio", "apple,macaudio"; model = "MacBook Pro J516"; }; + +&i2c4 { + sd_card_control: card-control@20 { + compatible = "apple,t6031-sd-card-control", "apple,sd-card-control"; + reg = <0x20>; + status = "disabled"; + }; +}; + +&i2c8 { + display_pcon: display-converter@8 { + compatible = "apple,t6031-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6034.dtsi b/arch/arm64/boot/dts/apple/t6034.dtsi index 1912129a24884..760f61d9bec3b 100644 --- a/arch/arm64/boot/dts/apple/t6034.dtsi +++ b/arch/arm64/boot/dts/apple/t6034.dtsi @@ -56,3 +56,274 @@ &ps_dcs_31 { status = "disabled"; }; + +/* The harvested die exposes six AMCC register windows. */ +&mcc { + reg = <0x2 0x903c0000 0x0 0x20000>, + <0x2 0x904d0000 0x0 0x149c>, + <0x2 0x92818000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x24000000 0x0 0x2000000>, + <0x2 0x26000000 0x0 0x2000000>, + <0x2 0x28000000 0x0 0x2000000>, + <0x2 0x2a000000 0x0 0x2000000>; +}; + +/* Error sources for the harvested CPU and memory topology. */ +&error_handler { + reg = <0x3 0x88c40000 0 0x40000>, + <0x2 0x90000000 0 0x80000>, + <0x2 0x92800000 0 0x1e0000>, + <0x2 0xa02dc000 0 0x4000>, + <0x2 0x20000000 0 0x2000000>, + <0x2 0x22000000 0 0x2000000>, + <0x2 0x24000000 0 0x2000000>, + <0x2 0x26000000 0 0x2000000>, + <0x2 0x28000000 0 0x2000000>, + <0x2 0x2a000000 0 0x2000000>, + <0x2 0x80000000 0 0x4000>, + <0x3 0x00000000 0 0x4000>, + <0x3 0x40000000 0 0x4000>, + <0x3 0x80000000 0 0x4000>, + <0x2 0xc0000000 0 0x4000>, + <0x3 0xc0000000 0 0x4000>, + <0x4 0x00000000 0 0x4000>, + <0x4 0x40000000 0 0x4000>, + <0x2 0xa0000000 0 0x20000>, + <0x2 0x902c0000 0 0x18000>, + <0x2 0xa4800000 0 0x4000>, + <0x2 0x59c00000 0 0x40000>, + <0x2 0x5a000000 0 0x40000>, + <0x2 0x64400000 0 0x40000>, + <0x2 0x64000000 0 0x40000>, + <0x2 0x67000000 0 0x40000>, + <0x2 0x60400000 0 0x40000>, + <0x2 0x60800000 0 0x40000>, + <0x2 0x67400000 0 0x40000>, + <0x2 0x60c00000 0 0x40000>, + <0x2 0x61000000 0 0x40000>, + <0x2 0x61400000 0 0x40000>, + <0x2 0x4f800000 0 0x40000>, + <0x2 0x51800000 0 0x40000>, + <0x2 0x51c00000 0 0x40000>, + <0x2 0x4fc00000 0 0x40000>, + <0x2 0x52000000 0 0x40000>, + <0x4 0x0b180000 0 0x18000>, + <0x4 0x0b1a0000 0 0x18000>, + <0x4 0x0b380000 0 0x18000>, + <0x4 0x0b3a0000 0 0x18000>, + <0x4 0x0b000000 0 0x18000>, + <0x4 0x0b200000 0 0x18000>, + <0x4 0x0b080000 0 0x18000>, + <0x4 0x0b280000 0 0x18000>, + <0x4 0x0b600000 0 0x18000>, + <0x4 0x0b400000 0 0x18000>, + <0x4 0x0b680000 0 0x18000>, + <0x4 0x0b480000 0 0x18000>, + <0x4 0x0b040000 0 0x18000>, + <0x4 0x0b240000 0 0x18000>, + <0x4 0x0b0c0000 0 0x18000>, + <0x4 0x0b2c0000 0 0x18000>, + <0x4 0x0b640000 0 0x18000>, + <0x4 0x0b440000 0 0x18000>, + <0x4 0x0b6c0000 0 0x18000>, + <0x4 0x0b4c0000 0 0x18000>, + <0x2 0x59400000 0 0x40000>, + <0x2 0x5fc00000 0 0x40000>, + <0x2 0x63800000 0 0x40000>, + <0x2 0x66800000 0 0x40000>, + <0x2 0x59800000 0 0x40000>, + <0x2 0x60000000 0 0x40000>, + <0x2 0x4f400000 0 0x40000>, + <0x2 0x51400000 0 0x40000>, + <0x2 0x53c00000 0 0x40000>, + <0x2 0x56000000 0 0x40000>, + <0x2 0x54000000 0 0x40000>, + <0x2 0x56400000 0 0x40000>, + <0x2 0x53432000 0 0x1000>, + <0x2 0x4f032000 0 0x1000>, + <0x2 0x51032000 0 0x1000>, + <0x2 0x55032000 0 0x1000>, + <0x2 0x53032000 0 0x1000>, + <0x2 0x55432000 0 0x1000>, + <0x2 0x5e832000 0 0x1000>, + <0x2 0x62832000 0 0x1000>, + <0x2 0x65832000 0 0x1000>, + <0x2 0x58432000 0 0x1000>, + <0x2 0x5ec32000 0 0x1000>, + <0x2 0x62c32000 0 0x1000>, + <0x2 0x58032000 0 0x1000>, + <0x2 0x63032000 0 0x1000>, + <0x2 0x65c32000 0 0x1000>, + <0x2 0x58832000 0 0x1000>, + <0x2 0x58c32000 0 0x1000>, + <0x2 0x63432000 0 0x1000>, + <0x2 0x5f032000 0 0x1000>, + <0x2 0x66032000 0 0x1000>, + <0x2 0x5f432000 0 0x1000>, + <0x2 0x66432000 0 0x1000>, + <0x4 0x0b114000 0 0x1f000>, + <0x4 0x0b314000 0 0x1f000>, + <0x4 0x0b134000 0 0x1f000>, + <0x4 0x0b334000 0 0x1f000>, + <0x4 0x0b714000 0 0x1f000>, + <0x4 0x0b514000 0 0x1f000>, + <0x4 0x0b734000 0 0x1f000>, + <0x4 0x0b534000 0 0x1f000>, + <0x4 0x0b030000 0 0x4000>, + <0x4 0x0b230000 0 0x4000>, + <0x4 0x0b030000 0 0x4000>, + <0x4 0x0b230000 0 0x4000>, + <0x4 0x0b630000 0 0x4000>, + <0x4 0x0b430000 0 0x4000>, + <0x4 0x0b030000 0 0x4000>, + <0x4 0x0b230000 0 0x4000>, + <0x4 0x0b030000 0 0x4000>, + <0x4 0x0b230000 0 0x4000>, + <0x4 0x0b630000 0 0x4000>, + <0x4 0x0b430000 0 0x4000>, + <0x4 0x0b1e0000 0 0x4000>, + <0x4 0x0b3e0000 0 0x4000>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; +}; diff --git a/arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi b/arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi index 384846c53f8a3..25eb746f430ae 100644 --- a/arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi +++ b/arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi @@ -643,3 +643,12 @@ #include "hwmon-common.dtsi" #include "hwmon-fan-dual.dtsi" #include "hwmon-laptop.dtsi" + +/* Panel control remains firmware-owned until the host transport is supported. */ +&spi4 { + tcon: panel-controller@0 { + compatible = "parade,dp855"; + reg = <0>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8122-coprocessors.dtsi b/arch/arm64/boot/dts/apple/t8122-coprocessors.dtsi new file mode 100644 index 0000000000000..690e81ef992b5 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8122-coprocessors.dtsi @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled coprocessor interfaces; firmware handoff remains a loader job. */ + +&soc { + sio_mbox: mailbox@2a1c08000 { + compatible = "apple,t8122-asc-mailbox", "apple,asc-mailbox-v4"; + reg = <0x2 0xa1c08000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + ; + interrupt-names = "send-empty", "send-not-empty", + "recv-empty", "recv-not-empty"; + #mbox-cells = <0>; + power-domains = <&ps_sio_cpu>; + status = "disabled"; + }; + + sio: dma-controller@2a1c00000 { + compatible = "apple,t8122-sio", "apple,sio"; + reg = <0x2 0xa1c00000 0 0x6c000>, + <0x2 0xa1850000 0 0x4000>; + mboxes = <&sio_mbox>; + #dma-cells = <1>; + dma-channels = <128>; + iommus = <&sio_dart 0>; + power-domains = <&ps_sio_cpu>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8122-j504.dts b/arch/arm64/boot/dts/apple/t8122-j504.dts index becd746168dd9..f8258ba3a2f54 100644 --- a/arch/arm64/boot/dts/apple/t8122-j504.dts +++ b/arch/arm64/boot/dts/apple/t8122-j504.dts @@ -276,3 +276,11 @@ #include "hwmon-fan-dual.dtsi" #include "hwmon-laptop.dtsi" + +&i2c3 { + display_pcon: display-converter@8 { + compatible = "apple,t8122-display-pcon", "apple,display-pcon"; + reg = <0x8>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8122-j613-25g83.dts b/arch/arm64/boot/dts/apple/t8122-j613-25g83.dts index 093faece97717..024f3dbaf1c2b 100644 --- a/arch/arm64/boot/dts/apple/t8122-j613-25g83.dts +++ b/arch/arm64/boot/dts/apple/t8122-j613-25g83.dts @@ -2,7 +2,7 @@ /* J613 with the exact 25G83 firmware profile. */ #include "t8122-j613.dts" #include "t8122-j613-dcp-25g83.dtsi" -#include "t8122-j613-25g83-qspi.dtsi" +#include "t8122-j613-qspi.dtsi" /* * Bind the MTP by its SoC compatible only: U-Boot's generic helper starts diff --git a/arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi b/arch/arm64/boot/dts/apple/t8122-j613-qspi.dtsi similarity index 72% rename from arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi rename to arch/arm64/boot/dts/apple/t8122-j613-qspi.dtsi index 69653f67f4482..2825f5d7a4802 100644 --- a/arch/arm64/boot/dts/apple/t8122-j613-25g83-qspi.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-j613-qspi.dtsi @@ -1,9 +1,5 @@ // SPDX-License-Identifier: GPL-2.0+ OR MIT -/* - * J613 25G83 (macOS 26.6.2 firmware): the NOR and its NVRAM sit behind QSPI, - * not SPI1. The driver stays read-only unless writes are opted in at runtime; - * the MTD stays openable O_RDWR for asahi-bless --get-boot. - */ +/* J613/J615 QSPIMC boot NOR and NVRAM layout. */ / { aliases { @@ -12,6 +8,7 @@ soc { qspi: spi@2a1118000 { + status = "okay"; compatible = "apple,t8122-qspi"; reg = <0x2 0xa1118000 0x0 0x4800>; interrupt-parent = <&aic>; @@ -42,7 +39,7 @@ }; }; -/* The M1/M2 SPI1 NVRAM from t8122-jxxx.dtsi is not used on 25G83. */ +/* This board variant uses QSPIMC instead of SPI1 for NVRAM. */ &spi1 { status = "disabled"; }; diff --git a/arch/arm64/boot/dts/apple/t8122-j615-25g83.dts b/arch/arm64/boot/dts/apple/t8122-j615-25g83.dts index 5cc7af05f87ee..7aef84a8e3494 100644 --- a/arch/arm64/boot/dts/apple/t8122-j615-25g83.dts +++ b/arch/arm64/boot/dts/apple/t8122-j615-25g83.dts @@ -5,7 +5,7 @@ */ #include "t8122-j615.dts" #include "t8122-j613-dcp-25g83.dtsi" -#include "t8122-j613-25g83-qspi.dtsi" +#include "t8122-j613-qspi.dtsi" /* As on the J613 25G83. */ &mtp { diff --git a/arch/arm64/boot/dts/apple/t8122-jxxx.dtsi b/arch/arm64/boot/dts/apple/t8122-jxxx.dtsi index ff3952f9860a7..b6cd4ee1c4087 100644 --- a/arch/arm64/boot/dts/apple/t8122-jxxx.dtsi +++ b/arch/arm64/boot/dts/apple/t8122-jxxx.dtsi @@ -256,3 +256,12 @@ #include "hwmon-common.dtsi" #include "spi1-nvram.dtsi" + +/* Panel control remains firmware-owned until the host transport is supported. */ +&spi4 { + tcon: panel-controller@0 { + compatible = "parade,dp855"; + reg = <0>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi b/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi new file mode 100644 index 0000000000000..7be8b7ef3d8dc --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8122-misc-interfaces.dtsi @@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Disabled tunnel translation and miscellaneous interfaces. */ + +&soc { + pciec0_dart: iommu@721008000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x7 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc0_cio_pcie>; + status = "disabled"; + }; + + pciec1_dart: iommu@b21008000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0xb 0x21008000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + power-domains = <&ps_atc1_cio_pcie>; + status = "disabled"; + }; + + pwm0: pwm@2a1040000 { + compatible = "apple,t8122-pwm", "apple,pwm"; + reg = <0x2 0xa1040000 0 0x4000>; + power-domains = <&ps_fpwm0>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi b/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi new file mode 100644 index 0000000000000..a4a4affe0147d --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8122-peripheral-buses.dtsi @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Unclaimed T8122 peripheral buses. */ + +&soc { + spi4: spi@2a1110000 { + compatible = "apple,t8122-spi", "apple,t8103-spi"; + reg = <0x2 0xa1110000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_spi4>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + qspi: spi@2a1118000 { + compatible = "apple,t8122-qspi", "apple,qspi"; + reg = <0x2 0xa1118000 0 0x4800>; + interrupt-parent = <&aic>; + interrupts = ; + clocks = <&clk_200m>; + power-domains = <&ps_qspi>; + #address-cells = <1>; + #size-cells = <0>; + status = "disabled"; + }; + + nub_spmi1: spmi@2e4794000 { + compatible = "apple,t8122-spmi", "apple,t8103-spmi"; + reg = <0x2 0xe4794000 0 0x4000>, + <0x2 0xe4784000 0 0x4000>, + <0x2 0xe4780000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi0: spmi@2f4894000 { + compatible = "apple,t8122-spmi", "apple,t8103-spmi"; + reg = <0x2 0xf4894000 0 0x4000>, + <0x2 0xf4884000 0 0x4000>, + <0x2 0xf4880000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + + aop_spmi1: spmi@2f48d4000 { + compatible = "apple,t8122-spmi", "apple,t8103-spmi"; + reg = <0x2 0xf48d4000 0 0x4000>, + <0x2 0xf48c4000 0 0x4000>, + <0x2 0xf48c0000 0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + interrupt-controller; + #interrupt-cells = <2>; + #address-cells = <2>; + #size-cells = <0>; + status = "disabled"; + }; + +}; diff --git a/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi new file mode 100644 index 0000000000000..c4a12ff089aa3 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t8122-peripherals.dtsi @@ -0,0 +1,438 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Additional T8122 hardware interfaces. Keep unclaimed engines disabled. */ + +&soc { + dart_rsm: iommu@2e433c000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x2 0xe433c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_scaler: iommu@31d200000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x1d200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg0: iommu@299004000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x2 0x99004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_jpeg1: iommu@29900c000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x2 0x9900c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave0: iommu@315030000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x15030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave1: iommu@315040000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x15040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_ave2: iommu@315020000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x15020000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ave3: filter@315044000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x3 0x15044000 0x0 0x4000>; + status = "disabled"; + }; + + dart_apr0: iommu@321028000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x21028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_apr1: iommu@32102c000 { + compatible = "apple,t8122-dart", "apple,t8110-dart"; + reg = <0x3 0x2102c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + dart_aop_companion1: filter@2f481c000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x2 0xf481c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_mtp_companion1: filter@2fa80c000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x2 0xfa80c000 0x0 0x4000>; + status = "disabled"; + }; + + dart_disp0_companion1: iommu@28d300000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x8d300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_dispext0_companion1: iommu@319300000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0x19300000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion3: iommu@2a64b0000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xa64b0000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion4: iommu@2a64b8000 { + compatible = "apple,t8122-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0xa64b8000 0x0 0x4000>; + status = "disabled"; + }; + + dart_isp_companion5: filter@2a64ac000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x2 0xa64ac000 0x0 0x4000>; + status = "disabled"; + }; + + dart_ane_companion3: filter@311804000 { + compatible = "apple,t8122-dapf", "apple,dapf"; + reg = <0x3 0x11804000 0x0 0x4000>; + status = "disabled"; + }; + + apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t8122-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x95010000 0x0 0x4000>, + <0x5 0x95014000 0x0 0x4000>, + <0x5 0x95018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie1_dart 15>; + status = "disabled"; + }; + + apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t8122-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x94010000 0x0 0x4000>, + <0x5 0x94014000 0x0 0x4000>, + <0x5 0x94018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pcie0_dart 15>; + status = "disabled"; + }; + + apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t8122-pciec-piodma", "apple,pciec-piodma"; + reg = <0x7 0x22000000 0x0 0x4000>, + <0x7 0x22004000 0x0 0x4000>, + <0x7 0x22008000 0x0 0x4000>, + <0x7 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pciec0_dart 15>; + status = "disabled"; + }; + + atc0_dpin0: displayport@701e50000 { + compatible = "apple,t8122-dpin", "apple,dpin"; + reg = <0x7 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc0_dpin1: displayport@701e58000 { + compatible = "apple,t8122-dpin", "apple,dpin"; + reg = <0x7 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t8122-pciec-piodma", "apple,pciec-piodma"; + reg = <0xb 0x22000000 0x0 0x4000>, + <0xb 0x22004000 0x0 0x4000>, + <0xb 0x22008000 0x0 0x4000>, + <0xb 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&pciec1_dart 15>; + status = "disabled"; + }; + + atc1_dpin0: displayport@b01e50000 { + compatible = "apple,t8122-dpin", "apple,dpin"; + reg = <0xb 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + atc1_dpin1: displayport@b01e58000 { + compatible = "apple,t8122-dpin", "apple,dpin"; + reg = <0xb 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + mcc: memory-controller@2d03c0000 { + compatible = "apple,t8122-mcc", "apple,mcc"; + reg = <0x2 0xd03c0000 0x0 0x20000>, + <0x2 0xd0478000 0x0 0x149c>, + <0x2 0xd0780000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>; + status = "disabled"; + }; + + error_handler: error-handler@29cc40000 { + compatible = "apple,t8122-error-handler", "apple,soc-error-handler"; + reg = <0x2 0x9cc40000 0x0 0x40000>, + <0x2 0xd0000000 0x0 0x7c000>, + <0x2 0xd0700000 0x0 0xcc000>, + <0x2 0xe42c8000 0x0 0x4000>, + <0x2 0x20000000 0x0 0x2000000>, + <0x2 0x22000000 0x0 0x2000000>, + <0x2 0x80000000 0x0 0x4000>, + <0x3 0x00000000 0x0 0x4000>, + <0x2 0x58c00000 0x0 0x40000>, + <0x2 0x59000000 0x0 0x40000>, + <0x2 0x4fc00000 0x0 0x40000>, + <0x2 0x50000000 0x0 0x40000>, + <0x2 0x50100000 0x0 0x40000>, + <0x2 0x58400000 0x0 0x40000>, + <0x2 0x58800000 0x0 0x40000>, + <0x2 0x4f400000 0x0 0x40000>, + <0x2 0x4f800000 0x0 0x40000>, + <0x2 0x4f032000 0x0 0x1000>, + <0x2 0x58032000 0x0 0x1000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + dwi: dwi@2d0200000 { + compatible = "apple,t8122-dwi", "apple,dwi"; + reg = <0x2 0xd0200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + aes: crypto@2a100c000 { + compatible = "apple,t8122-aes", "apple,aes"; + reg = <0x2 0xa100c000 0x0 0x4000>, + <0x2 0xe42dc000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_aes>; + iommus = <&sio_dart 1>; + status = "disabled"; + }; + + event_log_handler: event-log@2d0700000 { + compatible = "apple,t8122-event-log", "apple,soc-event-log"; + reg = <0x2 0xd0700000 0x0 0xcc000>, + <0x2 0xe4280000 0x0 0x80000>, + <0x2 0xd0000000 0x0 0x70000>, + <0x2 0xe4200000 0x0 0x7c000>, + <0x2 0xd0290000 0x0 0x4000>, + <0x2 0xd0294000 0x0 0x4000>, + <0x2 0xd0298000 0x0 0x4000>, + <0x2 0xd028c000 0x0 0x4000>, + <0x2 0xd0280000 0x0 0x8000>, + <0x3 0x11868000 0x0 0x4000>, + <0x3 0x11838000 0x0 0x8000>, + <0x2 0xd0340000 0x0 0xc000>, + <0x2 0xd0350000 0x0 0xc000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + , + , + , + , + , + , + , + , + ; + status = "disabled"; + }; + + rsm: rsm@2e4325000 { + compatible = "apple,t8122-rsm", "apple,rsm"; + reg = <0x2 0xe4325000 0x0 0x4000>, + <0x2 0xe43c0000 0x0 0x4>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&dart_rsm 0>; + status = "disabled"; + }; + + dptx_phy: phy@2c7540000 { + compatible = "apple,t8122-dptx-phy", "apple,dptx-phy"; + reg = <0x2 0xc7540000 0x0 0x10000>, + <0x2 0xc7500000 0x0 0x4000>; + power-domains = <&ps_dptx_ext_phy>; + #phy-cells = <0>; + status = "disabled"; + }; + + usb_otg0: usb@702100000 { + compatible = "apple,t8122-usb2-otg", "apple,usb2-otg"; + reg = <0x7 0x02100000 0x0 0x1000>, + <0x7 0x02a84000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_atc0_usb>; + iommus = <&dwc3_0_dart_0 1>, <&dwc3_0_dart_1 1>; + phys = <&atcphy0 PHY_TYPE_USB2>; + phy-names = "usb2-phy"; + status = "disabled"; + }; + + scaler0: scaler@31d000000 { + compatible = "apple,t8122-scaler", "apple,scaler"; + reg = <0x3 0x1d000000 0x0 0x30000>, + <0x3 0x1d210000 0x0 0x4000>, + <0x3 0x1d204000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_msr>, <&ps_msr_ase_core>; + iommus = <&dart_scaler 0>, <&dart_scaler 1>; + status = "disabled"; + }; + + jpeg0: jpeg@299000000 { + compatible = "apple,t8122-jpeg", "apple,jpeg"; + reg = <0x2 0x99000000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg0 0>; + status = "disabled"; + }; + + jpeg1: jpeg@299008000 { + compatible = "apple,t8122-jpeg", "apple,jpeg"; + reg = <0x2 0x99008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&dart_jpeg1 0>; + status = "disabled"; + }; + + ave: video-encoder@315100000 { + compatible = "apple,t8122-ave", "apple,ave"; + reg = <0x3 0x15100000 0x0 0x45c000>, + <0x3 0x15800000 0x0 0x800000>, + <0x3 0x15050000 0x0 0x4000>, + <0x2 0xd0708000 0x0 0x4000>, + <0x3 0x14000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = , + , + , + , + ; + power-domains = <&ps_venc_sys>, <&ps_venc_pipe4>, <&ps_venc_pipe5>, <&ps_venc_me0>, <&ps_venc_me1>, <&ps_venc_dma>; + iommus = <&dart_ave0 0>, <&dart_ave1 0>; + status = "disabled"; + }; + + apr: video-codec@321000000 { + compatible = "apple,t8122-prores", "apple,prores"; + reg = <0x3 0x21000000 0x0 0x4000>, + <0x3 0x20000000 0x0 0x8000>, + <0x3 0x21078000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = , + ; + power-domains = <&ps_scodec>; + iommus = <&dart_apr0 1>, <&dart_apr1 1>; + status = "disabled"; + }; + + +}; diff --git a/arch/arm64/boot/dts/apple/t8122.dtsi b/arch/arm64/boot/dts/apple/t8122.dtsi index ccaf593c85d49..ba3e893a234f5 100644 --- a/arch/arm64/boot/dts/apple/t8122.dtsi +++ b/arch/arm64/boot/dts/apple/t8122.dtsi @@ -409,7 +409,7 @@ clock-output-names = "nco_ref"; }; - soc { + soc: soc { compatible = "simple-bus"; #address-cells = <2>; #size-cells = <2>; @@ -1932,3 +1932,11 @@ #include "t8122-pmgr.dtsi" #include "t8122-gpu.dtsi" #include "t8122-dcp.dtsi" + +#include "t8122-peripherals.dtsi" + +#include "t8122-peripheral-buses.dtsi" + +#include "t8122-coprocessors.dtsi" + +#include "t8122-misc-interfaces.dtsi"