1 Altera SoCFPGA ECC Manager
2 This driver uses the EDAC framework to implement the SOCFPGA ECC Manager.
3 The ECC Manager counts and corrects single bit errors and counts/handles
4 double bit errors which are uncorrectable.
6 Cyclone5 and Arria5 ECC Manager
8 - compatible : Should be "altr,socfpga-ecc-manager"
9 - #address-cells: must be 1
10 - #size-cells: must be 1
11 - ranges : standard definition, should translate from local addresses
17 - compatible : Should be "altr,socfpga-l2-ecc"
18 - reg : Address and size for ECC error interrupt clear registers.
19 - interrupts : Should be single bit error interrupt, then double bit error
20 interrupt. Note the rising edge type.
24 - compatible : Should be "altr,socfpga-ocram-ecc"
25 - reg : Address and size for ECC error interrupt clear registers.
26 - iram : phandle to On-Chip RAM definition.
27 - interrupts : Should be single bit error interrupt, then double bit error
28 interrupt. Note the rising edge type.
32 eccmgr: eccmgr@ffd08140 {
33 compatible = "altr,socfpga-ecc-manager";
39 compatible = "altr,socfpga-l2-ecc";
40 reg = <0xffd08140 0x4>;
41 interrupts = <0 36 1>, <0 37 1>;
45 compatible = "altr,socfpga-ocram-ecc";
46 reg = <0xffd08144 0x4>;
48 interrupts = <0 178 1>, <0 179 1>;
52 Arria10 SoCFPGA ECC Manager
53 The Arria10 SoC ECC Manager handles the IRQs for each peripheral
54 in a shared register instead of individual IRQs like the Cyclone5
55 and Arria5. Therefore the device tree is different as well.
58 - compatible : Should be "altr,socfpga-a10-ecc-manager"
59 - altr,sysgr-syscon : phandle to Arria10 System Manager Block
60 containing the ECC manager registers.
61 - #address-cells: must be 1
62 - #size-cells: must be 1
63 - interrupts : Should be single bit error interrupt, then double bit error
65 - interrupt-controller : boolean indicator that ECC Manager is an interrupt controller
66 - #interrupt-cells : must be set to 2.
67 - ranges : standard definition, should translate from local addresses
73 - compatible : Should be "altr,socfpga-a10-l2-ecc"
74 - reg : Address and size for ECC error interrupt clear registers.
75 - interrupts : Should be single bit error interrupt, then double bit error
76 interrupt, in this order.
80 - compatible : Should be "altr,socfpga-a10-ocram-ecc"
81 - reg : Address and size for ECC block registers.
82 - interrupts : Should be single bit error interrupt, then double bit error
83 interrupt, in this order.
87 eccmgr: eccmgr@ffd06000 {
88 compatible = "altr,socfpga-a10-ecc-manager";
89 altr,sysmgr-syscon = <&sysmgr>;
92 interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>,
93 <0 0 IRQ_TYPE_LEVEL_HIGH>;
95 #interrupt-cells = <2>;
99 compatible = "altr,socfpga-a10-l2-ecc";
100 reg = <0xffd06010 0x4>;
101 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>,
102 <32 IRQ_TYPE_LEVEL_HIGH>;
106 compatible = "altr,socfpga-a10-ocram-ecc";
107 reg = <0xff8c3000 0x90>;
108 interrupts = <1 IRQ_TYPE_LEVEL_HIGH>,
109 <33 IRQ_TYPE_LEVEL_HIGH> ;