Commit cce1ee00 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Tony Lindgren

ARM: DTS: am437x: Use the new DT bindings for the eDMA3

Switch to use the ti,edma3-tpcc and ti,edma3-tptc binding for the eDMA3 and
enable the DMA even crossbar with ti,am335x-edma-crossbar.
With the new bindings boards can customize and tweak the DMA channel
priority to match their needs. With the new binding the memcpy is safe
to be used since with the old binding it was not possible for a driver
to know which channel is allowed to be used as non HW triggered channel.
Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent b5e50906
...@@ -172,6 +172,14 @@ wkup_m3_ipc: wkup_m3_ipc@1324 { ...@@ -172,6 +172,14 @@ wkup_m3_ipc: wkup_m3_ipc@1324 {
mboxes = <&mailbox &mbox_wkupm3>; mboxes = <&mailbox &mbox_wkupm3>;
}; };
edma_xbar: dma-router@f90 {
compatible = "ti,am335x-edma-crossbar";
reg = <0xf90 0x40>;
#dma-cells = <3>;
dma-requests = <64>;
dma-masters = <&edma>;
};
scm_clockdomains: clockdomains { scm_clockdomains: clockdomains {
}; };
}; };
...@@ -184,14 +192,46 @@ emif: emif@4c000000 { ...@@ -184,14 +192,46 @@ emif: emif@4c000000 {
}; };
edma: edma@49000000 { edma: edma@49000000 {
compatible = "ti,edma3"; compatible = "ti,edma3-tpcc";
ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2"; ti,hwmods = "tpcc";
reg = <0x49000000 0x10000>, reg = <0x49000000 0x10000>;
<0x44e10f90 0x10>; reg-names = "edma3_cc";
interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>; <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
#dma-cells = <1>; interrupt-names = "edma3_ccint", "emda3_mperr",
"edma3_ccerrint";
dma-requests = <64>;
#dma-cells = <2>;
ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
<&edma_tptc2 0>;
ti,edma-memcpy-channels = <32 33>;
};
edma_tptc0: tptc@49800000 {
compatible = "ti,edma3-tptc";
ti,hwmods = "tptc0";
reg = <0x49800000 0x100000>;
interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "edma3_tcerrint";
};
edma_tptc1: tptc@49900000 {
compatible = "ti,edma3-tptc";
ti,hwmods = "tptc1";
reg = <0x49900000 0x100000>;
interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "edma3_tcerrint";
};
edma_tptc2: tptc@49a00000 {
compatible = "ti,edma3-tptc";
ti,hwmods = "tptc2";
reg = <0x49a00000 0x100000>;
interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "edma3_tcerrint";
}; };
uart0: serial@44e09000 { uart0: serial@44e09000 {
...@@ -496,8 +536,8 @@ mmc1: mmc@48060000 { ...@@ -496,8 +536,8 @@ mmc1: mmc@48060000 {
ti,hwmods = "mmc1"; ti,hwmods = "mmc1";
ti,dual-volt; ti,dual-volt;
ti,needs-special-reset; ti,needs-special-reset;
dmas = <&edma 24 dmas = <&edma 24 0>,
&edma 25>; <&edma 25 0>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
...@@ -508,8 +548,8 @@ mmc2: mmc@481d8000 { ...@@ -508,8 +548,8 @@ mmc2: mmc@481d8000 {
reg = <0x481d8000 0x1000>; reg = <0x481d8000 0x1000>;
ti,hwmods = "mmc2"; ti,hwmods = "mmc2";
ti,needs-special-reset; ti,needs-special-reset;
dmas = <&edma 2 dmas = <&edma 2 0>,
&edma 3>; <&edma 3 0>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled"; status = "disabled";
...@@ -777,7 +817,7 @@ sham: sham@53100000 { ...@@ -777,7 +817,7 @@ sham: sham@53100000 {
compatible = "ti,omap5-sham"; compatible = "ti,omap5-sham";
ti,hwmods = "sham"; ti,hwmods = "sham";
reg = <0x53100000 0x300>; reg = <0x53100000 0x300>;
dmas = <&edma 36>; dmas = <&edma 36 0>;
dma-names = "rx"; dma-names = "rx";
interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>;
}; };
...@@ -787,8 +827,8 @@ aes: aes@53501000 { ...@@ -787,8 +827,8 @@ aes: aes@53501000 {
ti,hwmods = "aes"; ti,hwmods = "aes";
reg = <0x53501000 0xa0>; reg = <0x53501000 0xa0>;
interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&edma 6 dmas = <&edma 6 0>,
&edma 5>; <&edma 5 0>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
}; };
...@@ -797,8 +837,8 @@ des: des@53701000 { ...@@ -797,8 +837,8 @@ des: des@53701000 {
ti,hwmods = "des"; ti,hwmods = "des";
reg = <0x53701000 0xa0>; reg = <0x53701000 0xa0>;
interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 130 IRQ_TYPE_LEVEL_HIGH>;
dmas = <&edma 34 dmas = <&edma 34 0>,
&edma 33>; <&edma 33 0>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
}; };
...@@ -811,8 +851,8 @@ mcasp0: mcasp@48038000 { ...@@ -811,8 +851,8 @@ mcasp0: mcasp@48038000 {
interrupts = <80>, <81>; interrupts = <80>, <81>;
interrupt-names = "tx", "rx"; interrupt-names = "tx", "rx";
status = "disabled"; status = "disabled";
dmas = <&edma 8>, dmas = <&edma 8 2>,
<&edma 9>; <&edma 9 2>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
}; };
...@@ -825,8 +865,8 @@ mcasp1: mcasp@4803C000 { ...@@ -825,8 +865,8 @@ mcasp1: mcasp@4803C000 {
interrupts = <82>, <83>; interrupts = <82>, <83>;
interrupt-names = "tx", "rx"; interrupt-names = "tx", "rx";
status = "disabled"; status = "disabled";
dmas = <&edma 10>, dmas = <&edma 10 2>,
<&edma 11>; <&edma 11 2>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
}; };
......
...@@ -734,8 +734,8 @@ &mmc3 { ...@@ -734,8 +734,8 @@ &mmc3 {
status = "okay"; status = "okay";
/* these are on the crossbar and are outlined in the /* these are on the crossbar and are outlined in the
xbar-event-map element */ xbar-event-map element */
dmas = <&edma 30 dmas = <&edma_xbar 30 0 1>,
&edma 31>; <&edma_xbar 31 0 2>;
dma-names = "tx", "rx"; dma-names = "tx", "rx";
vmmc-supply = <&vmmcwl_fixed>; vmmc-supply = <&vmmcwl_fixed>;
bus-width = <4>; bus-width = <4>;
...@@ -756,11 +756,6 @@ wlcore: wlcore@0 { ...@@ -756,11 +756,6 @@ wlcore: wlcore@0 {
}; };
}; };
&edma {
ti,edma-xbar-event-map = /bits/ 16 <1 30
2 31>;
};
&uart3 { &uart3 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
......
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