diff options
author | Huang Shijie <b32955@freescale.com> | 2013-05-28 02:20:07 -0400 |
---|---|---|
committer | Shawn Guo <shawn.guo@linaro.org> | 2013-06-17 04:04:28 -0400 |
commit | 85bf6d4e4b100efda8169f6f98fd65d0029c7813 (patch) | |
tree | 56c0bf6af6b3f4877af7e1b560247e7f4cb1c75c /Documentation/devicetree/bindings/bus | |
parent | 81b8a3cda99076b7d8b65e63d3cc675a305f60e1 (diff) |
drivers: bus: add a new driver for WEIM
The WEIM(Wireless External Interface Module) works like a bus.
You can attach many different devices on it, such as NOR, onenand.
In the case of i.MX6q-sabreauto, the NOR is connected to WEIM.
This patch also adds the devicetree binding document.
The driver only works when the devicetree is enabled.
Signed-off-by: Huang Shijie <b32955@freescale.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Diffstat (limited to 'Documentation/devicetree/bindings/bus')
-rw-r--r-- | Documentation/devicetree/bindings/bus/imx-weim.txt | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/bus/imx-weim.txt b/Documentation/devicetree/bindings/bus/imx-weim.txt new file mode 100644 index 000000000000..cedc2a9c4785 --- /dev/null +++ b/Documentation/devicetree/bindings/bus/imx-weim.txt | |||
@@ -0,0 +1,49 @@ | |||
1 | Device tree bindings for i.MX Wireless External Interface Module (WEIM) | ||
2 | |||
3 | The term "wireless" does not imply that the WEIM is literally an interface | ||
4 | without wires. It simply means that this module was originally designed for | ||
5 | wireless and mobile applications that use low-power technology. | ||
6 | |||
7 | The actual devices are instantiated from the child nodes of a WEIM node. | ||
8 | |||
9 | Required properties: | ||
10 | |||
11 | - compatible: Should be set to "fsl,imx6q-weim" | ||
12 | - reg: A resource specifier for the register space | ||
13 | (see the example below) | ||
14 | - clocks: the clock, see the example below. | ||
15 | - #address-cells: Must be set to 2 to allow memory address translation | ||
16 | - #size-cells: Must be set to 1 to allow CS address passing | ||
17 | - ranges: Must be set up to reflect the memory layout with four | ||
18 | integer values for each chip-select line in use: | ||
19 | |||
20 | <cs-number> 0 <physical address of mapping> <size> | ||
21 | |||
22 | Timing property for child nodes. It is mandatory, not optional. | ||
23 | |||
24 | - fsl,weim-cs-timing: The timing array, contains 6 timing values for the | ||
25 | child node. We can get the CS index from the child | ||
26 | node's "reg" property. This property contains the values | ||
27 | for the registers EIM_CSnGCR1, EIM_CSnGCR2, EIM_CSnRCR1, | ||
28 | EIM_CSnRCR2, EIM_CSnWCR1, EIM_CSnWCR2 in this order. | ||
29 | |||
30 | Example for an imx6q-sabreauto board, the NOR flash connected to the WEIM: | ||
31 | |||
32 | weim: weim@021b8000 { | ||
33 | compatible = "fsl,imx6q-weim"; | ||
34 | reg = <0x021b8000 0x4000>; | ||
35 | clocks = <&clks 196>; | ||
36 | #address-cells = <2>; | ||
37 | #size-cells = <1>; | ||
38 | ranges = <0 0 0x08000000 0x08000000>; | ||
39 | |||
40 | nor@0,0 { | ||
41 | compatible = "cfi-flash"; | ||
42 | reg = <0 0 0x02000000>; | ||
43 | #address-cells = <1>; | ||
44 | #size-cells = <1>; | ||
45 | bank-width = <2>; | ||
46 | fsl,weim-cs-timing = <0x00620081 0x00000001 0x1c022000 | ||
47 | 0x0000c000 0x1404a38e 0x00000000>; | ||
48 | }; | ||
49 | }; | ||