|author||Neelesh Gupta <email@example.com>||2014-12-13 23:31:05 +0530|
|committer||Michael Ellerman <firstname.lastname@example.org>||2014-12-14 12:44:46 +1100|
|parent||powerpc: add little endian flag to syscall_get_arch() (diff)|
i2c: Driver to expose PowerNV platform i2c busses
The patch exposes the available i2c busses on the PowerNV platform to the kernel and implements the bus driver to support i2c and smbus commands. The driver uses the platform device infrastructure to probe the busses on the platform and registers them with the i2c driver framework. Signed-off-by: Neelesh Gupta <email@example.com> Signed-off-by: Benjamin Herrenschmidt <firstname.lastname@example.org> Acked-by: Wolfram Sang <email@example.com> (I2C part, excluding the bindings) Signed-off-by: Michael Ellerman <firstname.lastname@example.org>
Diffstat (limited to 'Documentation')
1 files changed, 37 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/i2c/i2c-opal.txt b/Documentation/devicetree/bindings/i2c/i2c-opal.txt
new file mode 100644
@@ -0,0 +1,37 @@
+Device-tree bindings for I2C OPAL driver
+Most of the device node and properties layout is specific to the firmware and
+used by the firmware itself for configuring the port. From the linux
+perspective, the properties of use are "ibm,port-name" and "ibm,opal-id".
+- reg: Port-id within a given master
+- compatible: must be "ibm,opal-i2c"
+- ibm,opal-id: Refers to a specific bus and used to identify it when calling
+ the relevant OPAL functions.
+- bus-frequency: Operating frequency of the i2c bus (in HZ). Informational for
+ linux, used by the FW though.
+- ibm,port-name: Firmware provides this name that uniquely identifies the i2c
+The node contains a number of other properties that are used by the FW itself
+and depend on the specific hardware implementation. The example below depicts
+a P8 on-chip bus.
+ reg = <0x0>;
+ bus-frequency = <0x61a80>;
+ compatible = "ibm,power8-i2c-port", "ibm,opal-i2c";
+ ibm,opal-id = <0x1>;
+ ibm,port-name = "p8_00000000_e1p0";
+ #address-cells = <0x1>;
+ phandle = <0x10000006>;
+ #size-cells = <0x0>;
+ linux,phandle = <0x10000006>;