~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/dma/ti-edma.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/dma/ti-edma.txt (Architecture m68k) and /Documentation/devicetree/bindings/dma/ti-edma.txt (Architecture mips)


  1 Texas Instruments eDMA                              1 Texas Instruments eDMA
  2                                                     2 
  3 The eDMA3 consists of two components: Channel       3 The eDMA3 consists of two components: Channel controller (CC) and Transfer
  4 Controller(s) (TC). The CC is the main entry f      4 Controller(s) (TC). The CC is the main entry for DMA users since it is
  5 responsible for the DMA channel handling, whil      5 responsible for the DMA channel handling, while the TCs are responsible to
  6 execute the actual DMA tansfer.                     6 execute the actual DMA tansfer.
  7                                                     7 
  8 ----------------------------------------------      8 ------------------------------------------------------------------------------
  9 eDMA3 Channel Controller                            9 eDMA3 Channel Controller
 10                                                    10 
 11 Required properties:                               11 Required properties:
 12 --------------------                               12 --------------------
 13 - compatible:   Should be:                         13 - compatible:   Should be:
 14                 - "ti,edma3-tpcc" for the chan     14                 - "ti,edma3-tpcc" for the channel controller(s) on OMAP,
 15                   AM33xx and AM43xx SoCs.          15                   AM33xx and AM43xx SoCs.
 16                 - "ti,k2g-edma3-tpcc", "ti,edm     16                 - "ti,k2g-edma3-tpcc", "ti,edma3-tpcc" for the
 17                   channel controller(s) on 66A     17                   channel controller(s) on 66AK2G.
 18 - #dma-cells:   Should be set to <2>. The firs     18 - #dma-cells:   Should be set to <2>. The first number is the DMA request
 19                 number and the second is the T     19                 number and the second is the TC the channel is serviced on.
 20 - reg:          Memory map of eDMA CC              20 - reg:          Memory map of eDMA CC
 21 - reg-names:    "edma3_cc"                         21 - reg-names:    "edma3_cc"
 22 - interrupts:   Interrupt lines for CCINT, MPE     22 - interrupts:   Interrupt lines for CCINT, MPERR and CCERRINT.
 23 - interrupt-names: "edma3_ccint", "edma3_mperr     23 - interrupt-names: "edma3_ccint", "edma3_mperr" and "edma3_ccerrint"
 24 - ti,tptcs:     List of TPTCs associated with      24 - ti,tptcs:     List of TPTCs associated with the eDMA in the following form:
 25                 <&tptc_phandle TC_priority_num     25                 <&tptc_phandle TC_priority_number>. The highest priority is 0.
 26                                                    26 
 27 SoC-specific Required properties:                  27 SoC-specific Required properties:
 28 --------------------------------                   28 --------------------------------
 29 The following are mandatory properties for OMA     29 The following are mandatory properties for OMAP, AM33xx and AM43xx SoCs only:
 30 - ti,hwmods:    Name of the hwmods associated      30 - ti,hwmods:    Name of the hwmods associated to the eDMA CC.
 31                                                    31 
 32 The following are mandatory properties for 66A     32 The following are mandatory properties for 66AK2G SoCs only:
 33 - power-domains:Should contain a phandle to a      33 - power-domains:Should contain a phandle to a PM domain provider node
 34                 and an args specifier containi     34                 and an args specifier containing the device id
 35                 value. This property is as per     35                 value. This property is as per the binding,
 36                 Documentation/devicetree/bindi     36                 Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
 37                                                    37 
 38 Optional properties:                               38 Optional properties:
 39 -------------------                                39 -------------------
 40 - ti,edma-memcpy-channels: List of channels al     40 - ti,edma-memcpy-channels: List of channels allocated to be used for memcpy, iow
 41                 these channels will be SW trig     41                 these channels will be SW triggered channels. See example.
 42 - ti,edma-reserved-slot-ranges: PaRAM slot ran     42 - ti,edma-reserved-slot-ranges: PaRAM slot ranges which should not be used by
 43                 the driver, they are allocated     43                 the driver, they are allocated to be used by for example the
 44                 DSP. See example.                  44                 DSP. See example.
 45 - dma-channel-mask: Mask of usable channels.       45 - dma-channel-mask: Mask of usable channels.
 46                 Single uint32 for EDMA with 32     46                 Single uint32 for EDMA with 32 channels, array of two uint32 for
 47                 EDMA with 64 channels. See exa     47                 EDMA with 64 channels. See example and
 48                 Documentation/devicetree/bindi     48                 Documentation/devicetree/bindings/dma/dma-common.yaml
 49                                                    49 
 50                                                    50 
 51 ----------------------------------------------     51 ------------------------------------------------------------------------------
 52 eDMA3 Transfer Controller                          52 eDMA3 Transfer Controller
 53                                                    53 
 54 Required properties:                               54 Required properties:
 55 --------------------                               55 --------------------
 56 - compatible:   Should be:                         56 - compatible:   Should be:
 57                 - "ti,edma3-tptc" for the tran     57                 - "ti,edma3-tptc" for the transfer controller(s) on OMAP,
 58                   AM33xx and AM43xx SoCs.          58                   AM33xx and AM43xx SoCs.
 59                 - "ti,k2g-edma3-tptc", "ti,edm     59                 - "ti,k2g-edma3-tptc", "ti,edma3-tptc" for the
 60                   transfer controller(s) on 66     60                   transfer controller(s) on 66AK2G.
 61 - reg:          Memory map of eDMA TC              61 - reg:          Memory map of eDMA TC
 62 - interrupts:   Interrupt number for TCerrint.     62 - interrupts:   Interrupt number for TCerrint.
 63                                                    63 
 64 SoC-specific Required properties:                  64 SoC-specific Required properties:
 65 --------------------------------                   65 --------------------------------
 66 The following are mandatory properties for OMA     66 The following are mandatory properties for OMAP, AM33xx and AM43xx SoCs only:
 67 - ti,hwmods:    Name of the hwmods associated      67 - ti,hwmods:    Name of the hwmods associated to the eDMA TC.
 68                                                    68 
 69 The following are mandatory properties for 66A     69 The following are mandatory properties for 66AK2G SoCs only:
 70 - power-domains:Should contain a phandle to a      70 - power-domains:Should contain a phandle to a PM domain provider node
 71                 and an args specifier containi     71                 and an args specifier containing the device id
 72                 value. This property is as per     72                 value. This property is as per the binding,
 73                 Documentation/devicetree/bindi     73                 Documentation/devicetree/bindings/soc/ti/sci-pm-domain.yaml
 74                                                    74 
 75 Optional properties:                               75 Optional properties:
 76 -------------------                                76 -------------------
 77 - interrupt-names: "edma3_tcerrint"                77 - interrupt-names: "edma3_tcerrint"
 78                                                    78 
 79 ----------------------------------------------     79 ------------------------------------------------------------------------------
 80 Examples:                                          80 Examples:
 81                                                    81 
 82 1.                                                 82 1.
 83 edma: edma@49000000 {                              83 edma: edma@49000000 {
 84         compatible = "ti,edma3-tpcc";              84         compatible = "ti,edma3-tpcc";
 85         ti,hwmods = "tpcc";                        85         ti,hwmods = "tpcc";
 86         reg =   <0x49000000 0x10000>;              86         reg =   <0x49000000 0x10000>;
 87         reg-names = "edma3_cc";                    87         reg-names = "edma3_cc";
 88         interrupts = <12 13 14>;                   88         interrupts = <12 13 14>;
 89         interrupt-names = "edma3_ccint", "edma     89         interrupt-names = "edma3_ccint", "edma3_mperr", "edma3_ccerrint";
 90         dma-requests = <64>;                       90         dma-requests = <64>;
 91         #dma-cells = <2>;                          91         #dma-cells = <2>;
 92                                                    92 
 93         ti,tptcs = <&edma_tptc0 7>, <&edma_tpt     93         ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 7>, <&edma_tptc2 0>;
 94                                                    94 
 95         /* Channel 20 and 21 is allocated for      95         /* Channel 20 and 21 is allocated for memcpy */
 96         ti,edma-memcpy-channels = <20 21>;         96         ti,edma-memcpy-channels = <20 21>;
 97         /* The following PaRAM slots are reser     97         /* The following PaRAM slots are reserved: 35-44 and 100-109 */
 98         ti,edma-reserved-slot-ranges = <35 10>     98         ti,edma-reserved-slot-ranges = <35 10>, <100 10>;
 99         /* The following channels are reserved     99         /* The following channels are reserved: 35-44 */
100         dma-channel-mask = <0xffffffff /* Chan    100         dma-channel-mask = <0xffffffff /* Channel 0-31 */
101                             0xffffe007>; /* Ch    101                             0xffffe007>; /* Channel 32-63 */
102 };                                                102 };
103                                                   103 
104 edma_tptc0: tptc@49800000 {                       104 edma_tptc0: tptc@49800000 {
105         compatible = "ti,edma3-tptc";             105         compatible = "ti,edma3-tptc";
106         ti,hwmods = "tptc0";                      106         ti,hwmods = "tptc0";
107         reg =   <0x49800000 0x100000>;            107         reg =   <0x49800000 0x100000>;
108         interrupts = <112>;                       108         interrupts = <112>;
109         interrupt-names = "edm3_tcerrint";        109         interrupt-names = "edm3_tcerrint";
110 };                                                110 };
111                                                   111 
112 edma_tptc1: tptc@49900000 {                       112 edma_tptc1: tptc@49900000 {
113         compatible = "ti,edma3-tptc";             113         compatible = "ti,edma3-tptc";
114         ti,hwmods = "tptc1";                      114         ti,hwmods = "tptc1";
115         reg =   <0x49900000 0x100000>;            115         reg =   <0x49900000 0x100000>;
116         interrupts = <113>;                       116         interrupts = <113>;
117         interrupt-names = "edm3_tcerrint";        117         interrupt-names = "edm3_tcerrint";
118 };                                                118 };
119                                                   119 
120 edma_tptc2: tptc@49a00000 {                       120 edma_tptc2: tptc@49a00000 {
121         compatible = "ti,edma3-tptc";             121         compatible = "ti,edma3-tptc";
122         ti,hwmods = "tptc2";                      122         ti,hwmods = "tptc2";
123         reg =   <0x49a00000 0x100000>;            123         reg =   <0x49a00000 0x100000>;
124         interrupts = <114>;                       124         interrupts = <114>;
125         interrupt-names = "edm3_tcerrint";        125         interrupt-names = "edm3_tcerrint";
126 };                                                126 };
127                                                   127 
128 sham: sham@53100000 {                             128 sham: sham@53100000 {
129         compatible = "ti,omap4-sham";             129         compatible = "ti,omap4-sham";
130         ti,hwmods = "sham";                       130         ti,hwmods = "sham";
131         reg = <0x53100000 0x200>;                 131         reg = <0x53100000 0x200>;
132         interrupts = <109>;                       132         interrupts = <109>;
133         /* DMA channel 36 executed on eDMA TC0    133         /* DMA channel 36 executed on eDMA TC0 - low priority queue */
134         dmas = <&edma 36 0>;                      134         dmas = <&edma 36 0>;
135         dma-names = "rx";                         135         dma-names = "rx";
136 };                                                136 };
137                                                   137 
138 mcasp0: mcasp@48038000 {                          138 mcasp0: mcasp@48038000 {
139         compatible = "ti,am33xx-mcasp-audio";     139         compatible = "ti,am33xx-mcasp-audio";
140         ti,hwmods = "mcasp0";                     140         ti,hwmods = "mcasp0";
141         reg = <0x48038000 0x2000>,                141         reg = <0x48038000 0x2000>,
142                 <0x46000000 0x400000>;            142                 <0x46000000 0x400000>;
143         reg-names = "mpu", "dat";                 143         reg-names = "mpu", "dat";
144         interrupts = <80>, <81>;                  144         interrupts = <80>, <81>;
145         interrupt-names = "tx", "rx";             145         interrupt-names = "tx", "rx";
146         /* DMA channels 8 and 9 executed on eD    146         /* DMA channels 8 and 9 executed on eDMA TC2 - high priority queue */
147         dmas = <&edma 8 2>,                       147         dmas = <&edma 8 2>,
148                <&edma 9 2>;                       148                <&edma 9 2>;
149         dma-names = "tx", "rx";                   149         dma-names = "tx", "rx";
150 };                                                150 };
151                                                   151 
152 2.                                                152 2.
153 edma1: edma@2728000 {                             153 edma1: edma@2728000 {
154         compatible = "ti,k2g-edma3-tpcc", "ti,    154         compatible = "ti,k2g-edma3-tpcc", "ti,edma3-tpcc";
155         reg =   <0x02728000 0x8000>;              155         reg =   <0x02728000 0x8000>;
156         reg-names = "edma3_cc";                   156         reg-names = "edma3_cc";
157         interrupts = <GIC_SPI 208 IRQ_TYPE_EDG    157         interrupts = <GIC_SPI 208 IRQ_TYPE_EDGE_RISING>,
158                         <GIC_SPI 219 IRQ_TYPE_    158                         <GIC_SPI 219 IRQ_TYPE_EDGE_RISING>,
159                         <GIC_SPI 220 IRQ_TYPE_    159                         <GIC_SPI 220 IRQ_TYPE_EDGE_RISING>;
160         interrupt-names = "edma3_ccint", "emda    160         interrupt-names = "edma3_ccint", "emda3_mperr",
161                           "edma3_ccerrint";       161                           "edma3_ccerrint";
162         dma-requests = <64>;                      162         dma-requests = <64>;
163         #dma-cells = <2>;                         163         #dma-cells = <2>;
164                                                   164 
165         ti,tptcs = <&edma1_tptc0 7>, <&edma1_t    165         ti,tptcs = <&edma1_tptc0 7>, <&edma1_tptc1 0>;
166                                                   166 
167         /*                                        167         /*
168          * memcpy is disabled, can be enabled     168          * memcpy is disabled, can be enabled with:
169          * ti,edma-memcpy-channels = <12 13 14    169          * ti,edma-memcpy-channels = <12 13 14 15>;
170          * for example.                           170          * for example.
171          */                                       171          */
172                                                   172 
173         power-domains = <&k2g_pds 0x4f>;          173         power-domains = <&k2g_pds 0x4f>;
174 };                                                174 };
175                                                   175 
176 edma1_tptc0: tptc@27b0000 {                       176 edma1_tptc0: tptc@27b0000 {
177         compatible = "ti,k2g-edma3-tptc", "ti,    177         compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
178         reg =   <0x027b0000 0x400>;               178         reg =   <0x027b0000 0x400>;
179         power-domains = <&k2g_pds 0x4f>;          179         power-domains = <&k2g_pds 0x4f>;
180 };                                                180 };
181                                                   181 
182 edma1_tptc1: tptc@27b8000 {                       182 edma1_tptc1: tptc@27b8000 {
183         compatible = "ti,k2g-edma3-tptc", "ti,    183         compatible = "ti,k2g-edma3-tptc", "ti,edma3-tptc";
184         reg =   <0x027b8000 0x400>;               184         reg =   <0x027b8000 0x400>;
185         power-domains = <&k2g_pds 0x4f>;          185         power-domains = <&k2g_pds 0x4f>;
186 };                                                186 };
187                                                   187 
188 mmc0: mmc@23000000 {                              188 mmc0: mmc@23000000 {
189         compatible = "ti,k2g-hsmmc", "ti,omap4    189         compatible = "ti,k2g-hsmmc", "ti,omap4-hsmmc";
190         reg = <0x23000000 0x400>;                 190         reg = <0x23000000 0x400>;
191         interrupts = <GIC_SPI 96 IRQ_TYPE_EDGE    191         interrupts = <GIC_SPI 96 IRQ_TYPE_EDGE_RISING>;
192         dmas = <&edma1 24 0>, <&edma1 25 0>;      192         dmas = <&edma1 24 0>, <&edma1 25 0>;
193         dma-names = "tx", "rx";                   193         dma-names = "tx", "rx";
194         bus-width = <4>;                          194         bus-width = <4>;
195         ti,needs-special-reset;                   195         ti,needs-special-reset;
196         no-1-8-v;                                 196         no-1-8-v;
197         max-frequency = <96000000>;               197         max-frequency = <96000000>;
198         power-domains = <&k2g_pds 0xb>;           198         power-domains = <&k2g_pds 0xb>;
199         clocks = <&k2g_clks 0xb 1>, <&k2g_clks    199         clocks = <&k2g_clks 0xb 1>, <&k2g_clks 0xb 2>;
200         clock-names = "fck", "mmchsdb_fck";       200         clock-names = "fck", "mmchsdb_fck";
201 };                                                201 };
202                                                   202 
203 ----------------------------------------------    203 ------------------------------------------------------------------------------
204 DEPRECATED binding, new DTS files must use the    204 DEPRECATED binding, new DTS files must use the ti,edma3-tpcc/ti,edma3-tptc
205 binding.                                          205 binding.
206                                                   206 
207 Required properties:                              207 Required properties:
208 - compatible : "ti,edma3"                         208 - compatible : "ti,edma3"
209 - #dma-cells: Should be set to <1>                209 - #dma-cells: Should be set to <1>
210               Clients should use a single chan    210               Clients should use a single channel number per DMA request.
211 - reg: Memory map for accessing module            211 - reg: Memory map for accessing module
212 - interrupts: Exactly 3 interrupts need to be     212 - interrupts: Exactly 3 interrupts need to be specified in the order:
213               1. Transfer completion interrupt    213               1. Transfer completion interrupt.
214               2. Memory protection interrupt.     214               2. Memory protection interrupt.
215               3. Error interrupt.                 215               3. Error interrupt.
216 Optional properties:                              216 Optional properties:
217 - ti,hwmods: Name of the hwmods associated to     217 - ti,hwmods: Name of the hwmods associated to the EDMA
218 - ti,edma-xbar-event-map: Crossbar event to ch    218 - ti,edma-xbar-event-map: Crossbar event to channel map
219                                                   219 
220 Deprecated properties:                            220 Deprecated properties:
221 Listed here in case one wants to boot an old k    221 Listed here in case one wants to boot an old kernel with new DTB. These
222 properties might need to be added to the new D    222 properties might need to be added to the new DTS files.
223 - ti,edma-regions: Number of regions              223 - ti,edma-regions: Number of regions
224 - ti,edma-slots: Number of slots                  224 - ti,edma-slots: Number of slots
225 - dma-channels: Specify total DMA channels per    225 - dma-channels: Specify total DMA channels per CC
226                                                   226 
227 Example:                                          227 Example:
228                                                   228 
229 edma: edma@49000000 {                             229 edma: edma@49000000 {
230         reg = <0x49000000 0x10000>;               230         reg = <0x49000000 0x10000>;
231         interrupt-parent = <&intc>;               231         interrupt-parent = <&intc>;
232         interrupts = <12 13 14>;                  232         interrupts = <12 13 14>;
233         compatible = "ti,edma3";                  233         compatible = "ti,edma3";
234         ti,hwmods = "tpcc", "tptc0", "tptc1",     234         ti,hwmods = "tpcc", "tptc0", "tptc1", "tptc2";
235         #dma-cells = <1>;                         235         #dma-cells = <1>;
236         ti,edma-xbar-event-map = /bits/ 16 <1     236         ti,edma-xbar-event-map = /bits/ 16 <1 12
237                                             2     237                                             2 13>;
238 };                                                238 };
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php