xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/nvidia,tegra186-bpmp-i2c.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotNVIDIA Tegra186 BPMP I2C controller
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotIn Tegra186, the BPMP (Boot and Power Management Processor) owns certain HW
4*c66ec88fSEmmanuel Vadotdevices, such as the I2C controller for the power management I2C bus. Software
5*c66ec88fSEmmanuel Vadotrunning on other CPUs must perform IPC to the BPMP in order to execute
6*c66ec88fSEmmanuel Vadottransactions on that I2C bus. This binding describes an I2C bus that is
7*c66ec88fSEmmanuel Vadotaccessed in such a fashion.
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel VadotThe BPMP I2C node must be located directly inside the main BPMP node. See
10*c66ec88fSEmmanuel Vadot../firmware/nvidia,tegra186-bpmp.txt for details of the BPMP binding.
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel VadotThis node represents an I2C controller. See ../i2c/i2c.txt for details of the
13*c66ec88fSEmmanuel Vadotcore I2C binding.
14*c66ec88fSEmmanuel Vadot
15*c66ec88fSEmmanuel VadotRequired properties:
16*c66ec88fSEmmanuel Vadot- compatible:
17*c66ec88fSEmmanuel Vadot    Array of strings.
18*c66ec88fSEmmanuel Vadot    One of:
19*c66ec88fSEmmanuel Vadot    - "nvidia,tegra186-bpmp-i2c".
20*c66ec88fSEmmanuel Vadot- #address-cells: Address cells for I2C device address.
21*c66ec88fSEmmanuel Vadot    Single-cell integer.
22*c66ec88fSEmmanuel Vadot    Must be <1>.
23*c66ec88fSEmmanuel Vadot- #size-cells:
24*c66ec88fSEmmanuel Vadot    Single-cell integer.
25*c66ec88fSEmmanuel Vadot    Must be <0>.
26*c66ec88fSEmmanuel Vadot- nvidia,bpmp-bus-id:
27*c66ec88fSEmmanuel Vadot    Single-cell integer.
28*c66ec88fSEmmanuel Vadot    Indicates the I2C bus number this DT node represent, as defined by the
29*c66ec88fSEmmanuel Vadot    BPMP firmware.
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel VadotExample:
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel Vadotbpmp {
34*c66ec88fSEmmanuel Vadot	...
35*c66ec88fSEmmanuel Vadot
36*c66ec88fSEmmanuel Vadot	i2c {
37*c66ec88fSEmmanuel Vadot		compatible = "nvidia,tegra186-bpmp-i2c";
38*c66ec88fSEmmanuel Vadot		#address-cells = <1>;
39*c66ec88fSEmmanuel Vadot		#size-cells = <0>;
40*c66ec88fSEmmanuel Vadot		nvidia,bpmp-bus-id = <5>;
41*c66ec88fSEmmanuel Vadot	};
42*c66ec88fSEmmanuel Vadot};
43