xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/brcm,iproc-i2c.txt (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
1Broadcom iProc I2C controller
2
3Required properties:
4
5- compatible:
6    Must be "brcm,iproc-i2c" or "brcm,iproc-nic-i2c"
7
8- reg:
9    Define the base and range of the I/O address space that contain the iProc
10    I2C controller registers
11
12- clock-frequency:
13    This is the I2C bus clock. Need to be either 100000 or 400000
14
15- #address-cells:
16    Always 1 (for I2C addresses)
17
18- #size-cells:
19    Always 0
20
21Optional properties:
22
23- interrupts:
24    Should contain the I2C interrupt. For certain revisions of the I2C
25    controller, I2C interrupt is unwired to the interrupt controller. In such
26    case, this property should be left unspecified, and driver will fall back
27    to polling mode
28
29- brcm,ape-hsls-addr-mask:
30    Required for "brcm,iproc-nic-i2c". Host view of address mask into the
31    'APE' co-processor. Value must be unsigned, 32-bit
32
33Example:
34	i2c0: i2c@18008000 {
35		compatible = "brcm,iproc-i2c";
36		reg = <0x18008000 0x100>;
37		#address-cells = <1>;
38		#size-cells = <0>;
39		interrupts = <GIC_SPI 85 IRQ_TYPE_NONE>;
40		clock-frequency = <100000>;
41
42		codec: wm8750@1a {
43			compatible = "wlf,wm8750";
44			reg = <0x1a>;
45		};
46	};
47