diff --git a/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml b/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml new file mode 100644 index 0000000000000..5737fb2e12e12 --- /dev/null +++ b/Documentation/devicetree/bindings/clock/apple,pmgr-clocks.yaml @@ -0,0 +1,106 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/clock/apple,pmgr-clocks.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple PMGR peripheral clock selectors + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + Peripheral input clocks managed by the SoC power manager. The clock + specifier is the SoC clock selector from the hardware description. It is + separate from a PMGR device/power-gate ID. Rates may change with performance + state and must not be represented as fixed clocks sampled at one boot. + The provider remains disabled until a generation-specific clock driver + can resolve selectors and coordinate ownership with firmware. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-pmgr-clocks + - apple,t8140-pmgr-clocks + - apple,t6032-pmgr-clocks + required: + - compatible + +properties: + compatible: true + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t6032-pmgr-clocks + required: + - compatible + then: + properties: + compatible: + items: + - const: apple,t6032-pmgr-clocks + - const: apple,pmgr-clocks + + '#clock-cells': + const: 1 + + required: + - compatible + - '#clock-cells' + + else: + properties: + compatible: + items: + - enum: + - apple,t6041-pmgr-clocks + - apple,t8140-pmgr-clocks + - const: apple,pmgr-clocks + + reg: + description: PMGR control apertures in hardware-description order. + minItems: 44 + maxItems: 63 + + '#clock-cells': + const: 1 + + apple,pmgr: + $ref: /schemas/types.yaml#/definitions/phandle + description: Primary PMGR syscon. Additional control banks are described by reg. + + required: + - reg + - compatible + - '#clock-cells' + - apple,pmgr + + allOf: + - if: + properties: + compatible: + contains: + const: apple,t6041-pmgr-clocks + then: + properties: + reg: + minItems: 63 + maxItems: 63 + - if: + properties: + compatible: + contains: + const: apple,t8140-pmgr-clocks + then: + properties: + reg: + minItems: 44 + maxItems: 44 + +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/crypto/apple,aes.yaml b/Documentation/devicetree/bindings/crypto/apple,aes.yaml index 0469858e0a51d..2155f96bbf21e 100644 --- a/Documentation/devicetree/bindings/crypto/apple,aes.yaml +++ b/Documentation/devicetree/bindings/crypto/apple,aes.yaml @@ -23,6 +23,7 @@ select: - apple,t8122-aes - apple,t6030-aes - apple,t6031-aes + - apple,t6032-aes required: - compatible @@ -35,19 +36,14 @@ allOf: compatible: contains: enum: - - apple,t8122-aes - - apple,t6030-aes - - apple,t6031-aes + - apple,t6032-aes required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-aes - - apple,t6030-aes - - apple,t6031-aes + - const: apple,t6032-aes - const: apple,aes reg: @@ -69,37 +65,78 @@ allOf: - interrupts - power-domains - iommus - else: - properties: - compatible: - oneOf: - - items: - - const: apple,t6041-aes - - const: apple,aes - - items: - - const: apple,t8140-aes - - const: apple,aes - - reg: - minItems: 3 - maxItems: 3 - description: Register apertures in hardware-description order. - - interrupts: - maxItems: 1 - - power-domains: - maxItems: 1 - - iommus: - maxItems: 1 - - required: - - compatible - - reg - - interrupts - - power-domains - - iommus + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-aes + - apple,t6030-aes + - apple,t6031-aes + - const: apple,aes + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-aes + - const: apple,aes + - items: + - const: apple,t8140-aes + - const: apple,aes + + reg: + minItems: 3 + maxItems: 3 + description: Register apertures in hardware-description order. + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/display/apple,dpin.yaml b/Documentation/devicetree/bindings/display/apple,dpin.yaml new file mode 100644 index 0000000000000..1555517dc3fa1 --- /dev/null +++ b/Documentation/devicetree/bindings/display/apple,dpin.yaml @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/apple,dpin.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple DisplayPort tunnel ingress + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + DisplayPort ingress registers and interrupt for a USB4 display tunnel. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-dpin + - apple,t6032-dpin + required: + - compatible + +properties: + compatible: true + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t6032-dpin + required: + - compatible + then: + properties: + compatible: + items: + - const: apple,t6032-dpin + - const: apple,dpin + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-dpin + - const: apple,dpin + + reg: + maxItems: 1 + description: Register apertures in hardware-description order. + + interrupts: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml index f769bafe13aad..3962bdf01e424 100644 --- a/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml +++ b/Documentation/devicetree/bindings/dma/apple,pcie-piodma.yaml @@ -22,6 +22,7 @@ select: - apple,t8122-pcie-piodma - apple,t6030-pcie-piodma - apple,t6031-pcie-piodma + - apple,t6032-pcie-piodma required: - compatible @@ -34,49 +35,19 @@ allOf: compatible: contains: enum: - - apple,t8122-pcie-piodma - - apple,t6030-pcie-piodma - - apple,t6031-pcie-piodma + - apple,t6032-pcie-piodma required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-pcie-piodma - - apple,t6030-pcie-piodma - - apple,t6031-pcie-piodma + - const: apple,t6032-pcie-piodma - const: apple,pcie-piodma - reg: - minItems: 3 - maxItems: 4 - - interrupts: - maxItems: 1 - - iommus: - maxItems: 1 - - required: - - compatible - - reg - - interrupts - - iommus - - else: - properties: - compatible: - oneOf: - - items: - - const: apple,t6041-pcie-piodma - - const: apple,pcie-piodma - reg: minItems: 3 maxItems: 3 - description: Register apertures in hardware-description order. interrupts: maxItems: 1 @@ -88,6 +59,67 @@ allOf: - compatible - reg - interrupts - - iommus + else: + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-pcie-piodma + - apple,t6030-pcie-piodma + - apple,t6031-pcie-piodma + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-pcie-piodma + - apple,t6030-pcie-piodma + - apple,t6031-pcie-piodma + - const: apple,pcie-piodma + + reg: + minItems: 3 + maxItems: 4 + + interrupts: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-pcie-piodma + - const: apple,pcie-piodma + + reg: + minItems: 3 + maxItems: 3 + description: Register apertures in hardware-description order. + + interrupts: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml b/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml new file mode 100644 index 0000000000000..a5a11223c242e --- /dev/null +++ b/Documentation/devicetree/bindings/dma/apple,pciec-piodma.yaml @@ -0,0 +1,85 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/apple,pciec-piodma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Apple PCIe tunnel PIODMA engine + +maintainers: + - Ryan Murray <81541646+RyanTheTide@users.noreply.github.com> + +description: | + PCIe tunnel auxiliary DMA register banks and completion interrupt. Its + stream is distinct from the tunnel endpoint streams in the same DART. + +select: + properties: + compatible: + contains: + enum: + - apple,t6041-pciec-piodma + - apple,t6032-pciec-piodma + required: + - compatible + +properties: + compatible: true + +allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t6032-pciec-piodma + required: + - compatible + then: + properties: + compatible: + items: + - const: apple,t6032-pciec-piodma + - const: apple,pciec-piodma + + reg: + minItems: 4 + maxItems: 4 + + interrupts: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-pciec-piodma + - const: apple,pciec-piodma + + reg: + minItems: 4 + maxItems: 4 + description: Register apertures in hardware-description order. + + interrupts: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + +unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/iommu/apple,dapf.yaml b/Documentation/devicetree/bindings/iommu/apple,dapf.yaml index 2a1635099f474..014c2eee37c90 100644 --- a/Documentation/devicetree/bindings/iommu/apple,dapf.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,dapf.yaml @@ -24,6 +24,7 @@ select: - apple,t8122-dapf - apple,t6030-dapf - apple,t6031-dapf + - apple,t6032-dapf required: - compatible @@ -34,6 +35,7 @@ properties: - apple,t8122-dapf - apple,t6030-dapf - apple,t6031-dapf + - apple,t6032-dapf - const: apple,dapf reg: diff --git a/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml b/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml index ba8b8fd188358..b6408684d1acf 100644 --- a/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml +++ b/Documentation/devicetree/bindings/iommu/apple,dart-smmu.yaml @@ -24,6 +24,7 @@ select: - apple,t8122-dart-smmu - apple,t6030-dart-smmu - apple,t6031-dart-smmu + - apple,t6032-dart-smmu required: - compatible @@ -34,6 +35,7 @@ properties: - apple,t8122-dart-smmu - apple,t6030-dart-smmu - apple,t6031-dart-smmu + - apple,t6032-dart-smmu - const: apple,dart-smmu reg: diff --git a/Documentation/devicetree/bindings/media/apple,jpeg.yaml b/Documentation/devicetree/bindings/media/apple,jpeg.yaml index 1c44bcb260c7d..598caf5dec64a 100644 --- a/Documentation/devicetree/bindings/media/apple,jpeg.yaml +++ b/Documentation/devicetree/bindings/media/apple,jpeg.yaml @@ -29,6 +29,7 @@ select: - apple,t8122-jpeg - apple,t6030-jpeg - apple,t6031-jpeg + - apple,t6032-jpeg required: - compatible @@ -41,19 +42,14 @@ allOf: compatible: contains: enum: - - apple,t8122-jpeg - - apple,t6030-jpeg - - apple,t6031-jpeg + - apple,t6032-jpeg required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-jpeg - - apple,t6030-jpeg - - apple,t6031-jpeg + - const: apple,t6032-jpeg - const: apple,jpeg reg: @@ -68,67 +64,112 @@ allOf: iommus: maxItems: 1 + clocks: + minItems: 2 + maxItems: 2 + required: - compatible - reg - interrupts - power-domains - iommus - + - clocks else: - properties: - compatible: - enum: - - apple,t6041-jpeg - - apple,t8140-jpeg - - reg: - maxItems: 1 - - interrupts: - maxItems: 1 + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-jpeg + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-jpeg + - apple,t6030-jpeg + - apple,t6031-jpeg + - const: apple,jpeg - iommus: - maxItems: 1 + reg: + maxItems: 1 - power-domains: - minItems: 1 - items: - - description: The engine's power domain - - description: Performance request held while the engine works + interrupts: + maxItems: 1 - power-domain-names: - minItems: 1 - items: - - const: core - - const: perf + power-domains: + maxItems: 1 - apple,dma-range: - $ref: /schemas/types.yaml#/definitions/uint64-array - items: - - const: 0x10000000000 - - const: 0x100000000 - description: Device-visible DMA window, as a 64-bit base and size. - Only for engines with 32-bit buffer pointers. + iommus: + maxItems: 1 - required: - - compatible - - reg - - interrupts - - iommus - - power-domains + required: + - compatible + - reg + - interrupts + - power-domains + - iommus - allOf: - - if: + else: properties: compatible: - const: apple,t6041-jpeg - then: + enum: + - apple,t6041-jpeg + - apple,t8140-jpeg + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + iommus: + maxItems: 1 + + power-domains: + minItems: 1 + items: + - description: The engine's power domain + - description: Performance request held while the engine works + + power-domain-names: + minItems: 1 + items: + - const: core + - const: perf + + apple,dma-range: + $ref: /schemas/types.yaml#/definitions/uint64-array + items: + - const: 0x10000000000 + - const: 0x100000000 + description: Device-visible DMA window, as a 64-bit base and size. + Only for engines with 32-bit buffer pointers. + required: - - apple,dma-range - else: - properties: - apple,dma-range: false + - compatible + - reg + - interrupts + - iommus + - power-domains + + allOf: + - if: + properties: + compatible: + const: apple,t6041-jpeg + then: + required: + - apple,dma-range + else: + properties: + apple,dma-range: false unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,prores.yaml b/Documentation/devicetree/bindings/media/apple,prores.yaml index bf8847a7947c9..2ef41f5ff8d01 100644 --- a/Documentation/devicetree/bindings/media/apple,prores.yaml +++ b/Documentation/devicetree/bindings/media/apple,prores.yaml @@ -23,6 +23,7 @@ select: - apple,t8122-prores - apple,t6030-prores - apple,t6031-prores + - apple,t6032-prores required: - compatible @@ -35,19 +36,14 @@ allOf: compatible: contains: enum: - - apple,t8122-prores - - apple,t6030-prores - - apple,t6031-prores + - apple,t6032-prores required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-prores - - apple,t6030-prores - - apple,t6031-prores + - const: apple,t6032-prores - const: apple,prores reg: @@ -55,8 +51,7 @@ allOf: maxItems: 3 interrupts: - minItems: 1 - maxItems: 2 + maxItems: 1 power-domains: maxItems: 1 @@ -71,51 +66,94 @@ allOf: - interrupts - power-domains - iommus - else: - properties: - compatible: - const: apple,t8140-prores - - reg: - items: - - description: Engine registers - - description: Wrapper registers - - reg-names: - items: - - const: core - - const: wrapper - - interrupts: - minItems: 1 - maxItems: 2 - - iommus: - maxItems: 1 - - power-domains: - minItems: 1 - items: - - description: The engine's power domain - - description: Performance request held while the engine works - - power-domain-names: - minItems: 1 - items: - - const: core - - const: perf - - resets: - maxItems: 1 - - required: - - compatible - - reg - - reg-names - - interrupts - - iommus - - power-domains + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-prores + - apple,t6030-prores + - apple,t6031-prores + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-prores + - apple,t6030-prores + - apple,t6031-prores + - const: apple,prores + + reg: + minItems: 2 + maxItems: 3 + + interrupts: + minItems: 1 + maxItems: 2 + + power-domains: + maxItems: 1 + + iommus: + minItems: 1 + maxItems: 2 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + else: + properties: + compatible: + const: apple,t8140-prores + + reg: + items: + - description: Engine registers + - description: Wrapper registers + + reg-names: + items: + - const: core + - const: wrapper + + interrupts: + minItems: 1 + maxItems: 2 + + iommus: + maxItems: 1 + + power-domains: + minItems: 1 + items: + - description: The engine's power domain + - description: Performance request held while the engine works + + power-domain-names: + minItems: 1 + items: + - const: core + - const: perf + + resets: + maxItems: 1 + + required: + - compatible + - reg + - reg-names + - interrupts + - iommus + - power-domains unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,scaler.yaml b/Documentation/devicetree/bindings/media/apple,scaler.yaml index 6ca38c48cab5b..619b3deea2889 100644 --- a/Documentation/devicetree/bindings/media/apple,scaler.yaml +++ b/Documentation/devicetree/bindings/media/apple,scaler.yaml @@ -24,6 +24,7 @@ select: - apple,t8122-scaler - apple,t6030-scaler - apple,t6031-scaler + - apple,t6032-scaler required: - compatible @@ -36,59 +37,19 @@ allOf: compatible: contains: enum: - - apple,t8122-scaler - - apple,t6030-scaler - - apple,t6031-scaler + - apple,t6032-scaler required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-scaler - - apple,t6030-scaler - - apple,t6031-scaler + - const: apple,t6032-scaler - const: apple,scaler - reg: - minItems: 3 - maxItems: 4 - - interrupts: - minItems: 2 - maxItems: 2 - - power-domains: - minItems: 1 - maxItems: 2 - - iommus: - minItems: 1 - maxItems: 2 - - required: - - compatible - - reg - - interrupts - - power-domains - - iommus - - else: - properties: - compatible: - oneOf: - - items: - - const: apple,t6041-scaler - - const: apple,scaler - - items: - - const: apple,t8140-scaler - - const: apple,scaler - reg: minItems: 4 maxItems: 4 - description: Register apertures in hardware-description order. interrupts: minItems: 2 @@ -105,16 +66,99 @@ allOf: clocks: maxItems: 1 - resets: - maxItems: 1 - required: - compatible - reg - interrupts - power-domains - - resets - iommus - clocks + else: + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-scaler + - apple,t6030-scaler + - apple,t6031-scaler + - const: apple,scaler + + reg: + minItems: 3 + maxItems: 4 + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 1 + maxItems: 2 + + iommus: + minItems: 1 + maxItems: 2 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-scaler + - const: apple,scaler + - items: + - const: apple,t8140-scaler + - const: apple,scaler + + reg: + minItems: 4 + maxItems: 4 + description: Register apertures in hardware-description order. + + interrupts: + minItems: 2 + maxItems: 2 + + power-domains: + minItems: 2 + maxItems: 2 + + iommus: + minItems: 2 + maxItems: 2 + + clocks: + maxItems: 1 + + resets: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + - resets + - iommus + - clocks unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml index 3210b7884e921..ad592aa1b17f7 100644 --- a/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml +++ b/Documentation/devicetree/bindings/media/apple,t8140-ave.yaml @@ -26,6 +26,7 @@ select: - apple,t8122-ave - apple,t6030-ave - apple,t6031-ave + - apple,t6032-ave required: - compatible @@ -38,19 +39,14 @@ allOf: compatible: contains: enum: - - apple,t8122-ave - - apple,t6030-ave - - apple,t6031-ave + - apple,t6032-ave required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-ave - - apple,t6030-ave - - apple,t6031-ave + - const: apple,t6032-ave - const: apple,ave reg: @@ -61,83 +57,127 @@ allOf: minItems: 5 maxItems: 5 - power-domains: - minItems: 1 - maxItems: 6 - - iommus: - minItems: 1 - maxItems: 2 - - required: - - compatible - - reg - - interrupts - - power-domains - - iommus - - else: - properties: - compatible: - enum: - - apple,t6000-ave - - apple,t6041-ave - - apple,t8112-ave - - apple,t8140-ave - - reg: - items: - - description: Codec registers - - description: Mailbox registers - - description: Coprocessor registers - - reg-names: - items: - - const: codec - - const: mailbox - - const: coproc - - interrupts: - items: - - description: Mailbox, raised when the firmware posts to a host ring - - description: Codec interrupt handled by the firmware - - description: Codec interrupt handled by the firmware - - description: Codec interrupt handled by the firmware - - description: Codec interrupt handled by the firmware - power-domains: minItems: 5 maxItems: 6 - power-domain-names: - minItems: 5 - items: - - const: dma - - const: pipe4 - - const: pipe5 - - const: me0 - - const: me1 - - const: perf - description: | - A performance floor the encoder needs to run at full speed, held - while the encoder is powered (for example the SoC rail floor of a - PMC). - iommus: + minItems: 2 maxItems: 2 - memory-region: - items: - - description: Preloaded firmware text - - description: Preloaded firmware data - required: - compatible - reg - - reg-names - interrupts - power-domains - - power-domain-names - iommus + else: + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-ave + - apple,t6030-ave + - apple,t6031-ave + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-ave + - apple,t6030-ave + - apple,t6031-ave + - const: apple,ave + + reg: + minItems: 5 + maxItems: 5 + + interrupts: + minItems: 5 + maxItems: 5 + + power-domains: + minItems: 1 + maxItems: 6 + + iommus: + minItems: 1 + maxItems: 2 + + required: + - compatible + - reg + - interrupts + - power-domains + - iommus + + else: + properties: + compatible: + enum: + - apple,t6000-ave + - apple,t6041-ave + - apple,t8112-ave + - apple,t8140-ave + + reg: + items: + - description: Codec registers + - description: Mailbox registers + - description: Coprocessor registers + + reg-names: + items: + - const: codec + - const: mailbox + - const: coproc + + interrupts: + items: + - description: Mailbox, raised when the firmware posts to a host ring + - description: Codec interrupt handled by the firmware + - description: Codec interrupt handled by the firmware + - description: Codec interrupt handled by the firmware + - description: Codec interrupt handled by the firmware + + power-domains: + minItems: 5 + maxItems: 6 + + power-domain-names: + minItems: 5 + items: + - const: dma + - const: pipe4 + - const: pipe5 + - const: me0 + - const: me1 + - const: perf + description: | + A performance floor the encoder needs to run at full speed, held + while the encoder is powered (for example the SoC rail floor of a + PMC). + + iommus: + maxItems: 2 + + memory-region: + items: + - description: Preloaded firmware text + - description: Preloaded firmware data + + required: + - compatible + - reg + - reg-names + - interrupts + - power-domains + - power-domain-names + - iommus unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml index ffe8cca0207fa..5364f6dd8871b 100644 --- a/Documentation/devicetree/bindings/phy/apple,atcphy.yaml +++ b/Documentation/devicetree/bindings/phy/apple,atcphy.yaml @@ -209,7 +209,6 @@ allOf: - mode-switch - ports - $defs: apple,tunable: $ref: /schemas/types.yaml#/definitions/uint32-matrix diff --git a/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml index 25addf63b132c..6e38df75a2041 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,aon-ptd.yaml @@ -13,9 +13,24 @@ description: | Always-on power telemetry register banks and upstream interrupts. The firmware owns the telemetry data and interrupt routing at boot. +select: + properties: + compatible: + contains: + enum: + - apple,t6031-aon-ptd + - apple,t6032-aon-ptd + - apple,t6041-aon-ptd + - apple,t8140-aon-ptd + required: + - compatible + properties: compatible: oneOf: + - items: + - const: apple,t6032-aon-ptd + - const: apple,aon-ptd - items: - const: apple,t6031-aon-ptd - const: apple,aon-ptd diff --git a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml index 9a0f5d4eaa00e..61fb7aaee8e23 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,dwi.yaml @@ -23,6 +23,7 @@ select: - apple,t8122-dwi - apple,t6030-dwi - apple,t6031-dwi + - apple,t6032-dwi required: - compatible @@ -35,19 +36,14 @@ allOf: compatible: contains: enum: - - apple,t8122-dwi - - apple,t6030-dwi - - apple,t6031-dwi + - apple,t6032-dwi required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-dwi - - apple,t6030-dwi - - apple,t6031-dwi + - const: apple,t6032-dwi - const: apple,dwi reg: @@ -64,32 +60,68 @@ allOf: - reg - interrupts - power-domains - else: - properties: - compatible: - oneOf: - - items: - - const: apple,t6041-dwi - - const: apple,dwi - - items: - - const: apple,t8140-dwi - - const: apple,dwi - - reg: - maxItems: 1 - description: Register apertures in hardware-description order. - - interrupts: - maxItems: 1 - - power-domains: - maxItems: 1 - - required: - - compatible - - reg - - interrupts - - power-domains + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-dwi + - apple,t6030-dwi + - apple,t6031-dwi + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-dwi + - apple,t6030-dwi + - apple,t6031-dwi + - const: apple,dwi + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains + + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t6041-dwi + - const: apple,dwi + - items: + - const: apple,t8140-dwi + - const: apple,dwi + + reg: + maxItems: 1 + description: Register apertures in hardware-description order. + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - power-domains unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml b/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml index 4332fa5347519..0d0d5e8d813b1 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,rsm.yaml @@ -21,6 +21,7 @@ select: - apple,t8122-rsm - apple,t6030-rsm - apple,t6031-rsm + - apple,t6032-rsm required: - compatible @@ -33,19 +34,14 @@ allOf: compatible: contains: enum: - - apple,t8122-rsm - - apple,t6030-rsm - - apple,t6031-rsm + - apple,t6032-rsm required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-rsm - - apple,t6030-rsm - - apple,t6031-rsm + - const: apple,t6032-rsm - const: apple,rsm reg: @@ -65,31 +61,72 @@ allOf: - compatible - reg - interrupts + - power-domains - iommus - else: - properties: - compatible: - oneOf: - - items: - - const: apple,t8140-rsm - - const: apple,rsm - - reg: - minItems: 2 - maxItems: 2 - description: Register apertures in hardware-description order. - - interrupts: - maxItems: 1 - - iommus: - maxItems: 1 - - required: - - compatible - - reg - - interrupts - - iommus + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-rsm + - apple,t6030-rsm + - apple,t6031-rsm + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-rsm + - apple,t6030-rsm + - apple,t6031-rsm + - const: apple,rsm + + reg: + minItems: 2 + maxItems: 2 + + interrupts: + maxItems: 1 + + power-domains: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus + + else: + properties: + compatible: + oneOf: + - items: + - const: apple,t8140-rsm + - const: apple,rsm + + reg: + minItems: 2 + maxItems: 2 + description: Register apertures in hardware-description order. + + interrupts: + maxItems: 1 + + iommus: + maxItems: 1 + + required: + - compatible + - reg + - interrupts + - iommus unevaluatedProperties: false diff --git a/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml b/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml index 44f2d14280637..069189483633a 100644 --- a/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml +++ b/Documentation/devicetree/bindings/soc/apple/apple,t8140-mcc.yaml @@ -26,70 +26,95 @@ select: - apple,t8122-mcc - apple,t6030-mcc - apple,t6031-mcc + - apple,t6032-mcc required: - compatible properties: compatible: true + apple,boot-dma-devices: + $ref: /schemas/types.yaml#/definitions/phandle-array + items: + maxItems: 1 + description: + Devices that take over DMA the bootloader left running. Cache allocation + is enabled only once each of them is bound to its driver. + allOf: - if: properties: compatible: contains: enum: - - apple,t8122-mcc - - apple,t6030-mcc - - apple,t6031-mcc + - apple,t6032-mcc required: - compatible then: properties: compatible: items: - - enum: - - apple,t8122-mcc - - apple,t6030-mcc - - apple,t6031-mcc + - const: apple,t6032-mcc - const: apple,mcc reg: - minItems: 5 - maxItems: 11 + minItems: 20 + maxItems: 20 required: - compatible - reg - else: - properties: - compatible: - oneOf: - - enum: - - apple,t8132-mcc - - apple,t8140-mcc - - items: - - const: apple,t6041-mcc - - const: apple,t8140-mcc - - reg: - description: Per-plane blocks on T8140, or the two multicast apertures on T8132. - minItems: 1 - maxItems: 32 - - nonposted-mmio: true - - apple,boot-dma-devices: - $ref: /schemas/types.yaml#/definitions/phandle-array - items: - maxItems: 1 - description: - Devices that take over DMA the bootloader left running. Cache allocation - is enabled only once each of them is bound to its driver. - - required: - - compatible - - reg + allOf: + - if: + properties: + compatible: + contains: + enum: + - apple,t8122-mcc + - apple,t6030-mcc + - apple,t6031-mcc + required: + - compatible + then: + properties: + compatible: + items: + - enum: + - apple,t8122-mcc + - apple,t6030-mcc + - apple,t6031-mcc + - const: apple,mcc + + reg: + minItems: 5 + maxItems: 11 + + required: + - compatible + - reg + + else: + properties: + compatible: + oneOf: + - enum: + - apple,t8132-mcc + - apple,t8140-mcc + - items: + - const: apple,t6041-mcc + - const: apple,t8140-mcc + + reg: + description: Per-plane blocks on T8140, or the two multicast apertures on T8132. + minItems: 1 + maxItems: 32 + + nonposted-mmio: true + + required: + - compatible + - reg unevaluatedProperties: false diff --git a/arch/arm64/boot/dts/apple/t6032-peripherals.dtsi b/arch/arm64/boot/dts/apple/t6032-peripherals.dtsi new file mode 100644 index 0000000000000..648e5abf92a71 --- /dev/null +++ b/arch/arm64/boot/dts/apple/t6032-peripherals.dtsi @@ -0,0 +1,861 @@ +// SPDX-License-Identifier: GPL-2.0+ OR MIT +/* Unclaimed resources of both T6032 dies. */ + +&die0 { + ultra_dart_rsm0: iommu@2a033c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xa033c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_scaler00: iommu@407200000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x4 0x07200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_scaler10: iommu@3c7200000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc7200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apr00: iommu@2c5028000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xc5028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apr01: iommu@2c502c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xc502c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apr10: iommu@287008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x87008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_jpeg00: iommu@2cf004000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xcf004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_jpeg10: iommu@2cf00c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xcf00c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave00: iommu@285030000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x85030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave01: iommu@285040000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x85040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave02: iommu@285020000 { + compatible = "apple,t6032-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x85020000 0x0 0x4000>; + status = "disabled"; + }; + + ultra_dart_ave03: filter@285044000 { + compatible = "apple,t6032-dapf", "apple,dapf"; + reg = <0x2 0x85044000 0x0 0x4000>; + status = "disabled"; + }; + + ultra_dart_ave10: iommu@3c5030000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc5030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave11: iommu@3c5040000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc5040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave12: iommu@3c5020000 { + compatible = "apple,t6032-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0xc5020000 0x0 0x4000>; + status = "disabled"; + }; + + ultra_dart_ave13: filter@3c5044000 { + compatible = "apple,t6032-dapf", "apple,dapf"; + reg = <0x3 0xc5044000 0x0 0x4000>; + status = "disabled"; + }; + + ultra_dart_apciec00: iommu@721008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x7 0x21008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apciec10: iommu@b21008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0xb 0x21008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apciec20: iommu@f21008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0xf 0x21008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apciec30: iommu@1321008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x13 0x21008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_apcie0_piodma: dma-controller@594010000 { + compatible = "apple,t6032-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"; + }; + + ultra_apcie1_piodma: dma-controller@595010000 { + compatible = "apple,t6032-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"; + }; + + ultra_apcie2_piodma: dma-controller@596010000 { + compatible = "apple,t6032-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x96010000 0x0 0x4000>, + <0x5 0x96014000 0x0 0x4000>, + <0x5 0x96018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_apcie3_piodma: dma-controller@597010000 { + compatible = "apple,t6032-pcie-piodma", "apple,pcie-piodma"; + reg = <0x5 0x97010000 0x0 0x4000>, + <0x5 0x97014000 0x0 0x4000>, + <0x5 0x97018000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_apciec0_piodma: dma-controller@722000000 { + compatible = "apple,t6032-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 = <&ultra_dart_apciec00 15>; + status = "disabled"; + }; + + ultra_apciec1_piodma: dma-controller@b22000000 { + compatible = "apple,t6032-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 = <&ultra_dart_apciec10 15>; + status = "disabled"; + }; + + ultra_apciec2_piodma: dma-controller@f22000000 { + compatible = "apple,t6032-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 = <&ultra_dart_apciec20 15>; + status = "disabled"; + }; + + ultra_apciec3_piodma: dma-controller@1322000000 { + compatible = "apple,t6032-pciec-piodma", "apple,pciec-piodma"; + reg = <0x13 0x22000000 0x0 0x4000>, + <0x13 0x22004000 0x0 0x4000>, + <0x13 0x22008000 0x0 0x4000>, + <0x13 0x20008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + iommus = <&ultra_dart_apciec30 15>; + status = "disabled"; + }; + + ultra_atc0_dpin0: displayport@701e50000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0x7 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc0_dpin1: displayport@701e58000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0x7 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc1_dpin0: displayport@b01e50000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0xb 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc1_dpin1: displayport@b01e58000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0xb 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc2_dpin0: displayport@f01e50000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0xf 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc2_dpin1: displayport@f01e58000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0xf 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc3_dpin0: displayport@1301e50000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0x13 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc3_dpin1: displayport@1301e58000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0x13 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_dwi: dwi@2929b0000 { + compatible = "apple,t6032-dwi", "apple,dwi"; + reg = <0x2 0x929b0000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_dwi>; + status = "disabled"; + }; + + ultra_aes: crypto@39100c000 { + compatible = "apple,t6032-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"; + }; + + ultra_aon_ptd: interrupt-controller@2a4dc0000 { + compatible = "apple,t6032-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"; + }; + + ultra_rsm: rsm@2a0325000 { + compatible = "apple,t6032-rsm", "apple,rsm"; + reg = <0x2 0xa0325000 0x0 0x4000>, + <0x2 0xa03c0000 0x0 0x4>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_debug_gated>; + iommus = <&ultra_dart_rsm0 0>; + status = "disabled"; + }; + + ultra_scaler0: scaler@407000000 { + compatible = "apple,t6032-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 = <&ultra_dart_scaler00 0>, <&ultra_dart_scaler00 1>; + clocks = <&ultra_clocks 414>; + status = "disabled"; + }; + + ultra_scaler1: scaler@3c7000000 { + compatible = "apple,t6032-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 = <&ultra_dart_scaler10 0>, <&ultra_dart_scaler10 1>; + clocks = <&ultra_clocks 415>; + status = "disabled"; + }; + + ultra_apr0: video-codec@2c5000000 { + compatible = "apple,t6032-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 = <&ultra_dart_apr00 1>, <&ultra_dart_apr01 1>; + status = "disabled"; + }; + + ultra_apr1: video-codec@287000000 { + compatible = "apple,t6032-prores", "apple,prores"; + reg = <0x2 0x87000000 0x0 0x4000>, + <0x2 0x86000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_prores>; + iommus = <&ultra_dart_apr10 0>; + status = "disabled"; + }; + + ultra_jpeg0: jpeg@2cf000000 { + compatible = "apple,t6032-jpeg", "apple,jpeg"; + reg = <0x2 0xcf000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&ultra_dart_jpeg00 0>; + clocks = <&ultra_clocks 350>, <&ultra_clocks 351>; + status = "disabled"; + }; + + ultra_jpeg1: jpeg@2cf008000 { + compatible = "apple,t6032-jpeg", "apple,jpeg"; + reg = <0x2 0xcf008000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg>; + iommus = <&ultra_dart_jpeg10 0>; + clocks = <&ultra_clocks 350>, <&ultra_clocks 351>; + status = "disabled"; + }; + + ultra_ave0: video-encoder@285100000 { + compatible = "apple,t6032-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 = <&ultra_dart_ave00 0>, <&ultra_dart_ave01 0>; + status = "disabled"; + }; + + ultra_ave1: video-encoder@3c5100000 { + compatible = "apple,t6032-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 = <&ultra_dart_ave10 0>, <&ultra_dart_ave11 0>; + status = "disabled"; + }; + +}; + +&die1 { + ultra_dart_scaler20: iommu@407200000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x4 0x07200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_scaler30: iommu@3c7200000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc7200000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apr20: iommu@2c5028000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xc5028000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apr21: iommu@2c502c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xc502c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apr30: iommu@287008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x87008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_jpeg20: iommu@2cf004000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xcf004000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_jpeg30: iommu@2cf00c000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0xcf00c000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave20: iommu@285030000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x85030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave21: iommu@285040000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x2 0x85040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave22: iommu@285020000 { + compatible = "apple,t6032-dart-smmu", "apple,dart-smmu"; + reg = <0x2 0x85020000 0x0 0x4000>; + status = "disabled"; + }; + + ultra_dart_ave23: filter@285044000 { + compatible = "apple,t6032-dapf", "apple,dapf"; + reg = <0x2 0x85044000 0x0 0x4000>; + status = "disabled"; + }; + + ultra_dart_ave30: iommu@3c5030000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc5030000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave31: iommu@3c5040000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x3 0xc5040000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_ave32: iommu@3c5020000 { + compatible = "apple,t6032-dart-smmu", "apple,dart-smmu"; + reg = <0x3 0xc5020000 0x0 0x4000>; + status = "disabled"; + }; + + ultra_dart_ave33: filter@3c5044000 { + compatible = "apple,t6032-dapf", "apple,dapf"; + reg = <0x3 0xc5044000 0x0 0x4000>; + status = "disabled"; + }; + + ultra_dart_apciec40: iommu@721008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0x7 0x21008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_dart_apciec50: iommu@b21008000 { + compatible = "apple,t6031-dart", "apple,t8110-dart"; + reg = <0xb 0x21008000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + #iommu-cells = <1>; + status = "disabled"; + }; + + ultra_apciec4_piodma: dma-controller@722000000 { + compatible = "apple,t6032-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 = <&ultra_dart_apciec40 15>; + status = "disabled"; + }; + + ultra_apciec5_piodma: dma-controller@b22000000 { + compatible = "apple,t6032-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 = <&ultra_dart_apciec50 15>; + status = "disabled"; + }; + + ultra_atc4_dpin0: displayport@701e50000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0x7 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc4_dpin1: displayport@701e58000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0x7 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc5_dpin0: displayport@b01e50000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0xb 0x01e50000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_atc5_dpin1: displayport@b01e58000 { + compatible = "apple,t6032-dpin", "apple,dpin"; + reg = <0xb 0x01e58000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + status = "disabled"; + }; + + ultra_scaler2: scaler@407000000 { + compatible = "apple,t6032-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_die1>, <&ps_msr0_ase_core_die1>; + iommus = <&ultra_dart_scaler20 0>, <&ultra_dart_scaler20 1>; + clocks = <&ultra_clocks 268435870>; + status = "disabled"; + }; + + ultra_scaler3: scaler@3c7000000 { + compatible = "apple,t6032-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_die1>, <&ps_msr1_ase_core_die1>; + iommus = <&ultra_dart_scaler30 0>, <&ultra_dart_scaler30 1>; + clocks = <&ultra_clocks 268435871>; + status = "disabled"; + }; + + ultra_apr2: video-codec@2c5000000 { + compatible = "apple,t6032-prores", "apple,prores"; + reg = <0x2 0xc5000000 0x0 0x4000>, + <0x2 0xc4000000 0x0 0x1000000>, + <0x2 0xc5078000 0x0 0x4000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_scodec_die1>; + iommus = <&ultra_dart_apr20 1>, <&ultra_dart_apr21 1>; + status = "disabled"; + }; + + ultra_apr3: video-codec@287000000 { + compatible = "apple,t6032-prores", "apple,prores"; + reg = <0x2 0x87000000 0x0 0x4000>, + <0x2 0x86000000 0x0 0x1000000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_prores_die1>; + iommus = <&ultra_dart_apr30 0>; + status = "disabled"; + }; + + ultra_jpeg2: jpeg@2cf000000 { + compatible = "apple,t6032-jpeg", "apple,jpeg"; + reg = <0x2 0xcf000000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg_die1>; + iommus = <&ultra_dart_jpeg20 0>; + clocks = <&ultra_clocks 268435806>, <&ultra_clocks 268435807>; + status = "disabled"; + }; + + ultra_jpeg3: jpeg@2cf008000 { + compatible = "apple,t6032-jpeg", "apple,jpeg"; + reg = <0x2 0xcf008000 0x0 0x8000>; + interrupt-parent = <&aic>; + interrupts = ; + power-domains = <&ps_jpg_die1>; + iommus = <&ultra_dart_jpeg30 0>; + clocks = <&ultra_clocks 268435806>, <&ultra_clocks 268435807>; + status = "disabled"; + }; + + ultra_ave2: video-encoder@285100000 { + compatible = "apple,t6032-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_die1>, <&ps_venc0_pipe4_die1>, <&ps_venc0_pipe5_die1>, <&ps_venc0_me0_die1>, <&ps_venc0_me1_die1>, <&ps_venc0_dma_die1>; + iommus = <&ultra_dart_ave20 0>, <&ultra_dart_ave21 0>; + status = "disabled"; + }; + + ultra_ave3: video-encoder@3c5100000 { + compatible = "apple,t6032-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_die1>, <&ps_venc1_pipe5_die1>, <&ps_venc1_me0_die1>, <&ps_venc1_me1_die1>, <&ps_venc1_dma_die1>; + iommus = <&ultra_dart_ave30 0>, <&ultra_dart_ave31 0>; + status = "disabled"; + }; + +}; + +/ { + ultra_mcc: memory-controller@2903c0000 { + compatible = "apple,t6032-mcc", "apple,mcc"; + reg = <0x2 0x903c0000 0x0 0x20000>, + <0x2 0x904d0000 0x0 0x149c>, + <0x2 0x92818000 0x0 0x4000>, + <0x22 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>, + <0x22 0x20000000 0x0 0x2000000>, + <0x22 0x22000000 0x0 0x2000000>, + <0x22 0x24000000 0x0 0x2000000>, + <0x22 0x26000000 0x0 0x2000000>, + <0x22 0x28000000 0x0 0x2000000>, + <0x22 0x2a000000 0x0 0x2000000>, + <0x22 0x2c000000 0x0 0x2000000>, + <0x22 0x2e000000 0x0 0x2000000>; + status = "disabled"; + }; + +}; + +/ { + ultra_clocks: clocks { + compatible = "apple,t6032-pmgr-clocks", "apple,pmgr-clocks"; + #clock-cells = <1>; + status = "disabled"; + }; +}; diff --git a/arch/arm64/boot/dts/apple/t6032.dtsi b/arch/arm64/boot/dts/apple/t6032.dtsi index 469cd8cbff72a..4b72abc681a48 100644 --- a/arch/arm64/boot/dts/apple/t6032.dtsi +++ b/arch/arm64/boot/dts/apple/t6032.dtsi @@ -463,3 +463,5 @@ &ps_afr_d2d_1_die1 { status = "okay"; }; + +#include "t6032-peripherals.dtsi"