brintos

brintos / linux-shallow public Read only

0
0
Text · 2.7 KiB · fb2a603 Raw
89 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/spi/spi-mux.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Generic SPI Multiplexer8 9description: |10  This binding describes a SPI bus multiplexer to route the SPI chip select11  signals. This can be used when you need more devices than the SPI controller12  has chip selects available. An example setup is shown in ASCII art; the actual13  setting of the multiplexer to a channel needs to be done by a specific SPI mux14  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 32allOf:33  - $ref: /schemas/spi/spi-controller.yaml#34  - $ref: /schemas/spi/spi-peripheral-props.yaml#35 36maintainers:37  - Chris Packham <chris.packham@alliedtelesis.co.nz>38 39properties:40  compatible:41    const: spi-mux42 43  mux-controls:44    maxItems: 145 46required:47  - compatible48  - reg49  - spi-max-frequency50  - mux-controls51 52unevaluatedProperties: false53 54examples: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    };89