File Index
Files and directories
Sign in
FILE

fsl,imx-weim.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/memory-controllers/fsl/fsl,imx-weim.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/memory-controllers/fsl/fsl,imx-weim.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: i.MX Wireless External Interface Module (WEIM)
  8
  9maintainers:
 10  - Shawn Guo <shawnguo@kernel.org>
 11  - Sascha Hauer <s.hauer@pengutronix.de>
 12
 13description:
 14  The term "wireless" does not imply that the WEIM is literally an interface
 15  without wires. It simply means that this module was originally designed for
 16  wireless and mobile applications that use low-power technology. The actual
 17  devices are instantiated from the child nodes of a WEIM node.
 18
 19properties:
 20  $nodename:
 21    pattern: "^memory-controller@[0-9a-f]+$"
 22
 23  compatible:
 24    oneOf:
 25      - enum:
 26          - fsl,imx1-weim
 27          - fsl,imx27-weim
 28          - fsl,imx50-weim
 29          - fsl,imx51-weim
 30          - fsl,imx6q-weim
 31      - items:
 32          - enum:
 33              - fsl,imx31-weim
 34              - fsl,imx35-weim
 35          - const: fsl,imx27-weim
 36      - items:
 37          - enum:
 38              - fsl,imx6sx-weim
 39              - fsl,imx6ul-weim
 40          - const: fsl,imx6q-weim
 41
 42  "#address-cells":
 43    const: 2
 44
 45  "#size-cells":
 46    const: 1
 47
 48  reg:
 49    maxItems: 1
 50
 51  clocks:
 52    maxItems: 1
 53
 54  interrupts:
 55    maxItems: 1
 56
 57  ranges: true
 58
 59  fsl,weim-cs-gpr:
 60    $ref: /schemas/types.yaml#/definitions/phandle
 61    description: |
 62      Phandle to the system General Purpose Register controller that contains
 63      WEIM CS GPR register, e.g. IOMUXC_GPR1 on i.MX6Q. IOMUXC_GPR1[11:0]
 64      should be set up as one of the following 4 possible values depending on
 65      the CS space configuration.
 66
 67      IOMUXC_GPR1[11:0]    CS0    CS1    CS2    CS3
 68      ---------------------------------------------
 69              05          128M     0M     0M     0M
 70              033          64M    64M     0M     0M
 71              0113         64M    32M    32M     0M
 72              01111        32M    32M    32M    32M
 73
 74      In case that the property is absent, the reset value or what bootloader
 75      sets up in IOMUXC_GPR1[11:0] will be used.
 76
 77  fsl,burst-clk-enable:
 78    type: boolean
 79    description:
 80      The presence of this property indicates that the weim bus should operate
 81      in Burst Clock Mode.
 82
 83  fsl,continuous-burst-clk:
 84    type: boolean
 85    description:
 86      Make Burst Clock to output continuous clock. Without this option Burst
 87      Clock will output clock only when necessary.
 88
 89patternProperties:
 90  "^.*@[0-7],[0-9a-f]+$":
 91    type: object
 92    description: Devices attached to chip selects are represented as subnodes.
 93    $ref: fsl,imx-weim-peripherals.yaml
 94    additionalProperties: true
 95    required:
 96      - fsl,weim-cs-timing
 97
 98required:
 99  - compatible
100  - reg
101  - clocks
102  - "#address-cells"
103  - "#size-cells"
104  - ranges
105
106allOf:
107  - if:
108      properties:
109        compatible:
110          not:
111            contains:
112              enum:
113                - fsl,imx50-weim
114                - fsl,imx6q-weim
115    then:
116      properties:
117        fsl,weim-cs-gpr: false
118        fsl,burst-clk-enable: false
119  - if:
120      not:
121        required:
122          - fsl,burst-clk-enable
123    then:
124      properties:
125        fsl,continuous-burst-clk: false
126  - if:
127      properties:
128        compatible:
129          contains:
130            const: fsl,imx1-weim
131    then:
132      patternProperties:
133        "^.*@[0-7],[0-9a-f]+$":
134          properties:
135            fsl,weim-cs-timing:
136              items:
137                - description: CSxU
138                - description: CSxL
139  - if:
140      properties:
141        compatible:
142          contains:
143            enum:
144              - fsl,imx27-weim
145              - fsl,imx31-weim
146              - fsl,imx35-weim
147    then:
148      patternProperties:
149        "^.*@[0-7],[0-9a-f]+$":
150          properties:
151            fsl,weim-cs-timing:
152              items:
153                - description: CSCRxU
154                - description: CSCRxL
155                - description: CSCRxA
156  - if:
157      properties:
158        compatible:
159          contains:
160            enum:
161              - fsl,imx50-weim
162              - fsl,imx51-weim
163              - fsl,imx6q-weim
164              - fsl,imx6sx-weim
165              - fsl,imx6ul-weim
166    then:
167      patternProperties:
168        "^.*@[0-7],[0-9a-f]+$":
169          properties:
170            fsl,weim-cs-timing:
171              items:
172                - description: CSxGCR1
173                - description: CSxGCR2
174                - description: CSxRCR1
175                - description: CSxRCR2
176                - description: CSxWCR1
177                - description: CSxWCR2
178
179additionalProperties: false
180
181examples:
182  - |
183    memory-controller@21b8000 {
184        compatible = "fsl,imx6q-weim";
185        reg = <0x021b8000 0x4000>;
186        clocks = <&clks 196>;
187        #address-cells = <2>;
188        #size-cells = <1>;
189        ranges = <0 0 0x08000000 0x08000000>;
190        fsl,weim-cs-gpr = <&gpr>;
191
192        flash@0,0 {
193            compatible = "cfi-flash";
194            reg = <0 0 0x02000000>;
195            #address-cells = <1>;
196            #size-cells = <1>;
197            bank-width = <2>;
198            fsl,weim-cs-timing = <0x00620081 0x00000001 0x1c022000
199                                  0x0000c000 0x1404a38e 0x00000000>;
200        };
201    };
~/ Read-only file preview.