186335b51SRob Herring# SPDX-License-Identifier: GPL-2.0 286335b51SRob Herring%YAML 1.2 386335b51SRob Herring--- 486335b51SRob Herring$id: http://devicetree.org/schemas/i2c/i2c-mux-pca954x.yaml# 586335b51SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml# 686335b51SRob Herring 786335b51SRob Herringtitle: NXP PCA954x I2C bus switch 886335b51SRob Herring 986335b51SRob Herringmaintainers: 1086335b51SRob Herring - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 1186335b51SRob Herring 1286335b51SRob Herringdescription: 1386335b51SRob Herring The binding supports NXP PCA954x and PCA984x I2C mux/switch devices. 1486335b51SRob Herring 1586335b51SRob Herringproperties: 1686335b51SRob Herring compatible: 1786335b51SRob Herring oneOf: 1886335b51SRob Herring - enum: 1986335b51SRob Herring - nxp,pca9540 2086335b51SRob Herring - nxp,pca9542 2186335b51SRob Herring - nxp,pca9543 2286335b51SRob Herring - nxp,pca9544 2386335b51SRob Herring - nxp,pca9545 2486335b51SRob Herring - nxp,pca9546 2586335b51SRob Herring - nxp,pca9547 2686335b51SRob Herring - nxp,pca9548 2786335b51SRob Herring - nxp,pca9846 2886335b51SRob Herring - nxp,pca9847 2986335b51SRob Herring - nxp,pca9848 3086335b51SRob Herring - nxp,pca9849 3186335b51SRob Herring - items: 3286335b51SRob Herring - const: nxp,pca9646 3386335b51SRob Herring - const: nxp,pca9546 3486335b51SRob Herring 3586335b51SRob Herring reg: 3686335b51SRob Herring maxItems: 1 3786335b51SRob Herring 3886335b51SRob Herring interrupts: 3986335b51SRob Herring maxItems: 1 4086335b51SRob Herring 4186335b51SRob Herring "#interrupt-cells": 4286335b51SRob Herring const: 2 4386335b51SRob Herring 4486335b51SRob Herring interrupt-controller: true 4586335b51SRob Herring 4686335b51SRob Herring reset-gpios: 4786335b51SRob Herring maxItems: 1 4886335b51SRob Herring 4986335b51SRob Herring i2c-mux-idle-disconnect: 5086335b51SRob Herring type: boolean 5186335b51SRob Herring description: Forces mux to disconnect all children in idle state. This is 5286335b51SRob Herring necessary for example, if there are several multiplexers on the bus and 5386335b51SRob Herring the devices behind them use same I2C addresses. 5486335b51SRob Herring 5586335b51SRob Herring idle-state: 5686335b51SRob Herring description: if present, overrides i2c-mux-idle-disconnect 5786335b51SRob Herring $ref: /schemas/mux/mux-controller.yaml#/properties/idle-state 5886335b51SRob Herring 5986335b51SRob Herringrequired: 6086335b51SRob Herring - compatible 6186335b51SRob Herring - reg 6286335b51SRob Herring 63*f0382e3aSPatrick RudolphallOf: 64*f0382e3aSPatrick Rudolph - $ref: /schemas/i2c/i2c-mux.yaml# 65*f0382e3aSPatrick Rudolph - if: 66*f0382e3aSPatrick Rudolph not: 67*f0382e3aSPatrick Rudolph properties: 68*f0382e3aSPatrick Rudolph compatible: 69*f0382e3aSPatrick Rudolph contains: 70*f0382e3aSPatrick Rudolph enum: 71*f0382e3aSPatrick Rudolph - nxp,pca9542 72*f0382e3aSPatrick Rudolph - nxp,pca9543 73*f0382e3aSPatrick Rudolph - nxp,pca9544 74*f0382e3aSPatrick Rudolph - nxp,pca9545 75*f0382e3aSPatrick Rudolph then: 76*f0382e3aSPatrick Rudolph properties: 77*f0382e3aSPatrick Rudolph interrupts: false 78*f0382e3aSPatrick Rudolph "#interrupt-cells": false 79*f0382e3aSPatrick Rudolph interrupt-controller: false 80*f0382e3aSPatrick Rudolph 8186335b51SRob HerringunevaluatedProperties: false 8286335b51SRob Herring 8386335b51SRob Herringexamples: 8486335b51SRob Herring - | 8586335b51SRob Herring #include <dt-bindings/interrupt-controller/irq.h> 8686335b51SRob Herring 8786335b51SRob Herring i2c { 8886335b51SRob Herring #address-cells = <1>; 8986335b51SRob Herring #size-cells = <0>; 9086335b51SRob Herring 9186335b51SRob Herring i2c-mux@74 { 92*f0382e3aSPatrick Rudolph compatible = "nxp,pca9545"; 9386335b51SRob Herring #address-cells = <1>; 9486335b51SRob Herring #size-cells = <0>; 9586335b51SRob Herring reg = <0x74>; 9686335b51SRob Herring 9786335b51SRob Herring interrupt-parent = <&ipic>; 9886335b51SRob Herring interrupts = <17 IRQ_TYPE_LEVEL_LOW>; 9986335b51SRob Herring interrupt-controller; 10086335b51SRob Herring #interrupt-cells = <2>; 10186335b51SRob Herring 10286335b51SRob Herring i2c@2 { 10386335b51SRob Herring #address-cells = <1>; 10486335b51SRob Herring #size-cells = <0>; 10586335b51SRob Herring reg = <2>; 10686335b51SRob Herring 10786335b51SRob Herring eeprom@54 { 10886335b51SRob Herring compatible = "atmel,24c08"; 10986335b51SRob Herring reg = <0x54>; 11086335b51SRob Herring }; 11186335b51SRob Herring }; 11286335b51SRob Herring 11386335b51SRob Herring i2c@4 { 11486335b51SRob Herring #address-cells = <1>; 11586335b51SRob Herring #size-cells = <0>; 11686335b51SRob Herring reg = <4>; 11786335b51SRob Herring 11886335b51SRob Herring rtc@51 { 11986335b51SRob Herring compatible = "nxp,pcf8563"; 12086335b51SRob Herring reg = <0x51>; 12186335b51SRob Herring }; 12286335b51SRob Herring }; 12386335b51SRob Herring }; 12486335b51SRob Herring }; 12586335b51SRob Herring... 126