blob: 2aa75b7add7bfc03732bcb923f3ae356c18eb365 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Broadcom iProc I2C controller
8
9maintainers:
10 - Rafał Miłecki <rafal@milecki.pl>
11
12properties:
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
36allOf:
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
47unevaluatedProperties: false
48
49required:
50 - reg
51 - clock-frequency
52 - '#address-cells'
53 - '#size-cells'
54
55examples:
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 };