1*cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*cb7aa33aSEmmanuel Vadot%YAML 1.2 3*cb7aa33aSEmmanuel Vadot--- 4*cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/mediatek,nand-ecc-engine.yaml# 5*cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*cb7aa33aSEmmanuel Vadot 7*cb7aa33aSEmmanuel Vadottitle: MediaTek(MTK) SoCs NAND ECC engine 8*cb7aa33aSEmmanuel Vadot 9*cb7aa33aSEmmanuel Vadotmaintainers: 10*cb7aa33aSEmmanuel Vadot - Xiangsheng Hou <xiangsheng.hou@mediatek.com> 11*cb7aa33aSEmmanuel Vadot 12*cb7aa33aSEmmanuel Vadotdescription: | 13*cb7aa33aSEmmanuel Vadot MTK NAND ECC engine can cowork with MTK raw NAND and SPI NAND controller. 14*cb7aa33aSEmmanuel Vadot 15*cb7aa33aSEmmanuel Vadotproperties: 16*cb7aa33aSEmmanuel Vadot compatible: 17*cb7aa33aSEmmanuel Vadot enum: 18*cb7aa33aSEmmanuel Vadot - mediatek,mt2701-ecc 19*cb7aa33aSEmmanuel Vadot - mediatek,mt2712-ecc 20*cb7aa33aSEmmanuel Vadot - mediatek,mt7622-ecc 21*cb7aa33aSEmmanuel Vadot - mediatek,mt7986-ecc 22*cb7aa33aSEmmanuel Vadot 23*cb7aa33aSEmmanuel Vadot reg: 24*cb7aa33aSEmmanuel Vadot items: 25*cb7aa33aSEmmanuel Vadot - description: Base physical address and size of ECC. 26*cb7aa33aSEmmanuel Vadot 27*cb7aa33aSEmmanuel Vadot interrupts: 28*cb7aa33aSEmmanuel Vadot items: 29*cb7aa33aSEmmanuel Vadot - description: ECC interrupt 30*cb7aa33aSEmmanuel Vadot 31*cb7aa33aSEmmanuel Vadot clocks: 32*cb7aa33aSEmmanuel Vadot maxItems: 1 33*cb7aa33aSEmmanuel Vadot 34*cb7aa33aSEmmanuel Vadot clock-names: 35*cb7aa33aSEmmanuel Vadot const: nfiecc_clk 36*cb7aa33aSEmmanuel Vadot 37*cb7aa33aSEmmanuel Vadotrequired: 38*cb7aa33aSEmmanuel Vadot - compatible 39*cb7aa33aSEmmanuel Vadot - reg 40*cb7aa33aSEmmanuel Vadot - interrupts 41*cb7aa33aSEmmanuel Vadot - clocks 42*cb7aa33aSEmmanuel Vadot - clock-names 43*cb7aa33aSEmmanuel Vadot 44*cb7aa33aSEmmanuel VadotadditionalProperties: false 45*cb7aa33aSEmmanuel Vadot 46*cb7aa33aSEmmanuel Vadotexamples: 47*cb7aa33aSEmmanuel Vadot - | 48*cb7aa33aSEmmanuel Vadot #include <dt-bindings/clock/mt2701-clk.h> 49*cb7aa33aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 50*cb7aa33aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 51*cb7aa33aSEmmanuel Vadot 52*cb7aa33aSEmmanuel Vadot soc { 53*cb7aa33aSEmmanuel Vadot #address-cells = <2>; 54*cb7aa33aSEmmanuel Vadot #size-cells = <2>; 55*cb7aa33aSEmmanuel Vadot 56*cb7aa33aSEmmanuel Vadot bch: ecc@1100e000 { 57*cb7aa33aSEmmanuel Vadot compatible = "mediatek,mt2701-ecc"; 58*cb7aa33aSEmmanuel Vadot reg = <0 0x1100e000 0 0x1000>; 59*cb7aa33aSEmmanuel Vadot interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_LOW>; 60*cb7aa33aSEmmanuel Vadot clocks = <&pericfg CLK_PERI_NFI_ECC>; 61*cb7aa33aSEmmanuel Vadot clock-names = "nfiecc_clk"; 62*cb7aa33aSEmmanuel Vadot }; 63*cb7aa33aSEmmanuel Vadot }; 64