| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/memory-controllers/fsl/fsl,imx-weim.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: i.MX Wireless External Interface Module (WEIM)
- maintainers:
- - Shawn Guo <shawnguo@kernel.org>
- - Sascha Hauer <s.hauer@pengutronix.de>
- description:
- The term "wireless" does not imply that the WEIM is literally an interface
- without wires. It simply means that this module was originally designed for
- wireless and mobile applications that use low-power technology. The actual
- devices are instantiated from the child nodes of a WEIM node.
- properties:
- $nodename:
- pattern: "^memory-controller@[0-9a-f]+$"
- compatible:
- oneOf:
- - enum:
- - fsl,imx1-weim
- - fsl,imx27-weim
- - fsl,imx50-weim
- - fsl,imx51-weim
- - fsl,imx6q-weim
- - items:
- - enum:
- - fsl,imx31-weim
- - fsl,imx35-weim
- - const: fsl,imx27-weim
- - items:
- - enum:
- - fsl,imx6sx-weim
- - fsl,imx6ul-weim
- - const: fsl,imx6q-weim
- "#address-cells":
- const: 2
- "#size-cells":
- const: 1
- reg:
- maxItems: 1
- clocks:
- maxItems: 1
- interrupts:
- maxItems: 1
- ranges: true
- fsl,weim-cs-gpr:
- $ref: /schemas/types.yaml#/definitions/phandle
- description: |
- Phandle to the system General Purpose Register controller that contains
- WEIM CS GPR register, e.g. IOMUXC_GPR1 on i.MX6Q. IOMUXC_GPR1[11:0]
- should be set up as one of the following 4 possible values depending on
- the CS space configuration.
- IOMUXC_GPR1[11:0] CS0 CS1 CS2 CS3
- ---------------------------------------------
- 05 128M 0M 0M 0M
- 033 64M 64M 0M 0M
- 0113 64M 32M 32M 0M
- 01111 32M 32M 32M 32M
- In case that the property is absent, the reset value or what bootloader
- sets up in IOMUXC_GPR1[11:0] will be used.
- fsl,burst-clk-enable:
- type: boolean
- description:
- The presence of this property indicates that the weim bus should operate
- in Burst Clock Mode.
- fsl,continuous-burst-clk:
- type: boolean
- description:
- Make Burst Clock to output continuous clock. Without this option Burst
- Clock will output clock only when necessary.
- patternProperties:
- "^.*@[0-7],[0-9a-f]+$":
- type: object
- description: Devices attached to chip selects are represented as subnodes.
- $ref: fsl,imx-weim-peripherals.yaml
- additionalProperties: true
- required:
- - fsl,weim-cs-timing
- required:
- - compatible
- - reg
- - clocks
- - "#address-cells"
- - "#size-cells"
- - ranges
- allOf:
- - if:
- properties:
- compatible:
- not:
- contains:
- enum:
- - fsl,imx50-weim
- - fsl,imx6q-weim
- then:
- properties:
- fsl,weim-cs-gpr: false
- fsl,burst-clk-enable: false
- - if:
- not:
- required:
- - fsl,burst-clk-enable
- then:
- properties:
- fsl,continuous-burst-clk: false
- - if:
- properties:
- compatible:
- contains:
- const: fsl,imx1-weim
- then:
- patternProperties:
- "^.*@[0-7],[0-9a-f]+$":
- properties:
- fsl,weim-cs-timing:
- items:
- - description: CSxU
- - description: CSxL
- - if:
- properties:
- compatible:
- contains:
- enum:
- - fsl,imx27-weim
- - fsl,imx31-weim
- - fsl,imx35-weim
- then:
- patternProperties:
- "^.*@[0-7],[0-9a-f]+$":
- properties:
- fsl,weim-cs-timing:
- items:
- - description: CSCRxU
- - description: CSCRxL
- - description: CSCRxA
- - if:
- properties:
- compatible:
- contains:
- enum:
- - fsl,imx50-weim
- - fsl,imx51-weim
- - fsl,imx6q-weim
- - fsl,imx6sx-weim
- - fsl,imx6ul-weim
- then:
- patternProperties:
- "^.*@[0-7],[0-9a-f]+$":
- properties:
- fsl,weim-cs-timing:
- items:
- - description: CSxGCR1
- - description: CSxGCR2
- - description: CSxRCR1
- - description: CSxRCR2
- - description: CSxWCR1
- - description: CSxWCR2
- additionalProperties: false
- examples:
- - |
- memory-controller@21b8000 {
- compatible = "fsl,imx6q-weim";
- reg = <0x021b8000 0x4000>;
- clocks = <&clks 196>;
- #address-cells = <2>;
- #size-cells = <1>;
- ranges = <0 0 0x08000000 0x08000000>;
- fsl,weim-cs-gpr = <&gpr>;
- flash@0,0 {
- compatible = "cfi-flash";
- reg = <0 0 0x02000000>;
- #address-cells = <1>;
- #size-cells = <1>;
- bank-width = <2>;
- fsl,weim-cs-timing = <0x00620081 0x00000001 0x1c022000
- 0x0000c000 0x1404a38e 0x00000000>;
- };
- };
|