xref: /freebsd/sys/contrib/device-tree/Bindings/memory-controllers/xlnx,zynqmp-ocmc-1.0.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*cb7aa33aSEmmanuel Vadot%YAML 1.2
3*cb7aa33aSEmmanuel Vadot---
4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/memory-controllers/xlnx,zynqmp-ocmc-1.0.yaml#
5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*cb7aa33aSEmmanuel Vadot
7*cb7aa33aSEmmanuel Vadottitle: Xilinx Zynqmp OCM(On-Chip Memory) Controller
8*cb7aa33aSEmmanuel Vadot
9*cb7aa33aSEmmanuel Vadotmaintainers:
10*cb7aa33aSEmmanuel Vadot  - Shubhrajyoti Datta <shubhrajyoti.datta@amd.com>
11*cb7aa33aSEmmanuel Vadot  - Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
12*cb7aa33aSEmmanuel Vadot
13*cb7aa33aSEmmanuel Vadotdescription: |
14*cb7aa33aSEmmanuel Vadot  The OCM supports 64-bit wide ECC functionality to detect multi-bit errors
15*cb7aa33aSEmmanuel Vadot  and recover from a single-bit memory fault.On a write, if all bytes are
16*cb7aa33aSEmmanuel Vadot  being written, the ECC is generated and written into the ECC RAM along with
17*cb7aa33aSEmmanuel Vadot  the write-data that is written into the data RAM. If one or more bytes are
18*cb7aa33aSEmmanuel Vadot  not written, then the read operation results in an correctable error or
19*cb7aa33aSEmmanuel Vadot  uncorrectable error.
20*cb7aa33aSEmmanuel Vadot
21*cb7aa33aSEmmanuel Vadotproperties:
22*cb7aa33aSEmmanuel Vadot  compatible:
23*cb7aa33aSEmmanuel Vadot    const: xlnx,zynqmp-ocmc-1.0
24*cb7aa33aSEmmanuel Vadot
25*cb7aa33aSEmmanuel Vadot  reg:
26*cb7aa33aSEmmanuel Vadot    maxItems: 1
27*cb7aa33aSEmmanuel Vadot
28*cb7aa33aSEmmanuel Vadot  interrupts:
29*cb7aa33aSEmmanuel Vadot    maxItems: 1
30*cb7aa33aSEmmanuel Vadot
31*cb7aa33aSEmmanuel Vadotrequired:
32*cb7aa33aSEmmanuel Vadot  - compatible
33*cb7aa33aSEmmanuel Vadot  - reg
34*cb7aa33aSEmmanuel Vadot  - interrupts
35*cb7aa33aSEmmanuel Vadot
36*cb7aa33aSEmmanuel VadotadditionalProperties: false
37*cb7aa33aSEmmanuel Vadot
38*cb7aa33aSEmmanuel Vadotexamples:
39*cb7aa33aSEmmanuel Vadot  - |
40*cb7aa33aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
41*cb7aa33aSEmmanuel Vadot    memory-controller@ff960000 {
42*cb7aa33aSEmmanuel Vadot      compatible = "xlnx,zynqmp-ocmc-1.0";
43*cb7aa33aSEmmanuel Vadot      reg = <0xff960000 0x1000>;
44*cb7aa33aSEmmanuel Vadot      interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
45*cb7aa33aSEmmanuel Vadot    };
46