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