drm/bridge: Fix assignment of the of_node of the parent to aux bridge
[drm/drm-misc.git] / Documentation / devicetree / bindings / spi / spi-mux.yaml
blobfb2a6039928c4379f4e12dd150d26d7cb4e947d5
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#
7 title: Generic SPI Multiplexer
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.
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       +------------+
32 allOf:
33   - $ref: /schemas/spi/spi-controller.yaml#
34   - $ref: /schemas/spi/spi-peripheral-props.yaml#
36 maintainers:
37   - Chris Packham <chris.packham@alliedtelesis.co.nz>
39 properties:
40   compatible:
41     const: spi-mux
43   mux-controls:
44     maxItems: 1
46 required:
47   - compatible
48   - reg
49   - spi-max-frequency
50   - mux-controls
52 unevaluatedProperties: false
54 examples:
55   - |
56     #include <dt-bindings/gpio/gpio.h>
57     mux: mux-controller {
58         compatible = "gpio-mux";
59         #mux-control-cells = <0>;
61         mux-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
62     };
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>;
74             mux-controls = <&mux>;
76             flash@0 {
77                 compatible = "jedec,spi-nor";
78                 reg = <0>;
79                 spi-max-frequency = <40000000>;
80             };
82             sensor@1 {
83                 compatible = "bosch,bme680";
84                 reg = <1>;
85                 spi-max-frequency = <10000000>;
86             };
87         };
88     };