xref: /linux/Documentation/devicetree/bindings/i2c/tsd,mule-i2c-mux.yaml (revision c24999e61b2187578fe4256b7bc6190a046c4b93)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/tsd,mule-i2c-mux.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Theobroma Systems Mule I2C multiplexer
8
9maintainers:
10  - Farouk Bouabid <farouk.bouabid@cherry.de>
11  - Quentin Schulz <quentin.schulz@cherry.de>
12
13description: |
14  Theobroma Systems Mule is an MCU that emulates a set of I2C devices, among
15  which devices that are reachable through an I2C-mux. The devices on the mux
16  can be selected by writing the appropriate device number to an I2C config
17  register.
18
19
20      +--------------------------------------------------+
21      | Mule                                             |
22  0x18|    +---------------+                             |
23  -------->|Config register|----+                        |
24      |    +---------------+    |                        |
25      |                         V_                       |
26      |                        |  \          +--------+  |
27      |                        |   \-------->| dev #0 |  |
28      |                        |   |         +--------+  |
29  0x6f|                        | M |-------->| dev #1 |  |
30  ---------------------------->| U |         +--------+  |
31      |                        | X |-------->| dev #2 |  |
32      |                        |   |         +--------+  |
33      |                        |   /-------->| dev #3 |  |
34      |                        |__/          +--------+  |
35      +--------------------------------------------------+
36
37
38allOf:
39  - $ref: /schemas/i2c/i2c-mux.yaml#
40
41properties:
42  compatible:
43    const: tsd,mule-i2c-mux
44
45required:
46  - compatible
47
48unevaluatedProperties: false
49
50examples:
51  - |
52    i2c-mux {
53        compatible = "tsd,mule-i2c-mux";
54        #address-cells = <1>;
55        #size-cells = <0>;
56
57        i2c@0 {
58            reg = <0x0>;
59            #address-cells = <1>;
60            #size-cells = <0>;
61
62            rtc@6f {
63                compatible = "isil,isl1208";
64                reg = <0x6f>;
65            };
66        };
67    };
68...
69
70