1*4882a593Smuzhiyun* NXP PCA954x I2C bus switch 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunThe driver supports NXP PCA954x and PCA984x I2C mux/switch devices. 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunRequired Properties: 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun - compatible: Must contain one of the following. 8*4882a593Smuzhiyun "nxp,pca9540", 9*4882a593Smuzhiyun "nxp,pca9542", 10*4882a593Smuzhiyun "nxp,pca9543", 11*4882a593Smuzhiyun "nxp,pca9544", 12*4882a593Smuzhiyun "nxp,pca9545", 13*4882a593Smuzhiyun "nxp,pca9546", "nxp,pca9846", 14*4882a593Smuzhiyun "nxp,pca9547", "nxp,pca9847", 15*4882a593Smuzhiyun "nxp,pca9548", "nxp,pca9848", 16*4882a593Smuzhiyun "nxp,pca9849" 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun - reg: The I2C address of the device. 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun The following required properties are defined externally: 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun - Standard I2C mux properties. See i2c-mux.txt in this directory. 23*4882a593Smuzhiyun - I2C child bus nodes. See i2c-mux.txt in this directory. 24*4882a593Smuzhiyun 25*4882a593SmuzhiyunOptional Properties: 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun - reset-gpios: Reference to the GPIO connected to the reset input. 28*4882a593Smuzhiyun - idle-state: if present, overrides i2c-mux-idle-disconnect, 29*4882a593Smuzhiyun Please refer to Documentation/devicetree/bindings/mux/mux-controller.txt 30*4882a593Smuzhiyun - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all 31*4882a593Smuzhiyun children in idle state. This is necessary for example, if there are several 32*4882a593Smuzhiyun multiplexers on the bus and the devices behind them use same I2C addresses. 33*4882a593Smuzhiyun - interrupts: Interrupt mapping for IRQ. 34*4882a593Smuzhiyun - interrupt-controller: Marks the device node as an interrupt controller. 35*4882a593Smuzhiyun - #interrupt-cells : Should be two. 36*4882a593Smuzhiyun - first cell is the pin number 37*4882a593Smuzhiyun - second cell is used to specify flags. 38*4882a593Smuzhiyun See also Documentation/devicetree/bindings/interrupt-controller/interrupts.txt 39*4882a593Smuzhiyun 40*4882a593SmuzhiyunExample: 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun i2c-switch@74 { 43*4882a593Smuzhiyun compatible = "nxp,pca9548"; 44*4882a593Smuzhiyun #address-cells = <1>; 45*4882a593Smuzhiyun #size-cells = <0>; 46*4882a593Smuzhiyun reg = <0x74>; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun interrupt-parent = <&ipic>; 49*4882a593Smuzhiyun interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 50*4882a593Smuzhiyun interrupt-controller; 51*4882a593Smuzhiyun #interrupt-cells = <2>; 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun i2c@2 { 54*4882a593Smuzhiyun #address-cells = <1>; 55*4882a593Smuzhiyun #size-cells = <0>; 56*4882a593Smuzhiyun reg = <2>; 57*4882a593Smuzhiyun 58*4882a593Smuzhiyun eeprom@54 { 59*4882a593Smuzhiyun compatible = "atmel,24c08"; 60*4882a593Smuzhiyun reg = <0x54>; 61*4882a593Smuzhiyun }; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun i2c@4 { 65*4882a593Smuzhiyun #address-cells = <1>; 66*4882a593Smuzhiyun #size-cells = <0>; 67*4882a593Smuzhiyun reg = <4>; 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun rtc@51 { 70*4882a593Smuzhiyun compatible = "nxp,pcf8563"; 71*4882a593Smuzhiyun reg = <0x51>; 72*4882a593Smuzhiyun }; 73*4882a593Smuzhiyun }; 74*4882a593Smuzhiyun }; 75