1 # SPDX-License-Identifier: GPL-2.0-only 2 %YAML 1.2 3 --- 4 $id: http://devicetree.org/schemas/i2c/i2c-mux 5 $schema: http://devicetree.org/meta-schemas/co 6 7 title: Pinctrl-based I2C Bus Mux 8 9 maintainers: 10 - Wolfram Sang <wsa@kernel.org> 11 12 description: | 13 This binding describes an I2C bus multiplexe 14 signals, and represents the pin multiplexing 15 bindings. 16 17 +-----+ +--- 18 | dev | | de 19 +------------------------+ +-----+ +--- 20 | SoC | | | 21 | /----|------+--------+ 22 | +---+ +------+ | child bus A, on 23 | |I2C|---|Pinmux| | 24 | +---+ +------+ | child bus B, on 25 | \----|------+--------+ 26 | | | | 27 +------------------------+ +-----+ +---- 28 | dev | | dev 29 +-----+ +---- 30 31 For each named state defined in the pinctrl- 32 I2C child bus numbers are assigned based on 33 34 The only exception is that no bus will be cr 35 defined, it must be the last entry in pinctr 36 37 pinctrl-names = "ddc", "pta", "idle" -> 38 pinctrl-names = "ddc", "idle", "pta" -> 39 pinctrl-names = "idle", "ddc", "pta" -> 40 41 Whenever an access is made to a device on a 42 programmed into hardware. 43 44 If an idle state is defined, whenever an acc 45 the idle pinctrl state will be programmed in 46 47 If an idle state is not defined, the most re 48 into hardware whenever no access is being ma 49 50 properties: 51 compatible: 52 const: i2c-mux-pinctrl 53 54 i2c-parent: 55 $ref: /schemas/types.yaml#/definitions/pha 56 description: The phandle of the I2C bus th 57 to. 58 59 allOf: 60 - $ref: i2c-mux.yaml 61 62 unevaluatedProperties: false 63 64 required: 65 - compatible 66 - i2c-parent 67 68 examples: 69 - | 70 i2cmux { 71 compatible = "i2c-mux-pinctrl"; 72 #address-cells = <1>; 73 #size-cells = <0>; 74 75 i2c-parent = <&i2c1>; 76 77 pinctrl-names = "ddc", "pta", "idle"; 78 pinctrl-0 = <&state_i2cmux_ddc>; 79 pinctrl-1 = <&state_i2cmux_pta>; 80 pinctrl-2 = <&state_i2cmux_idle>; 81 82 i2c@0 { 83 reg = <0>; 84 #address-cells = <1>; 85 #size-cells = <0>; 86 87 eeprom@50 { 88 compatible = "atmel,24c02"; 89 reg = <0x50>; 90 }; 91 }; 92 93 i2c@1 { 94 reg = <1>; 95 #address-cells = <1>; 96 #size-cells = <0>; 97 98 eeprom@50 { 99 compatible = "atmel,24c02"; 100 reg = <0x50>; 101 }; 102 }; 103 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.