mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.8 KiB
91 lines
2.8 KiB
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
|
%YAML 1.2 |
|
--- |
|
$id: http://devicetree.org/schemas/spi/spi-mux.yaml# |
|
$schema: http://devicetree.org/meta-schemas/core.yaml# |
|
|
|
title: Generic SPI Multiplexer |
|
|
|
description: | |
|
This binding describes a SPI bus multiplexer to route the SPI chip select |
|
signals. This can be used when you need more devices than the SPI controller |
|
has chip selects available. An example setup is shown in ASCII art; the actual |
|
setting of the multiplexer to a channel needs to be done by a specific SPI mux |
|
driver. |
|
|
|
MOSI /--------------------------------+--------+--------+--------\ |
|
MISO |/------------------------------+|-------+|-------+|-------\| |
|
SCL ||/----------------------------+||------+||------+||------\|| |
|
||| ||| ||| ||| ||| |
|
+------------+ ||| ||| ||| ||| |
|
| SoC ||| | +-+++-+ +-+++-+ +-+++-+ +-+++-+ |
|
| ||| | | dev | | dev | | dev | | dev | |
|
| +--+++-+ | CS-X +------+\ +--+--+ +--+--+ +--+--+ +--+--+ |
|
| | SPI +-|-------+ Mux |\\ CS-0 | | | | |
|
| +------+ | +--+---+\\\-------/ CS-1 | | | |
|
| | | \\\----------------/ CS-2 | | |
|
| +------+ | | \\-------------------------/ CS-3 | |
|
| | ? +-|----------/ \----------------------------------/ |
|
| +------+ | |
|
+------------+ |
|
|
|
allOf: |
|
- $ref: "/schemas/spi/spi-controller.yaml#" |
|
|
|
maintainers: |
|
- Chris Packham <[email protected]> |
|
|
|
properties: |
|
compatible: |
|
const: spi-mux |
|
|
|
mux-controls: |
|
maxItems: 1 |
|
|
|
required: |
|
- compatible |
|
- reg |
|
- spi-max-frequency |
|
- mux-controls |
|
|
|
unevaluatedProperties: false |
|
|
|
examples: |
|
- | |
|
#include <dt-bindings/gpio/gpio.h> |
|
mux: mux-controller { |
|
compatible = "gpio-mux"; |
|
#mux-control-cells = <0>; |
|
|
|
mux-gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>; |
|
}; |
|
|
|
spi { |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
spi@0 { |
|
compatible = "spi-mux"; |
|
reg = <0>; |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
spi-max-frequency = <100000000>; |
|
|
|
mux-controls = <&mux>; |
|
|
|
spi-flash@0 { |
|
compatible = "jedec,spi-nor"; |
|
reg = <0>; |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
spi-max-frequency = <40000000>; |
|
}; |
|
|
|
spi-device@1 { |
|
compatible = "lineartechnology,ltc2488"; |
|
reg = <1>; |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
spi-max-frequency = <10000000>; |
|
}; |
|
}; |
|
};
|
|
|