xref: /freebsd/sys/contrib/device-tree/Bindings/i2c/i2c-opal.txt (revision 2ff63af9b88c7413b7d71715b5532625752a248e)
1Device-tree bindings for I2C OPAL driver
2----------------------------------------
3
4Most of the device node and properties layout is specific to the firmware and
5used by the firmware itself for configuring the port. From the linux
6perspective, the properties of use are "ibm,port-name" and "ibm,opal-id".
7
8Required properties:
9
10- reg: Port-id within a given master
11- compatible: must be "ibm,opal-i2c"
12- ibm,opal-id: Refers to a specific bus and used to identify it when calling
13	       the relevant OPAL functions.
14- bus-frequency: Operating frequency of the i2c bus (in HZ). Informational for
15		 linux, used by the FW though.
16
17Optional properties:
18- ibm,port-name: Firmware provides this name that uniquely identifies the i2c
19		 port.
20
21The node contains a number of other properties that are used by the FW itself
22and depend on the specific hardware implementation. The example below depicts
23a P8 on-chip bus.
24
25Example:
26
27i2c-bus@0 {
28	reg = <0x0>;
29	bus-frequency = <0x61a80>;
30	compatible = "ibm,power8-i2c-port", "ibm,opal-i2c";
31	ibm,opal-id = <0x1>;
32	ibm,port-name = "p8_00000000_e1p0";
33	#address-cells = <0x1>;
34	phandle = <0x10000006>;
35	#size-cells = <0x0>;
36	linux,phandle = <0x10000006>;
37};
38