~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/spi/spi-mux.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  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     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php