1*86335b51SRob Herring# SPDX-License-Identifier: GPL-2.0 2*86335b51SRob Herring%YAML 1.2 3*86335b51SRob Herring--- 4*86335b51SRob Herring$id: http://devicetree.org/schemas/i2c/i2c-mux-pca954x.yaml# 5*86335b51SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 6*86335b51SRob Herring 7*86335b51SRob Herringtitle: NXP PCA954x I2C bus switch 8*86335b51SRob Herring 9*86335b51SRob Herringmaintainers: 10*86335b51SRob Herring - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 11*86335b51SRob Herring 12*86335b51SRob Herringdescription: 13*86335b51SRob Herring The binding supports NXP PCA954x and PCA984x I2C mux/switch devices. 14*86335b51SRob Herring 15*86335b51SRob HerringallOf: 16*86335b51SRob Herring - $ref: /schemas/i2c/i2c-mux.yaml# 17*86335b51SRob Herring 18*86335b51SRob Herringproperties: 19*86335b51SRob Herring compatible: 20*86335b51SRob Herring oneOf: 21*86335b51SRob Herring - enum: 22*86335b51SRob Herring - nxp,pca9540 23*86335b51SRob Herring - nxp,pca9542 24*86335b51SRob Herring - nxp,pca9543 25*86335b51SRob Herring - nxp,pca9544 26*86335b51SRob Herring - nxp,pca9545 27*86335b51SRob Herring - nxp,pca9546 28*86335b51SRob Herring - nxp,pca9547 29*86335b51SRob Herring - nxp,pca9548 30*86335b51SRob Herring - nxp,pca9846 31*86335b51SRob Herring - nxp,pca9847 32*86335b51SRob Herring - nxp,pca9848 33*86335b51SRob Herring - nxp,pca9849 34*86335b51SRob Herring - items: 35*86335b51SRob Herring - const: nxp,pca9646 36*86335b51SRob Herring - const: nxp,pca9546 37*86335b51SRob Herring 38*86335b51SRob Herring reg: 39*86335b51SRob Herring maxItems: 1 40*86335b51SRob Herring 41*86335b51SRob Herring interrupts: 42*86335b51SRob Herring maxItems: 1 43*86335b51SRob Herring 44*86335b51SRob Herring "#interrupt-cells": 45*86335b51SRob Herring const: 2 46*86335b51SRob Herring 47*86335b51SRob Herring interrupt-controller: true 48*86335b51SRob Herring 49*86335b51SRob Herring reset-gpios: 50*86335b51SRob Herring maxItems: 1 51*86335b51SRob Herring 52*86335b51SRob Herring i2c-mux-idle-disconnect: 53*86335b51SRob Herring type: boolean 54*86335b51SRob Herring description: Forces mux to disconnect all children in idle state. This is 55*86335b51SRob Herring necessary for example, if there are several multiplexers on the bus and 56*86335b51SRob Herring the devices behind them use same I2C addresses. 57*86335b51SRob Herring 58*86335b51SRob Herring idle-state: 59*86335b51SRob Herring description: if present, overrides i2c-mux-idle-disconnect 60*86335b51SRob Herring $ref: /schemas/mux/mux-controller.yaml#/properties/idle-state 61*86335b51SRob Herring 62*86335b51SRob Herringrequired: 63*86335b51SRob Herring - compatible 64*86335b51SRob Herring - reg 65*86335b51SRob Herring 66*86335b51SRob HerringunevaluatedProperties: false 67*86335b51SRob Herring 68*86335b51SRob Herringexamples: 69*86335b51SRob Herring - | 70*86335b51SRob Herring #include <dt-bindings/interrupt-controller/irq.h> 71*86335b51SRob Herring 72*86335b51SRob Herring i2c { 73*86335b51SRob Herring #address-cells = <1>; 74*86335b51SRob Herring #size-cells = <0>; 75*86335b51SRob Herring 76*86335b51SRob Herring i2c-mux@74 { 77*86335b51SRob Herring compatible = "nxp,pca9548"; 78*86335b51SRob Herring #address-cells = <1>; 79*86335b51SRob Herring #size-cells = <0>; 80*86335b51SRob Herring reg = <0x74>; 81*86335b51SRob Herring 82*86335b51SRob Herring interrupt-parent = <&ipic>; 83*86335b51SRob Herring interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 84*86335b51SRob Herring interrupt-controller; 85*86335b51SRob Herring #interrupt-cells = <2>; 86*86335b51SRob Herring 87*86335b51SRob Herring i2c@2 { 88*86335b51SRob Herring #address-cells = <1>; 89*86335b51SRob Herring #size-cells = <0>; 90*86335b51SRob Herring reg = <2>; 91*86335b51SRob Herring 92*86335b51SRob Herring eeprom@54 { 93*86335b51SRob Herring compatible = "atmel,24c08"; 94*86335b51SRob Herring reg = <0x54>; 95*86335b51SRob Herring }; 96*86335b51SRob Herring }; 97*86335b51SRob Herring 98*86335b51SRob Herring i2c@4 { 99*86335b51SRob Herring #address-cells = <1>; 100*86335b51SRob Herring #size-cells = <0>; 101*86335b51SRob Herring reg = <4>; 102*86335b51SRob Herring 103*86335b51SRob Herring rtc@51 { 104*86335b51SRob Herring compatible = "nxp,pcf8563"; 105*86335b51SRob Herring reg = <0x51>; 106*86335b51SRob Herring }; 107*86335b51SRob Herring }; 108*86335b51SRob Herring }; 109*86335b51SRob Herring }; 110*86335b51SRob Herring... 111