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