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-pl022.yaml

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 # SPDX-License-Identifier: GPL-2.0
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/spi/spi-pl022.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: ARM PL022 SPI controller
    8 
    9 maintainers:
   10   - Linus Walleij <linus.walleij@linaro.org>
   11 
   12 allOf:
   13   - $ref: "spi-controller.yaml#"
   14 
   15 # We need a select here so we don't match all nodes with 'arm,primecell'
   16 select:
   17   properties:
   18     compatible:
   19       contains:
   20         const: arm,pl022
   21   required:
   22     - compatible
   23 
   24 properties:
   25   compatible:
   26     items:
   27       - const: arm,pl022
   28       - const: arm,primecell
   29 
   30   reg:
   31     maxItems: 1
   32 
   33   interrupts:
   34     maxItems: 1
   35 
   36   clocks:
   37     maxItems: 2
   38 
   39   clock-names:
   40     items:
   41       - const: sspclk
   42       - const: apb_pclk
   43 
   44   pl022,autosuspend-delay:
   45     description: delay in ms following transfer completion before the
   46       runtime power management system suspends the device. A setting of 0
   47       indicates no delay and the device will be suspended immediately.
   48     $ref: "/schemas/types.yaml#/definitions/uint32"
   49 
   50   pl022,rt:
   51     description: indicates the controller should run the message pump with realtime
   52       priority to minimise the transfer latency on the bus (boolean)
   53     type: boolean
   54 
   55   dmas:
   56     description:
   57       Two or more DMA channel specifiers following the convention outlined
   58       in bindings/dma/dma.txt
   59     minItems: 2
   60     maxItems: 32
   61 
   62   dma-names:
   63     description:
   64       There must be at least one channel named "tx" for transmit and named "rx"
   65       for receive.
   66     minItems: 2
   67     maxItems: 32
   68     additionalItems: true
   69     items:
   70       - const: rx
   71       - const: tx
   72 
   73   resets:
   74     maxItems: 1
   75 
   76 patternProperties:
   77   "^[a-zA-Z][a-zA-Z0-9,+\\-._]{0,63}@[0-9a-f]+$":
   78     type: object
   79     # SPI slave nodes must be children of the SPI master node and can
   80     # contain the following properties.
   81     properties:
   82       pl022,interface:
   83         description: SPI interface type
   84         $ref: "/schemas/types.yaml#/definitions/uint32"
   85         enum:
   86           - 0      # SPI
   87           - 1      # Texas Instruments Synchronous Serial Frame Format
   88           - 2      # Microwire (Half Duplex)
   89 
   90       pl022,com-mode:
   91         description: Specifies the transfer mode
   92         $ref: "/schemas/types.yaml#/definitions/uint32"
   93         enum:
   94           - 0      # interrupt mode
   95           - 1      # polling mode
   96           - 2      # DMA mode
   97         default: 1
   98 
   99       pl022,rx-level-trig:
  100         description: Rx FIFO watermark level
  101         $ref: "/schemas/types.yaml#/definitions/uint32"
  102         minimum: 0
  103         maximum: 4
  104 
  105       pl022,tx-level-trig:
  106         description: Tx FIFO watermark level
  107         $ref: "/schemas/types.yaml#/definitions/uint32"
  108         minimum: 0
  109         maximum: 4
  110 
  111       pl022,ctrl-len:
  112         description: Microwire interface - Control length
  113         $ref: "/schemas/types.yaml#/definitions/uint32"
  114         minimum: 0x03
  115         maximum: 0x1f
  116 
  117       pl022,wait-state:
  118         description: Microwire interface - Wait state
  119         $ref: "/schemas/types.yaml#/definitions/uint32"
  120         enum: [0, 1]
  121 
  122       pl022,duplex:
  123         description: Microwire interface - Full/Half duplex
  124         $ref: "/schemas/types.yaml#/definitions/uint32"
  125         enum: [0, 1]
  126 
  127 required:
  128   - compatible
  129   - reg
  130   - interrupts
  131 
  132 unevaluatedProperties: false
  133 
  134 examples:
  135   - |
  136     spi@e0100000 {
  137       compatible = "arm,pl022", "arm,primecell";
  138       reg = <0xe0100000 0x1000>;
  139       #address-cells = <1>;
  140       #size-cells = <0>;
  141       interrupts = <0 31 0x4>;
  142       dmas = <&dma_controller 23 1>,
  143         <&dma_controller 24 0>;
  144       dma-names = "rx", "tx";
  145 
  146       flash@1 {
  147         compatible = "st,m25p80";
  148         reg = <1>;
  149         spi-max-frequency = <12000000>;
  150         spi-cpol;
  151         spi-cpha;
  152         pl022,interface = <0>;
  153         pl022,com-mode = <0x2>;
  154         pl022,rx-level-trig = <0>;
  155         pl022,tx-level-trig = <0>;
  156         pl022,ctrl-len = <0x11>;
  157         pl022,wait-state = <0>;
  158         pl022,duplex = <0>;
  159       };
  160     };
  161 ...

Cache object: 6b6a9fd12ee8ca390cc7747c21bc4532


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