Commit 02fa1189 authored by Vignesh Raghavendra's avatar Vignesh Raghavendra Committed by Wolfram Sang
Browse files

dt-bindings: i2c: Move i2c-omap.txt to YAML format



Convert i2c-omap.txt to YAML schema for better checks and documentation.

Following properties were used in DT but were not documented in txt
bindings and has been included in YAML schema:
1. Include ti,am4372-i2c compatible
2. Document clocks property

Signed-off-by: default avatarVignesh Raghavendra <vigneshr@ti.com>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
parent 5ab9dc38
Loading
Loading
Loading
Loading
+0 −37
Original line number Diff line number Diff line
I2C for OMAP platforms

Required properties :
- compatible : Must be
	"ti,omap2420-i2c" for OMAP2420 SoCs
	"ti,omap2430-i2c" for OMAP2430 SoCs
	"ti,omap3-i2c" for OMAP3 SoCs
	"ti,omap4-i2c" for OMAP4+ SoCs
	"ti,am654-i2c", "ti,omap4-i2c" for AM654 SoCs
	"ti,j721e-i2c", "ti,omap4-i2c" for J721E SoCs
	"ti,am64-i2c", "ti,omap4-i2c" for AM64 SoCs
- ti,hwmods : Must be "i2c<n>", n being the instance number (1-based)
- #address-cells = <1>;
- #size-cells = <0>;

Recommended properties :
- clock-frequency : Desired I2C bus clock frequency in Hz. Otherwise
  the default 100 kHz frequency will be used.

Optional properties:
- Child nodes conforming to i2c bus binding

Note: Current implementation will fetch base address, irq and dma
from omap hwmod data base during device registration.
Future plan is to migrate hwmod data base contents into device tree
blob so that, all the required data will be used from device tree dts
file.

Examples :

i2c1: i2c@0 {
    compatible = "ti,omap3-i2c";
    #address-cells = <1>;
    #size-cells = <0>;
    ti,hwmods = "i2c1";
    clock-frequency = <400000>;
};
+102 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/i2c/ti,omap4-i2c.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Bindings for I2C controllers on TI's OMAP and K3 SoCs

maintainers:
  - Vignesh Raghavendra <vigneshr@ti.com>

properties:
  compatible:
    oneOf:
      - enum:
          - ti,omap2420-i2c
          - ti,omap2430-i2c
          - ti,omap3-i2c
          - ti,omap4-i2c
      - items:
          - enum:
              - ti,am4372-i2c
              - ti,am64-i2c
              - ti,am654-i2c
              - ti,j721e-i2c
          - const: ti,omap4-i2c

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    const: fck

  clock-frequency: true

  power-domains: true

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  ti,hwmods:
    description:
      Must be "i2c<n>", n being the instance number (1-based).
      This property is applicable only on legacy platforms mainly omap2/3
      and ti81xx and should not be used on other platforms.
    $ref: /schemas/types.yaml#/definitions/string
    deprecated: true

# subnode's properties
patternProperties:
  "@[0-9a-f]+$":
    type: object
    description:
      Flash device uses the below defined properties in the subnode.

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

if:
  properties:
    compatible:
      oneOf:
        - const: ti,omap2420-i2c
        - const: ti,omap2430-i2c
        - const: ti,omap3-i2c
        - const: ti,omap4-i2c

then:
  properties:
    ti,hwmods:
      items:
        - pattern: "^i2c([1-9])$"

else:
  properties:
    ti,hwmods: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    main_i2c0: i2c@2000000 {
            compatible = "ti,j721e-i2c", "ti,omap4-i2c";
            reg = <0x2000000 0x100>;
            interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_HIGH>;
            #address-cells = <1>;
            #size-cells = <0>;
         };
+1 −1
Original line number Diff line number Diff line
@@ -13365,7 +13365,7 @@ M: Vignesh R <vigneshr@ti.com>
L:	linux-omap@vger.kernel.org
L:	linux-i2c@vger.kernel.org
S:	Maintained
F:	Documentation/devicetree/bindings/i2c/i2c-omap.txt
F:	Documentation/devicetree/bindings/i2c/ti,omap4-i2c.yaml
F:	drivers/i2c/busses/i2c-omap.c
OMAP IMAGING SUBSYSTEM (OMAP3 ISP and OMAP4 ISS)