1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
4 $id: http://devicetree.org/schemas/spi/spi-mux.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Generic SPI Multiplexer
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
16 MOSI /--------------------------------+--------+--------+--------\
17 MISO |/------------------------------+|-------+|-------+|-------\|
18 SCL ||/----------------------------+||------+||------+||------\||
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 | | ? +-|----------/ \----------------------------------/
33 - $ref: "/schemas/spi/spi-controller.yaml#"
36 - Chris Packham <chris.packham@alliedtelesis.co.nz>
51 unevaluatedProperties: false
55 #include <dt-bindings/gpio/gpio.h>
57 compatible = "gpio-mux";
58 #mux-control-cells = <0>;
60 mux-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
67 compatible = "spi-mux";
71 spi-max-frequency = <100000000>;
73 mux-controls = <&mux>;
76 compatible = "jedec,spi-nor";
80 spi-max-frequency = <40000000>;
84 compatible = "lineartechnology,ltc2488";
88 spi-max-frequency = <10000000>;