xref: /freebsd-src/sys/contrib/device-tree/Bindings/memory-controllers/xlnx,versal-ddrmc-edac.yaml (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1*84943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*84943d6fSEmmanuel Vadot%YAML 1.2
3*84943d6fSEmmanuel Vadot---
4*84943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/memory-controllers/xlnx,versal-ddrmc-edac.yaml#
5*84943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*84943d6fSEmmanuel Vadot
7*84943d6fSEmmanuel Vadottitle: Xilinx Versal DDRMC (Integrated DDR Memory Controller)
8*84943d6fSEmmanuel Vadot
9*84943d6fSEmmanuel Vadotmaintainers:
10*84943d6fSEmmanuel Vadot  - Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
11*84943d6fSEmmanuel Vadot  - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
12*84943d6fSEmmanuel Vadot
13*84943d6fSEmmanuel Vadotdescription:
14*84943d6fSEmmanuel Vadot  The integrated DDR Memory Controllers (DDRMCs) support both DDR4 and LPDDR4/
15*84943d6fSEmmanuel Vadot  4X memory interfaces. Versal DDR memory controller has an optional ECC support
16*84943d6fSEmmanuel Vadot  which correct single bit ECC errors and detect double bit ECC errors.
17*84943d6fSEmmanuel Vadot
18*84943d6fSEmmanuel Vadotproperties:
19*84943d6fSEmmanuel Vadot  compatible:
20*84943d6fSEmmanuel Vadot    const: xlnx,versal-ddrmc
21*84943d6fSEmmanuel Vadot
22*84943d6fSEmmanuel Vadot  reg:
23*84943d6fSEmmanuel Vadot    items:
24*84943d6fSEmmanuel Vadot      - description: DDR Memory Controller registers
25*84943d6fSEmmanuel Vadot      - description: NOC registers corresponding to DDR Memory Controller
26*84943d6fSEmmanuel Vadot
27*84943d6fSEmmanuel Vadot  reg-names:
28*84943d6fSEmmanuel Vadot    items:
29*84943d6fSEmmanuel Vadot      - const: base
30*84943d6fSEmmanuel Vadot      - const: noc
31*84943d6fSEmmanuel Vadot
32*84943d6fSEmmanuel Vadot  interrupts:
33*84943d6fSEmmanuel Vadot    maxItems: 1
34*84943d6fSEmmanuel Vadot
35*84943d6fSEmmanuel Vadotrequired:
36*84943d6fSEmmanuel Vadot  - compatible
37*84943d6fSEmmanuel Vadot  - reg
38*84943d6fSEmmanuel Vadot  - reg-names
39*84943d6fSEmmanuel Vadot  - interrupts
40*84943d6fSEmmanuel Vadot
41*84943d6fSEmmanuel VadotadditionalProperties: false
42*84943d6fSEmmanuel Vadot
43*84943d6fSEmmanuel Vadotexamples:
44*84943d6fSEmmanuel Vadot  - |
45*84943d6fSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
46*84943d6fSEmmanuel Vadot
47*84943d6fSEmmanuel Vadot    bus {
48*84943d6fSEmmanuel Vadot      #address-cells = <2>;
49*84943d6fSEmmanuel Vadot      #size-cells = <2>;
50*84943d6fSEmmanuel Vadot      memory-controller@f6150000 {
51*84943d6fSEmmanuel Vadot        compatible = "xlnx,versal-ddrmc";
52*84943d6fSEmmanuel Vadot        reg = <0x0 0xf6150000 0x0 0x2000>, <0x0 0xf6070000 0x0 0x20000>;
53*84943d6fSEmmanuel Vadot        reg-names = "base", "noc";
54*84943d6fSEmmanuel Vadot        interrupt-parent = <&gic>;
55*84943d6fSEmmanuel Vadot        interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>;
56*84943d6fSEmmanuel Vadot      };
57*84943d6fSEmmanuel Vadot    };
58