lkml.org 
[lkml]   [2021]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 5/6] dt-bindings: i2c: i2c-mux-pca954x: Convert to DT schema
    Date
    Convert the i2c-mux-pca954x binding to DT schema format.

    Add the missing compatible for 'nxp,pca9645' which is already in use.

    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Signed-off-by: Rob Herring <robh@kernel.org>
    ---
    v2:
    - Add 'nxp,pca9645'
    - Fix compatible sorting
    ---
    .../bindings/i2c/i2c-mux-pca954x.txt | 74 ------------
    .../bindings/i2c/i2c-mux-pca954x.yaml | 110 ++++++++++++++++++
    2 files changed, 110 insertions(+), 74 deletions(-)
    delete mode 100644 Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt
    create mode 100644 Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml

    diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt
    deleted file mode 100644
    index 9f3f3eb67e87..000000000000
    --- a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt
    +++ /dev/null
    @@ -1,74 +0,0 @@
    -* NXP PCA954x I2C bus switch
    -
    -The driver supports NXP PCA954x and PCA984x I2C mux/switch devices.
    -
    -Required Properties:
    -
    - - compatible: Must contain one of the following.
    - "nxp,pca9540",
    - "nxp,pca9542",
    - "nxp,pca9543",
    - "nxp,pca9544",
    - "nxp,pca9545",
    - "nxp,pca9546", "nxp,pca9846",
    - "nxp,pca9547", "nxp,pca9847",
    - "nxp,pca9548", "nxp,pca9848",
    - "nxp,pca9849"
    -
    - - reg: The I2C address of the device.
    -
    - The following required properties are defined externally:
    -
    - - Standard I2C mux properties. See i2c-mux.txt in this directory.
    - - I2C child bus nodes. See i2c-mux.txt in this directory.
    -
    -Optional Properties:
    -
    - - reset-gpios: Reference to the GPIO connected to the reset input.
    - - idle-state: if present, overrides i2c-mux-idle-disconnect,
    - Please refer to Documentation/devicetree/bindings/mux/mux-controller.yaml
    - - i2c-mux-idle-disconnect: Boolean; if defined, forces mux to disconnect all
    - children in idle state. This is necessary for example, if there are several
    - multiplexers on the bus and the devices behind them use same I2C addresses.
    - - interrupts: Interrupt mapping for IRQ.
    - - interrupt-controller: Marks the device node as an interrupt controller.
    - - #interrupt-cells : Should be two.
    - - first cell is the pin number
    - - second cell is used to specify flags.
    - See also Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
    -
    -Example:
    -
    - i2c-switch@74 {
    - compatible = "nxp,pca9548";
    - #address-cells = <1>;
    - #size-cells = <0>;
    - reg = <0x74>;
    -
    - interrupt-parent = <&ipic>;
    - interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
    - interrupt-controller;
    - #interrupt-cells = <2>;
    -
    - i2c@2 {
    - #address-cells = <1>;
    - #size-cells = <0>;
    - reg = <2>;
    -
    - eeprom@54 {
    - compatible = "atmel,24c08";
    - reg = <0x54>;
    - };
    - };
    -
    - i2c@4 {
    - #address-cells = <1>;
    - #size-cells = <0>;
    - reg = <4>;
    -
    - rtc@51 {
    - compatible = "nxp,pcf8563";
    - reg = <0x51>;
    - };
    - };
    - };
    diff --git a/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
    new file mode 100644
    index 000000000000..9f1726d0356b
    --- /dev/null
    +++ b/Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.yaml
    @@ -0,0 +1,110 @@
    +# SPDX-License-Identifier: GPL-2.0
    +%YAML 1.2
    +---
    +$id: http://devicetree.org/schemas/i2c/i2c-mux-pca954x.yaml#
    +$schema: http://devicetree.org/meta-schemas/core.yaml#
    +
    +title: NXP PCA954x I2C bus switch
    +
    +maintainers:
    + - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    +
    +description:
    + The binding supports NXP PCA954x and PCA984x I2C mux/switch devices.
    +
    +allOf:
    + - $ref: /schemas/i2c/i2c-mux.yaml#
    +
    +properties:
    + compatible:
    + oneOf:
    + - enum:
    + - nxp,pca9540
    + - nxp,pca9542
    + - nxp,pca9543
    + - nxp,pca9544
    + - nxp,pca9545
    + - nxp,pca9546
    + - nxp,pca9547
    + - nxp,pca9548
    + - nxp,pca9846
    + - nxp,pca9847
    + - nxp,pca9848
    + - nxp,pca9849
    + - items:
    + - const: nxp,pca9646
    + - const: nxp,pca9546
    +
    + reg:
    + maxItems: 1
    +
    + interrupts:
    + maxItems: 1
    +
    + "#interrupt-cells":
    + const: 2
    +
    + interrupt-controller: true
    +
    + reset-gpios:
    + maxItems: 1
    +
    + i2c-mux-idle-disconnect:
    + type: boolean
    + description: Forces mux to disconnect all children in idle state. This is
    + necessary for example, if there are several multiplexers on the bus and
    + the devices behind them use same I2C addresses.
    +
    + idle-state:
    + description: if present, overrides i2c-mux-idle-disconnect
    + $ref: /schemas/mux/mux-controller.yaml#/properties/idle-state
    +
    +required:
    + - compatible
    + - reg
    +
    +unevaluatedProperties: false
    +
    +examples:
    + - |
    + #include <dt-bindings/interrupt-controller/irq.h>
    +
    + i2c {
    + #address-cells = <1>;
    + #size-cells = <0>;
    +
    + i2c-mux@74 {
    + compatible = "nxp,pca9548";
    + #address-cells = <1>;
    + #size-cells = <0>;
    + reg = <0x74>;
    +
    + interrupt-parent = <&ipic>;
    + interrupts = <17 IRQ_TYPE_LEVEL_LOW>;
    + interrupt-controller;
    + #interrupt-cells = <2>;
    +
    + i2c@2 {
    + #address-cells = <1>;
    + #size-cells = <0>;
    + reg = <2>;
    +
    + eeprom@54 {
    + compatible = "atmel,24c08";
    + reg = <0x54>;
    + };
    + };
    +
    + i2c@4 {
    + #address-cells = <1>;
    + #size-cells = <0>;
    + reg = <4>;
    +
    + rtc@51 {
    + compatible = "nxp,pcf8563";
    + reg = <0x51>;
    + };
    + };
    + };
    + };
    +...
    --
    2.27.0
    \
     
     \ /
      Last update: 2021-05-26 20:49    [W:4.985 / U:0.040 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site