xref: /linux/Documentation/devicetree/bindings/i2c/brcm,brcmstb-i2c.yaml (revision f057b57270c2a17d3f45c177e9434fa5745caa48)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/i2c/brcm,brcmstb-i2c.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Broadcom STB BSC IIC Master Controller
8
9maintainers:
10  - Kamal Dasu <kdasu.kdev@gmail.com>
11
12allOf:
13  - $ref: /schemas/i2c/i2c-controller.yaml#
14
15properties:
16  compatible:
17    enum:
18      - brcm,bcm2711-hdmi-i2c
19      - brcm,brcmstb-i2c
20      - brcm,brcmper-i2c
21
22  reg:
23    minItems: 1
24    items:
25      - description: BSC register range
26      - description: Auto-I2C register range
27
28  reg-names:
29    items:
30      - const: bsc
31      - const: auto-i2c
32
33  interrupts:
34    maxItems: 1
35
36  interrupt-names:
37    maxItems: 1
38
39  clock-frequency:
40    enum:
41      - 46875
42      - 50000
43      - 93750
44      - 97500
45      - 187500
46      - 200000
47      - 375000
48      - 390000
49
50required:
51  - compatible
52  - reg
53  - clock-frequency
54
55unevaluatedProperties: false
56
57if:
58  properties:
59    compatible:
60      contains:
61        enum:
62          - brcm,bcm2711-hdmi-i2c
63
64then:
65  properties:
66    reg:
67      minItems: 2
68
69  required:
70    - reg-names
71
72else:
73  properties:
74    reg:
75      maxItems: 1
76
77examples:
78  - |
79    bsca: i2c@f0406200 {
80        compatible = "brcm,brcmstb-i2c";
81        reg = <0xf0406200 0x58>;
82        clock-frequency = <390000>;
83        interrupt-parent = <&irq0_intc>;
84        interrupts = <0x18>;
85        interrupt-names = "upg_bsca";
86    };
87
88  - |
89    ddc0: i2c@7ef04500 {
90        compatible = "brcm,bcm2711-hdmi-i2c";
91        reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>;
92        reg-names = "bsc", "auto-i2c";
93        clock-frequency = <390000>;
94    };
95
96...
97