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    maxItems: 2
25    items:
26      - description: BSC register range
27      - description: Auto-I2C register range
28
29  reg-names:
30    items:
31      - const: bsc
32      - const: auto-i2c
33
34  interrupts:
35    maxItems: 1
36
37  interrupt-names:
38    maxItems: 1
39
40  clock-frequency:
41    enum:
42      - 46875
43      - 50000
44      - 93750
45      - 97500
46      - 187500
47      - 200000
48      - 375000
49      - 390000
50
51required:
52  - compatible
53  - reg
54  - clock-frequency
55
56unevaluatedProperties: false
57
58if:
59  properties:
60    compatible:
61      contains:
62        enum:
63          - brcm,bcm2711-hdmi-i2c
64
65then:
66  properties:
67    reg:
68      minItems: 2
69
70  required:
71    - reg-names
72
73else:
74  properties:
75    reg:
76      maxItems: 1
77
78examples:
79  - |
80      bsca: i2c@f0406200 {
81          clock-frequency = <390000>;
82          compatible = "brcm,brcmstb-i2c";
83          interrupt-parent = <&irq0_intc>;
84          reg = <0xf0406200 0x58>;
85          interrupts = <0x18>;
86          interrupt-names = "upg_bsca";
87      };
88
89  - |
90      ddc0: i2c@7ef04500 {
91          compatible = "brcm,bcm2711-hdmi-i2c";
92          reg = <0x7ef04500 0x100>, <0x7ef00b00 0x300>;
93          reg-names = "bsc", "auto-i2c";
94          clock-frequency = <390000>;
95      };
96
97...
98