xref: /linux/Documentation/devicetree/bindings/i2c/realtek,rtl9301-i2c.yaml (revision a339dd699a7aa01bce4b38c8d81def310cf2bca0)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/realtek,rtl9301-i2c.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Realtek RTL I2C Controller
8
9maintainers:
10  - Chris Packham <chris.packham@alliedtelesis.co.nz>
11
12description:
13  The RTL9300 SoC has two I2C controllers. Each of these has an SCL line (which
14  if not-used for SCL can be a GPIO). There are 8 common SDA lines that can be
15  assigned to either I2C controller.
16
17properties:
18  compatible:
19    oneOf:
20      - items:
21          - enum:
22              - realtek,rtl9302b-i2c
23              - realtek,rtl9302c-i2c
24              - realtek,rtl9303-i2c
25          - const: realtek,rtl9301-i2c
26      - const: realtek,rtl9301-i2c
27
28  reg:
29    items:
30      - description: Register offset and size this I2C controller.
31
32  "#address-cells":
33    const: 1
34
35  "#size-cells":
36    const: 0
37
38patternProperties:
39  '^i2c@[0-7]$':
40    $ref: /schemas/i2c/i2c-controller.yaml
41    unevaluatedProperties: false
42
43    properties:
44      reg:
45        description: The SDA pin associated with the I2C bus.
46        maxItems: 1
47
48    required:
49      - reg
50
51required:
52  - compatible
53  - reg
54
55additionalProperties: false
56
57examples:
58  - |
59    i2c@36c {
60      compatible = "realtek,rtl9301-i2c";
61      reg = <0x36c 0x14>;
62      #address-cells = <1>;
63      #size-cells = <0>;
64
65      i2c@2 {
66        reg = <2>;
67        #address-cells = <1>;
68        #size-cells = <0>;
69      };
70    };
71