xref: /freebsd/sys/contrib/device-tree/Bindings/memory-controllers/fsl/fsl,ddr.yaml (revision 5f62a964e9f8abc6a05d8338273fadd154f0a206)
18cc087a1SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28cc087a1SEmmanuel Vadot%YAML 1.2
38cc087a1SEmmanuel Vadot---
48cc087a1SEmmanuel Vadot$id: http://devicetree.org/schemas/memory-controllers/fsl/fsl,ddr.yaml#
58cc087a1SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
68cc087a1SEmmanuel Vadot
78cc087a1SEmmanuel Vadottitle: Freescale DDR memory controller
88cc087a1SEmmanuel Vadot
98cc087a1SEmmanuel Vadotmaintainers:
108cc087a1SEmmanuel Vadot  - Borislav Petkov <bp@alien8.de>
118cc087a1SEmmanuel Vadot  - York Sun <york.sun@nxp.com>
128cc087a1SEmmanuel Vadot
138cc087a1SEmmanuel Vadotproperties:
148cc087a1SEmmanuel Vadot  $nodename:
158cc087a1SEmmanuel Vadot    pattern: "^memory-controller@[0-9a-f]+$"
168cc087a1SEmmanuel Vadot
178cc087a1SEmmanuel Vadot  compatible:
188cc087a1SEmmanuel Vadot    oneOf:
198cc087a1SEmmanuel Vadot      - items:
208cc087a1SEmmanuel Vadot          - enum:
218cc087a1SEmmanuel Vadot              - fsl,qoriq-memory-controller-v4.4
228cc087a1SEmmanuel Vadot              - fsl,qoriq-memory-controller-v4.5
238cc087a1SEmmanuel Vadot              - fsl,qoriq-memory-controller-v4.7
248cc087a1SEmmanuel Vadot              - fsl,qoriq-memory-controller-v5.0
258cc087a1SEmmanuel Vadot          - const: fsl,qoriq-memory-controller
268cc087a1SEmmanuel Vadot      - enum:
278cc087a1SEmmanuel Vadot          - fsl,bsc9132-memory-controller
288cc087a1SEmmanuel Vadot          - fsl,mpc8536-memory-controller
298cc087a1SEmmanuel Vadot          - fsl,mpc8540-memory-controller
308cc087a1SEmmanuel Vadot          - fsl,mpc8541-memory-controller
318cc087a1SEmmanuel Vadot          - fsl,mpc8544-memory-controller
328cc087a1SEmmanuel Vadot          - fsl,mpc8548-memory-controller
338cc087a1SEmmanuel Vadot          - fsl,mpc8555-memory-controller
348cc087a1SEmmanuel Vadot          - fsl,mpc8560-memory-controller
358cc087a1SEmmanuel Vadot          - fsl,mpc8568-memory-controller
368cc087a1SEmmanuel Vadot          - fsl,mpc8569-memory-controller
378cc087a1SEmmanuel Vadot          - fsl,mpc8572-memory-controller
388cc087a1SEmmanuel Vadot          - fsl,mpc8349-memory-controller
398cc087a1SEmmanuel Vadot          - fsl,p1020-memory-controller
408cc087a1SEmmanuel Vadot          - fsl,p1021-memory-controller
418cc087a1SEmmanuel Vadot          - fsl,p2020-memory-controller
428cc087a1SEmmanuel Vadot          - fsl,qoriq-memory-controller
43*5f62a964SEmmanuel Vadot          - nxp,imx9-memory-controller
448cc087a1SEmmanuel Vadot
458cc087a1SEmmanuel Vadot  interrupts:
468cc087a1SEmmanuel Vadot    maxItems: 1
478cc087a1SEmmanuel Vadot
488cc087a1SEmmanuel Vadot  little-endian:
498cc087a1SEmmanuel Vadot    description:
508cc087a1SEmmanuel Vadot      Specifies little-endian access to registers. If omitted, big-endian will
518cc087a1SEmmanuel Vadot      be used.
528cc087a1SEmmanuel Vadot    type: boolean
538cc087a1SEmmanuel Vadot
548cc087a1SEmmanuel Vadot  reg:
55*5f62a964SEmmanuel Vadot    items:
56*5f62a964SEmmanuel Vadot      - description: Controller register space
57*5f62a964SEmmanuel Vadot      - description: Inject register space
58*5f62a964SEmmanuel Vadot    minItems: 1
59*5f62a964SEmmanuel Vadot
60*5f62a964SEmmanuel Vadot  reg-names:
61*5f62a964SEmmanuel Vadot    items:
62*5f62a964SEmmanuel Vadot      - const: ctrl
63*5f62a964SEmmanuel Vadot      - const: inject
64*5f62a964SEmmanuel Vadot    minItems: 1
658cc087a1SEmmanuel Vadot
668cc087a1SEmmanuel Vadotrequired:
678cc087a1SEmmanuel Vadot  - compatible
688cc087a1SEmmanuel Vadot  - interrupts
698cc087a1SEmmanuel Vadot  - reg
708cc087a1SEmmanuel Vadot
71*5f62a964SEmmanuel VadotallOf:
72*5f62a964SEmmanuel Vadot  - if:
73*5f62a964SEmmanuel Vadot      properties:
74*5f62a964SEmmanuel Vadot        compatible:
75*5f62a964SEmmanuel Vadot          contains:
76*5f62a964SEmmanuel Vadot            enum:
77*5f62a964SEmmanuel Vadot              - nxp,imx9-memory-controller
78*5f62a964SEmmanuel Vadot    then:
79*5f62a964SEmmanuel Vadot      properties:
80*5f62a964SEmmanuel Vadot        reg:
81*5f62a964SEmmanuel Vadot          minItems: 2
82*5f62a964SEmmanuel Vadot        reg-names:
83*5f62a964SEmmanuel Vadot          minItems: 2
84*5f62a964SEmmanuel Vadot    else:
85*5f62a964SEmmanuel Vadot      properties:
86*5f62a964SEmmanuel Vadot        reg:
87*5f62a964SEmmanuel Vadot          maxItems: 1
88*5f62a964SEmmanuel Vadot        reg-names: false
89*5f62a964SEmmanuel Vadot
908cc087a1SEmmanuel VadotadditionalProperties: false
918cc087a1SEmmanuel Vadot
928cc087a1SEmmanuel Vadotexamples:
938cc087a1SEmmanuel Vadot  - |
948cc087a1SEmmanuel Vadot    memory-controller@2000 {
958cc087a1SEmmanuel Vadot        compatible = "fsl,bsc9132-memory-controller";
968cc087a1SEmmanuel Vadot        reg = <0x2000 0x1000>;
978cc087a1SEmmanuel Vadot        interrupts = <16 2 1 8>;
988cc087a1SEmmanuel Vadot    };
998cc087a1SEmmanuel Vadot
1008cc087a1SEmmanuel Vadot  - |
1018cc087a1SEmmanuel Vadot    memory-controller@8000 {
1028cc087a1SEmmanuel Vadot        compatible = "fsl,qoriq-memory-controller-v4.7",
1038cc087a1SEmmanuel Vadot                     "fsl,qoriq-memory-controller";
1048cc087a1SEmmanuel Vadot        reg = <0x8000 0x1000>;
1058cc087a1SEmmanuel Vadot        interrupts = <16 2 1 23>;
1068cc087a1SEmmanuel Vadot    };
107