Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions Documentation/devicetree/bindings/dma/apple,admac.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ description: |
Apple's Audio DMA Controller (ADMAC) is used to fetch and store audio samples
on SoCs from the "Apple Silicon" family.

The controller has been seen with up to 24 channels. Even-numbered channels
The controller has been seen with up to 32 channels. Even-numbered channels
are TX-only, odd-numbered are RX-only. Individual channels are coupled to
fixed device endpoints.

Expand All @@ -33,6 +33,12 @@ properties:
- apple,t8103-admac
- apple,t8112-admac
- const: apple,admac
- items:
- enum:
- apple,t8122-admac
- apple,t6031-admac
- const: apple,t6030-admac
- const: apple,t6030-admac

reg:
maxItems: 1
Expand All @@ -43,7 +49,7 @@ properties:
Clients specify a single cell with channel number.

dma-channels:
maximum: 24
maximum: 32

interrupts:
minItems: 4
Expand Down
5 changes: 5 additions & 0 deletions arch/arm64/boot/dts/apple/t6030-j514s.dts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@
interrupts-extended = <&pinctrl_ap 100 IRQ_TYPE_LEVEL_LOW>;
};

&aop_audio {
apple,chassis-name = "J514";
apple,machine-kind = "MacBook Pro";
};

&sound {
compatible = "apple,j514-macaudio", "apple,j314-macaudio", "apple,macaudio";
model = "MacBook Pro J514";
Expand Down
5 changes: 5 additions & 0 deletions arch/arm64/boot/dts/apple/t6030-j516s.dts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@
interrupts-extended = <&pinctrl_ap 100 IRQ_TYPE_LEVEL_LOW>;
};

&aop_audio {
apple,chassis-name = "J516";
apple,machine-kind = "MacBook Pro";
};

&sound {
compatible = "apple,j516-macaudio", "apple,j316-macaudio", "apple,macaudio";
model = "MacBook Pro J516";
Expand Down
65 changes: 64 additions & 1 deletion arch/arm64/boot/dts/apple/t6030.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -582,7 +582,7 @@
};

admac: dma-controller@28b200000 {
compatible = "apple,t6030-admac", "apple,t8103-admac";
compatible = "apple,t6030-admac";
reg = <0x2 0x8b200000 0x0 0x34000>;
#dma-cells = <1>;
dma-channels = <24>;
Expand Down Expand Up @@ -932,6 +932,69 @@
<AIC_IRQ 551 IRQ_TYPE_LEVEL_HIGH>;
};

aop_mbox: mbox@374408000 {
compatible = "apple,t6030-asc-mailbox", "apple,asc-mailbox-v4";
reg = <0x3 0x74408000 0x0 0x4000>;
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 419 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 420 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 421 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 422 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "send-empty", "send-not-empty",
"recv-empty", "recv-not-empty";
#mbox-cells = <0>;
status = "disabled";
};

aop_dart: iommu@374818000 {
compatible = "apple,t6030-dart", "apple,t8110-dart";
reg = <0x3 0x74818000 0x0 0x4000>;
#iommu-cells = <1>;
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 439 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
// apple,dma-range = <0x100 0x0 0x300 0x0>;
};

aop_admac: dma-controller@374980000 {
compatible = "apple,t6030-admac";
reg = <0x3 0x74980000 0x0 0x34000>;
#dma-cells = <1>;
dma-channels = <16>;
interrupts-extended = <0>,
<0>,
<&aic AIC_IRQ 460 IRQ_TYPE_LEVEL_HIGH>,
<0>;
iommus = <&aop_dart 10>;
status = "disabled";
};

aop: aop@374c00000 {
compatible = "apple,t6030-aop", "apple,t6020-aop";
reg = <0x3 0x74c00000 0x0 0x1e0000>,
<0x3 0x74400000 0x0 0x6c000>;
mboxes = <&aop_mbox>;
mbox-names = "mbox";
iommus = <&aop_dart 0>;

status = "disabled";

aop_audio: audio {
compatible = "apple,t6030-aop-audio";
dmas = <&aop_admac 1>;
dma-names = "dma";
};

aop_als: als {
compatible = "apple,t6030-aop-als", "apple,t6020-aop-als", "apple,aop-als";
// intentionally empty
};

las {
compatible = "apple,t6030-aop-las", "apple,t6020-aop-las", "apple,aop-las";
};
};

pinctrl_aop: pinctrl@374824000 {
compatible = "apple,t6030-pinctrl", "apple,t8103-pinctrl";
reg = <0x3 0x74824000 0x0 0x4000>;
Expand Down
65 changes: 64 additions & 1 deletion arch/arm64/boot/dts/apple/t6031-die0.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,69 @@
<AIC_IRQ 0 910 IRQ_TYPE_LEVEL_HIGH>;
};

aop_mbox: mbox@2a8408000 {
compatible = "apple,t6031-asc-mailbox", "apple,asc-mailbox-v4";
reg = <0x2 0xa8408000 0x0 0x4000>;
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 0 612 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 0 613 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 0 614 IRQ_TYPE_LEVEL_HIGH>,
<AIC_IRQ 0 615 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "send-empty", "send-not-empty",
"recv-empty", "recv-not-empty";
#mbox-cells = <0>;
status = "disabled";
};

aop_dart: iommu@2a8818000 {
compatible = "apple,t6031-dart", "apple,t8110-dart";
reg = <0x2 0xa8818000 0x0 0x4000>;
#iommu-cells = <1>;
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 0 627 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
// apple,dma-range = <0x100 0x0 0x300 0x0>;
};

