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