Merge tag 'linux-kselftest-kunit-5.15-rc1' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / i2c / brcm,iproc-i2c.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/i2c/brcm,iproc-i2c.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Broadcom iProc I2C controller
8
9 maintainers:
10   - Rafał Miłecki <rafal@milecki.pl>
11
12 properties:
13   compatible:
14     enum:
15       - brcm,iproc-i2c
16       - brcm,iproc-nic-i2c
17
18   reg:
19     maxItems: 1
20
21   clock-frequency:
22     enum: [ 100000, 400000 ]
23
24   interrupts:
25     description: |
26       Should contain the I2C interrupt. For certain revisions of the I2C
27       controller, I2C interrupt is unwired to the interrupt controller. In such
28       case, this property should be left unspecified, and driver will fall back
29       to polling mode
30     maxItems: 1
31
32   brcm,ape-hsls-addr-mask:
33     $ref: /schemas/types.yaml#/definitions/uint32
34     description: Host view of address mask into the 'APE' co-processor
35
36 allOf:
37   - $ref: /schemas/i2c/i2c-controller.yaml#
38   - if:
39       properties:
40         compatible:
41           contains:
42             const: brcm,iproc-nic-i2c
43     then:
44       required:
45         - brcm,ape-hsls-addr-mask
46
47 unevaluatedProperties: false
48
49 required:
50   - reg
51   - clock-frequency
52   - '#address-cells'
53   - '#size-cells'
54
55 examples:
56   - |
57     #include <dt-bindings/interrupt-controller/arm-gic.h>
58
59     i2c@18008000 {
60         compatible = "brcm,iproc-i2c";
61         reg = <0x18008000 0x100>;
62         #address-cells = <1>;
63         #size-cells = <0>;
64         interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
65         clock-frequency = <100000>;
66
67         wm8750@1a {
68             compatible = "wlf,wm8750";
69             reg = <0x1a>;
70         };
71     };