aop_admac: dma-controller@2a8980000 {
compatible = "apple,t6031-admac", "apple,t6030-admac";
reg = <0x2 0xa8980000 0x0 0x34000>;
#dma-cells = <1>;
dma-channels = <16>;
interrupts-extended = <0>,
<0>,
<&aic AIC_IRQ 0 630 IRQ_TYPE_LEVEL_HIGH>,
<0>;
iommus = <&aop_dart 10>;
status = "disabled";
};

aop: aop@2a8c00000 {
compatible = "apple,t6031-aop", "apple,t6020-aop";
reg = <0x2 0xa8c00000 0x0 0x2a0000>,
<0x2 0xa8400000 0x0 0x6c000>;
mboxes = <&aop_mbox>;
mbox-names = "mbox";
iommus = <&aop_dart 0>;

status = "disabled";

aop_audio: audio {
compatible = "apple,t6031-aop-audio", "apple,t6030-aop-audio";
dmas = <&aop_admac 1>;
dma-names = "dma";
};

aop_als: als {
compatible = "apple,t6031-aop-als", "apple,aop-als";
// intentionally empty
};

las {
compatible = "apple,t6031-aop-las", "apple,aop-las";
};
};

mtp: mtp@2ac400000 {
compatible = "apple,t6031-mtp", "apple,t8122-rtk-helper-asc4", "apple,mtp", "apple,rtk-helper-asc4";
reg = <0x2 0xac400000 0x0 0x4000>,
Expand Down Expand Up @@ -457,7 +520,7 @@
};

admac: dma-controller@393200000 {
compatible = "apple,t6031-admac", "apple,t8103-admac";
compatible = "apple,t6031-admac", "apple,t6030-admac";
reg = <0x3 0x93200000 0x0 0x34000>;
#dma-cells = <1>;
dma-channels = <24>;
Expand Down
5 changes: 5 additions & 0 deletions arch/arm64/boot/dts/apple/t6031-j514c.dts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
brcm,board-type = "apple,texa";
};

&aop_audio {
apple,chassis-name = "J514";
apple,machine-kind = "MacBook Pro";
};

&sound {
compatible = "apple,j514-macaudio", "apple,j314-macaudio", "apple,macaudio";
model = "MacBook Pro J514";
Expand Down
5 changes: 5 additions & 0 deletions arch/arm64/boot/dts/apple/t6031-j516c.dts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
brcm,board-type = "apple,jura";
};

&aop_audio {
apple,chassis-name = "J516";
apple,machine-kind = "MacBook Pro";
};

&sound {
compatible = "apple,j516-macaudio", "apple,j316-macaudio", "apple,macaudio";
model = "MacBook Pro J516";
Expand Down
5 changes: 5 additions & 0 deletions arch/arm64/boot/dts/apple/t6034-j514m.dts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
brcm,board-type = "apple,texa";
};

&aop_audio {
apple,chassis-name = "J514";
apple,machine-kind = "MacBook Pro";
};

&sound {
compatible = "apple,j514-macaudio", "apple,j314-macaudio", "apple,macaudio";
model = "MacBook Pro J514";
Expand Down
5 changes: 5 additions & 0 deletions arch/arm64/boot/dts/apple/t6034-j516m.dts
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@
brcm,board-type = "apple,jura";
};

&aop_audio {
apple,chassis-name = "J516";
apple,machine-kind = "MacBook Pro";
};

&sound {
compatible = "apple,j516-macaudio", "apple,j316-macaudio", "apple,macaudio";
model = "MacBook Pro J516";
Expand Down
16 changes: 16 additions & 0 deletions arch/arm64/boot/dts/apple/t603x-j514-j516.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,22 @@
status = "okay";
};

&aop_mbox {
status = "okay";
};

&aop_dart {
status = "okay";
};

&aop_admac {
status = "okay";
};

&aop {
status = "okay";
};

/ {
sound: sound {
/* compatible is set per machine */
Expand Down
21 changes: 21 additions & 0 deletions arch/arm64/boot/dts/apple/t8122-j504.dts
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,27 @@
};
};

&aop_mbox {
status = "okay";
};

&aop_dart {
status = "okay";
};

&aop_admac {
status = "okay";
};

&aop {
status = "okay";
};

&aop_audio {
apple,chassis-name = "J504";
apple,machine-kind = "MacBook Pro";
};

/ {
speaker_sdz: fixed-regulator-sn012776-sdz {
compatible = "regulator-fixed";
Expand Down
21 changes: 21 additions & 0 deletions arch/arm64/boot/dts/apple/t8122-j613.dts
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,27 @@
brcm,board-type = "apple,dnieper";
};

&aop_mbox {
status = "okay";
};

&aop_dart {
status = "okay";
};

&aop_admac {
status = "okay";
};

&aop {
status = "okay";
};

&aop_audio {
apple,chassis-name = "J613";
apple,machine-kind = "MacBook Air";
};

/* Virtual regulator representing the shared shutdown GPIO */
/ {
speaker_sdz: fixed-regulator-sn012776-sdz {
Expand Down
21 changes: 21 additions & 0 deletions arch/arm64/boot/dts/apple/t8122-j615.dts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,27 @@
};
};

&aop_mbox {
status = "okay";
};

&aop_dart {
status = "okay";
};

&aop_admac {
status = "okay";
};

&aop {
status = "okay";
};

&aop_audio {
apple,chassis-name = "J615";
apple,machine-kind = "MacBook Air";
};

&wifi0 {
brcm,board-type = "apple,tuzla";
};
Expand Down
Loading