forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-13 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e
kernel/Documentation/devicetree/bindings/bus/imx-weim.txt
....@@ -44,12 +44,16 @@
4444 what bootloader sets up in IOMUXC_GPR1[11:0] will be
4545 used.
4646
47
+ - fsl,burst-clk-enable For "fsl,imx50-weim" and "fsl,imx6q-weim" type of
48
+ devices, the presence of this property indicates that
49
+ the weim bus should operate in Burst Clock Mode.
50
+
4751 Timing property for child nodes. It is mandatory, not optional.
4852
4953 - fsl,weim-cs-timing: The timing array, contains timing values for the
50
- child node. We can get the CS index from the child
51
- node's "reg" property. The number of registers depends
52
- on the selected chip.
54
+ child node. We get the CS indexes from the address
55
+ ranges in the child node's "reg" property.
56
+ The number of registers depends on the selected chip:
5357 For i.MX1, i.MX21 ("fsl,imx1-weim") there are two
5458 registers: CSxU, CSxL.
5559 For i.MX25, i.MX27, i.MX31 and i.MX35 ("fsl,imx27-weim")
....@@ -80,3 +84,29 @@
8084 0x0000c000 0x1404a38e 0x00000000>;
8185 };
8286 };
87
+
88
+Example for an imx6q-based board, a multi-chipselect device connected to WEIM:
89
+
90
+In this case, both chip select 0 and 1 will be configured with the same timing
91
+array values.
92
+
93
+ weim: weim@21b8000 {
94
+ compatible = "fsl,imx6q-weim";
95
+ reg = <0x021b8000 0x4000>;
96
+ clocks = <&clks 196>;
97
+ #address-cells = <2>;
98
+ #size-cells = <1>;
99
+ ranges = <0 0 0x08000000 0x02000000
100
+ 1 0 0x0a000000 0x02000000
101
+ 2 0 0x0c000000 0x02000000
102
+ 3 0 0x0e000000 0x02000000>;
103
+ fsl,weim-cs-gpr = <&gpr>;
104
+
105
+ acme@0 {
106
+ compatible = "acme,whatever";
107
+ reg = <0 0 0x100>, <0 0x400000 0x800>,
108
+ <1 0x400000 0x800>;
109
+ fsl,weim-cs-timing = <0x024400b1 0x00001010 0x20081100
110
+ 0x00000000 0xa0000240 0x00000000>;
111
+ };
112
+ };