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-mux.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 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/spi/spi-mux.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Generic SPI Multiplexer
    8 
    9 description: |
   10   This binding describes a SPI bus multiplexer to route the SPI chip select
   11   signals. This can be used when you need more devices than the SPI controller
   12   has chip selects available. An example setup is shown in ASCII art; the actual
   13   setting of the multiplexer to a channel needs to be done by a specific SPI mux
   14   driver.
   15 
   16         MOSI /--------------------------------+--------+--------+--------\
   17         MISO |/------------------------------+|-------+|-------+|-------\|
   18          SCL ||/----------------------------+||------+||------+||------\||
   19              |||                            |||      |||      |||      |||
   20       +------------+                        |||      |||      |||      |||
   21       | SoC  |||   |                      +-+++-+  +-+++-+  +-+++-+  +-+++-+
   22       |      |||   |                      | dev |  | dev |  | dev |  | dev |
   23       |   +--+++-+ | CS-X  +------+\      +--+--+  +--+--+  +--+--+  +--+--+
   24       |   | SPI  +-|-------+ Mux  |\\   CS-0 |        |        |        |
   25       |   +------+ |       +--+---+\\\-------/   CS-1 |        |        |
   26       |            |          |    \\\----------------/   CS-2 |        |
   27       |   +------+ |          |     \\-------------------------/   CS-3 |
   28       |   | ?    +-|----------/      \----------------------------------/
   29       |   +------+ |
   30       +------------+
   31 
   32 allOf:
   33   - $ref: "/schemas/spi/spi-controller.yaml#"
   34   - $ref: "/schemas/spi/spi-peripheral-props.yaml#"
   35 
   36 maintainers:
   37   - Chris Packham <chris.packham@alliedtelesis.co.nz>
   38 
   39 properties:
   40   compatible:
   41     const: spi-mux
   42 
   43   mux-controls:
   44     maxItems: 1
   45 
   46 required:
   47   - compatible
   48   - reg
   49   - spi-max-frequency
   50   - mux-controls
   51 
   52 unevaluatedProperties: false
   53 
   54 examples:
   55   - |
   56     #include <dt-bindings/gpio/gpio.h>
   57     mux: mux-controller {
   58         compatible = "gpio-mux";
   59         #mux-control-cells = <0>;
   60 
   61         mux-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
   62     };
   63 
   64     spi {
   65         #address-cells = <1>;
   66         #size-cells = <0>;
   67         spi@0 {
   68             compatible = "spi-mux";
   69             reg = <0>;
   70             #address-cells = <1>;
   71             #size-cells = <0>;
   72             spi-max-frequency = <100000000>;
   73 
   74             mux-controls = <&mux>;
   75 
   76             flash@0 {
   77                 compatible = "jedec,spi-nor";
   78                 reg = <0>;
   79                 spi-max-frequency = <40000000>;
   80             };
   81 
   82             sensor@1 {
   83                 compatible = "bosch,bme680";
   84                 reg = <1>;
   85                 spi-max-frequency = <10000000>;
   86             };
   87         };
   88     };

Cache object: 5624fc8b736b69789e30bfd5d5b95a31


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