Commit 8a3df85a authored by Martin Povišer's avatar Martin Povišer Committed by Hector Martin

arm64: dts: apple: t8103: Add MCA and its support

Add the MCA I2S transceiver node and its supporting NCO, ADMAC nodes.
Signed-off-by: default avatarMartin Povišer <povik+lin@cutebit.org>
Signed-off-by: default avatarJanne Grunau <j@jannau.net>
Acked-by: default avatarMarc Zyngier <maz@kernel.org>
Signed-off-by: default avatarHector Martin <marcan@marcan.st>
parent 50e320ad
...@@ -78,3 +78,7 @@ wifi0: network@0,0 { ...@@ -78,3 +78,7 @@ wifi0: network@0,0 {
apple,antenna-sku = "XX"; apple,antenna-sku = "XX";
}; };
}; };
&nco_clkref {
clock-frequency = <900000000>;
};
...@@ -116,6 +116,16 @@ clkref: clock-ref { ...@@ -116,6 +116,16 @@ clkref: clock-ref {
clock-output-names = "clkref"; clock-output-names = "clkref";
}; };
/*
* This is a fabulated representation of the input clock
* to NCO since we don't know the true clock tree.
*/
nco_clkref: clock-ref-nco {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-output-names = "nco_ref";
};
soc { soc {
compatible = "simple-bus"; compatible = "simple-bus";
#address-cells = <2>; #address-cells = <2>;
...@@ -124,6 +134,15 @@ soc { ...@@ -124,6 +134,15 @@ soc {
ranges; ranges;
nonposted-mmio; nonposted-mmio;
dart_sio: iommu@235004000 {
compatible = "apple,t8103-dart";
reg = <0x2 0x35004000 0x0 0x4000>;
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 635 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
power-domains = <&ps_sio_cpu>;
};
i2c0: i2c@235010000 { i2c0: i2c@235010000 {
compatible = "apple,t8103-i2c", "apple,i2c"; compatible = "apple,t8103-i2c", "apple,i2c";
reg = <0x2 0x35010000 0x0 0x4000>; reg = <0x2 0x35010000 0x0 0x4000>;
...@@ -219,6 +238,60 @@ serial2: serial@235208000 { ...@@ -219,6 +238,60 @@ serial2: serial@235208000 {
status = "disabled"; status = "disabled";
}; };
admac: dma-controller@238200000 {
compatible = "apple,t8103-admac", "apple,admac";
reg = <0x2 0x38200000 0x0 0x34000>;
dma-channels = <24>;
interrupts-extended = <0>,
<&aic AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>,
<0>,
<0>;
#dma-cells = <1>;
iommus = <&dart_sio 2>;
power-domains = <&ps_sio_adma>;
};
mca: i2s@238400000 {
compatible = "apple,t8103-mca", "apple,mca";
reg = <0x2 0x38400000 0x0 0x18000>,
<0x2 0x38300000 0x0 0x30000>;
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 619 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 620 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 621 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 622 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 623 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 624 IRQ_TYPE_LEVEL_HIGH>;
resets = <&ps_audio_p>;
clocks = <&nco 0>, <&nco 1>, <&nco 2>,
<&nco 3>, <&nco 4>, <&nco 4>;
power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
<&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
<&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
<&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
<&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>,
<&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>,
<&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>;
dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
"tx1a", "rx1a", "tx1b", "rx1b",
"tx2a", "rx2a", "tx2b", "rx2b",
"tx3a", "rx3a", "tx3b", "rx3b",
"tx4a", "rx4a", "tx4b", "rx4b",
"tx5a", "rx5a", "tx5b", "rx5b";
#sound-dai-cells = <1>;
};
nco: clock-controller@23b044000 {
compatible = "apple,t8103-nco", "apple,nco";
reg = <0x2 0x3b044000 0x0 0x14000>;
clocks = <&nco_clkref>;
#clock-cells = <1>;
};
aic: interrupt-controller@23b100000 { aic: interrupt-controller@23b100000 {
compatible = "apple,t8103-aic", "apple,aic"; compatible = "apple,t8103-aic", "apple,aic";
#interrupt-cells = <3>; #interrupt-cells = <3>;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment