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