summaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/i2c/ce4100-i2c.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/i2c/ce4100-i2c.txt')
-rw-r--r--Documentation/devicetree/bindings/i2c/ce4100-i2c.txt93
1 files changed, 0 insertions, 93 deletions
diff --git a/Documentation/devicetree/bindings/i2c/ce4100-i2c.txt b/Documentation/devicetree/bindings/i2c/ce4100-i2c.txt
deleted file mode 100644
index 569b162..0000000
--- a/Documentation/devicetree/bindings/i2c/ce4100-i2c.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-CE4100 I2C
-----------
-
-CE4100 has one PCI device which is described as the I2C-Controller. This
-PCI device has three PCI-bars, each bar contains a complete I2C
-controller. So we have a total of three independent I2C-Controllers
-which share only an interrupt line.
-The driver is probed via the PCI-ID and is gathering the information of
-attached devices from the devices tree.
-Grant Likely recommended to use the ranges property to map the PCI-Bar
-number to its physical address and to use this to find the child nodes
-of the specific I2C controller. This were his exact words:
-
- Here's where the magic happens. Each entry in
- ranges describes how the parent pci address space
- (middle group of 3) is translated to the local
- address space (first group of 2) and the size of
- each range (last cell). In this particular case,
- the first cell of the local address is chosen to be
- 1:1 mapped to the BARs, and the second is the
- offset from be base of the BAR (which would be
- non-zero if you had 2 or more devices mapped off
- the same BAR)
-
- ranges allows the address mapping to be described
- in a way that the OS can interpret without
- requiring custom device driver code.
-
-This is an example which is used on FalconFalls:
-------------------------------------------------
- i2c-controller@b,2 {
- #address-cells = <2>;
- #size-cells = <1>;
- compatible = "pci8086,2e68.2",
- "pci8086,2e68",
- "pciclass,ff0000",
- "pciclass,ff00";
-
- reg = <0x15a00 0x0 0x0 0x0 0x0>;
- interrupts = <16 1>;
-
- /* as described by Grant, the first number in the group of
- * three is the bar number followed by the 64bit bar address
- * followed by size of the mapping. The bar address
- * requires also a valid translation in parents ranges
- * property.
- */
- ranges = <0 0 0x02000000 0 0xdffe0500 0x100
- 1 0 0x02000000 0 0xdffe0600 0x100
- 2 0 0x02000000 0 0xdffe0700 0x100>;
-
- i2c@0 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "intel,ce4100-i2c-controller";
-
- /* The first number in the reg property is the
- * number of the bar
- */
- reg = <0 0 0x100>;
-
- /* This I2C controller has no devices */
- };
-
- i2c@1 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "intel,ce4100-i2c-controller";
- reg = <1 0 0x100>;
-
- /* This I2C controller has one gpio controller */
- gpio@26 {
- #gpio-cells = <2>;
- compatible = "ti,pcf8575";
- reg = <0x26>;
- gpio-controller;
- };
- };
-
- i2c@2 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "intel,ce4100-i2c-controller";
- reg = <2 0 0x100>;
-
- gpio@26 {
- #gpio-cells = <2>;
- compatible = "ti,pcf8575";
- reg = <0x26>;
- gpio-controller;
- };
- };
- };