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/spi/spi-davinci.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 Davinci SPI controller device bindings
    2 
    3 Links on DM:
    4 Keystone 2 - https://www.ti.com/lit/ug/sprugp2a/sprugp2a.pdf
    5 dm644x - https://www.ti.com/lit/ug/sprue32a/sprue32a.pdf
    6 OMAP-L138/da830 - http://www.ti.com/lit/ug/spruh77a/spruh77a.pdf
    7 
    8 Required properties:
    9 - #address-cells: number of cells required to define a chip select
   10         address on the SPI bus. Should be set to 1.
   11 - #size-cells: should be zero.
   12 - compatible:
   13         - "ti,dm6441-spi" for SPI used similar to that on DM644x SoC family
   14         - "ti,da830-spi" for SPI used similar to that on DA8xx SoC family
   15         - "ti,keystone-spi" for SPI used similar to that on Keystone2 SoC
   16                 family
   17 - reg: Offset and length of SPI controller register space
   18 - num-cs: Number of chip selects. This includes internal as well as
   19         GPIO chip selects.
   20 - ti,davinci-spi-intr-line: interrupt line used to connect the SPI
   21         IP to the interrupt controller within the SoC. Possible values
   22         are 0 and 1. Manual says one of the two possible interrupt
   23         lines can be tied to the interrupt controller. Set this
   24         based on a specific SoC configuration.
   25 - interrupts: interrupt number mapped to CPU.
   26 - clocks: spi clk phandle
   27           For 66AK2G this property should be set per binding,
   28           Documentation/devicetree/bindings/clock/ti,sci-clk.yaml
   29 
   30 SoC-specific Required Properties:
   31 
   32 The following are mandatory properties for Keystone 2 66AK2G SoCs only:
   33 
   34 - power-domains:        Should contain a phandle to a PM domain provider node
   35                         and an args specifier containing the SPI device id
   36                         value. This property is as per the binding,
   37 
   38 Optional:
   39 - cs-gpios: gpio chip selects
   40         For example to have 3 internal CS and 2 GPIO CS, user could define
   41         cs-gpios = <0>, <0>, <0>, <&gpio1 30 0>, <&gpio1 31 0>;
   42         where first three are internal CS and last two are GPIO CS.
   43 
   44 Optional properties for slave devices:
   45 SPI slave nodes can contain the following properties.
   46 Not all SPI Peripherals from Texas Instruments support this.
   47 Please check SPI peripheral documentation for a device before using these.
   48 
   49 - ti,spi-wdelay : delay between transmission of words
   50         (SPIFMTn.WDELAY, SPIDAT1.WDEL) must be specified in number of SPI module
   51         clock periods.
   52 
   53         delay = WDELAY * SPI_module_clock_period + 2 * SPI_module_clock_period
   54 
   55 Below is timing diagram which shows functional meaning of
   56 "ti,spi-wdelay" parameter.
   57 
   58              +-+ +-+ +-+ +-+ +-+                           +-+ +-+ +-+
   59 SPI_CLK      | | | | | | | | | |                           | | | | | |
   60   +----------+ +-+ +-+ +-+ +-+ +---------------------------+ +-+ +-+ +-
   61 
   62 SPI_SOMI/SIMO+-----------------+                           +-----------
   63   +----------+ word1           +---------------------------+word2
   64              +-----------------+                           +-----------
   65                                           WDELAY
   66                                 <-------------------------->
   67 
   68 Example of a NOR flash slave device (n25q032) connected to DaVinci
   69 SPI controller device over the SPI bus.
   70 
   71 spi0:spi@20bf0000 {
   72         #address-cells                  = <1>;
   73         #size-cells                     = <0>;
   74         compatible                      = "ti,dm6446-spi";
   75         reg                             = <0x20BF0000 0x1000>;
   76         num-cs                          = <4>;
   77         ti,davinci-spi-intr-line        = <0>;
   78         interrupts                      = <338>;
   79         clocks                          = <&clkspi>;
   80 
   81         flash: flash@0 {
   82                 #address-cells = <1>;
   83                 #size-cells = <1>;
   84                 compatible = "st,m25p32";
   85                 spi-max-frequency = <25000000>;
   86                 reg = <0>;
   87                 ti,spi-wdelay = <8>;
   88 
   89                 partition@0 {
   90                         label = "u-boot-spl";
   91                         reg = <0x0 0x80000>;
   92                         read-only;
   93                 };
   94 
   95                 partition@1 {
   96                         label = "test";
   97                         reg = <0x80000 0x380000>;
   98                 };
   99         };
  100 };

Cache object: 05045901c2757a340026b04f70c60761


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