The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/dma/ti-dma-crossbar.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 Texas Instruments DMA Crossbar (DMA request router)
    2 
    3 Required properties:
    4 - compatible:   "ti,dra7-dma-crossbar" for DRA7xx DMA crossbar
    5                 "ti,am335x-edma-crossbar" for AM335x and AM437x
    6 - reg:          Memory map for accessing module
    7 - #dma-cells:   Should be set to to match with the DMA controller's dma-cells
    8                 for ti,dra7-dma-crossbar and <3> for ti,am335x-edma-crossbar.
    9 - dma-requests: Number of DMA requests the crossbar can receive
   10 - dma-masters:  phandle pointing to the DMA controller
   11 
   12 The DMA controller node need to have the following poroperties:
   13 - dma-requests: Number of DMA requests the controller can handle
   14 
   15 Optional properties:
   16 - ti,dma-safe-map: Safe routing value for unused request lines
   17 - ti,reserved-dma-request-ranges: DMA request ranges which should not be used
   18                 when mapping xbar input to DMA request, they are either
   19                 allocated to be used by for example the DSP or they are used as
   20                 memcpy channels in eDMA.
   21 
   22 Notes:
   23 When requesting channel via ti,dra7-dma-crossbar, the DMA clinet must request
   24 the DMA event number as crossbar ID (input to the DMA crossbar).
   25 
   26 For ti,am335x-edma-crossbar: the meaning of parameters of dmas for clients:
   27 dmas = <&edma_xbar 12 0 1>; where <12> is the DMA request number, <0> is the TC
   28 the event should be assigned and <1> is the mux selection for in the crossbar.
   29 When mux 0 is used the DMA channel can be requested directly from edma node.
   30 
   31 Example:
   32 
   33 /* DMA controller */
   34 sdma: dma-controller@4a056000 {
   35         compatible = "ti,omap4430-sdma";
   36         reg = <0x4a056000 0x1000>;
   37         interrupts =    <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
   38                         <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
   39                         <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
   40                         <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
   41         #dma-cells = <1>;
   42         dma-channels = <32>;
   43         dma-requests = <127>;
   44 };
   45 
   46 /* DMA crossbar */
   47 sdma_xbar: dma-router@4a002b78 {
   48         compatible = "ti,dra7-dma-crossbar";
   49         reg = <0x4a002b78 0xfc>;
   50         #dma-cells = <1>;
   51         dma-requests = <205>;
   52         ti,dma-safe-map = <0>;
   53         /* Protect the sDMA request ranges: 10-14 and 100-126 */
   54         ti,reserved-dma-request-ranges = <10 5>, <100 27>;
   55         dma-masters = <&sdma>;
   56 };
   57 
   58 /* DMA client */
   59 uart1: serial@4806a000 {
   60         compatible = "ti,omap4-uart";
   61         reg = <0x4806a000 0x100>;
   62         interrupts-extended = <&gic GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>;
   63         ti,hwmods = "uart1";
   64         clock-frequency = <48000000>;
   65         /* Requesting crossbar input 49 and 50 */
   66         dmas = <&sdma_xbar 49>, <&sdma_xbar 50>;
   67         dma-names = "tx", "rx";
   68 };

Cache object: e22fe2f3fb6daee2bdd5a2d295abd4ad


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.