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          clock-frequency = <390000>;
81          compatible = "brcm,brcmstb-i2c";
82          interrupt-parent = <&irq0_intc>;
83          reg = <0xf0406200 0x58>;
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