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/brcm,bcm2835-dma.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 * BCM2835 DMA controller
    2 
    3 The BCM2835 DMA controller has 16 channels in total.
    4 Only the lower 13 channels have an associated IRQ.
    5 Some arbitrary channels are used by the firmware
    6 (1,3,6,7 in the current firmware version).
    7 The channels 0,2 and 3 have special functionality
    8 and should not be used by the driver.
    9 
   10 Required properties:
   11 - compatible: Should be "brcm,bcm2835-dma".
   12 - reg: Should contain DMA registers location and length.
   13 - interrupts: Should contain the DMA interrupts associated
   14                 to the DMA channels in ascending order.
   15 - interrupt-names: Should contain the names of the interrupt
   16                    in the form "dmaXX".
   17                    Use "dma-shared-all" for the common interrupt line
   18                    that is shared by all dma channels.
   19 - #dma-cells: Must be <1>, the cell in the dmas property of the
   20                 client device represents the DREQ number.
   21 - brcm,dma-channel-mask: Bit mask representing the channels
   22                          not used by the firmware in ascending order,
   23                          i.e. first channel corresponds to LSB.
   24 
   25 Example:
   26 
   27 dma: dma@7e007000 {
   28         compatible = "brcm,bcm2835-dma";
   29         reg = <0x7e007000 0xf00>;
   30         interrupts = <1 16>,
   31                      <1 17>,
   32                      <1 18>,
   33                      <1 19>,
   34                      <1 20>,
   35                      <1 21>,
   36                      <1 22>,
   37                      <1 23>,
   38                      <1 24>,
   39                      <1 25>,
   40                      <1 26>,
   41                      /* dma channel 11-14 share one irq */
   42                      <1 27>,
   43                      <1 27>,
   44                      <1 27>,
   45                      <1 27>,
   46                      /* unused shared irq for all channels */
   47                      <1 28>;
   48         interrupt-names = "dma0",
   49                           "dma1",
   50                           "dma2",
   51                           "dma3",
   52                           "dma4",
   53                           "dma5",
   54                           "dma6",
   55                           "dma7",
   56                           "dma8",
   57                           "dma9",
   58                           "dma10",
   59                           "dma11",
   60                           "dma12",
   61                           "dma13",
   62                           "dma14",
   63                           "dma-shared-all";
   64 
   65         #dma-cells = <1>;
   66         brcm,dma-channel-mask = <0x7f35>;
   67 };
   68 
   69 
   70 DMA clients connected to the BCM2835 DMA controller must use the format
   71 described in the dma.txt file, using a two-cell specifier for each channel.
   72 
   73 Example:
   74 
   75 bcm2835_i2s: i2s@7e203000 {
   76         compatible = "brcm,bcm2835-i2s";
   77         reg = < 0x7e203000 0x24>;
   78         clocks = <&clocks BCM2835_CLOCK_PCM>;
   79 
   80         dmas = <&dma 2>,
   81                <&dma 3>;
   82         dma-names = "tx", "rx";
   83 };

Cache object: b9b48b8a27ba3b7696b700b5589f55da


[ 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.