AnsweredAssumed Answered

Ecc in uboot dtsi, imx6ull

Question asked by Daniele Cortellazzi on Jun 7, 2020
Latest reply on Jun 8, 2020 by igorpadykov

Hello, I have a question about the dtsi for the imx6ull.
In this project we have had problems with esd discharge during the mounting of the device. Sometimes happen that the system stop on uboot, it doesn't be able to load the operating system for some memory bad block read. We have solved the problem adding some esd diode and putting more attention during the production of the device.
Nevertheless this don't have to happen because our memory, a micron mt29f32g08, contain the ecc. So this feature need to be able to correct some bit flip.
Checking our dtsi, based on the imx6ull evk dtsi (
https://github.com/ARM-software/u-bo...-14x14-evk.dts) we have:

 

 

gpmi: gpmi-nand@01806000{
compatible = "fsl,imx6ull-gpmi-nand", "fsl, imx6ul-gpmi-nand";
#address-cells = <1>;
#size-cells = <1>;
reg = <0x01806000 0x2000>, <0x01808000 0x4000>;
reg-names = "gpmi-nand", "bch";
interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "bch";
clocks = <&clks IMX6UL_CLK_GPMI_IO>,
<&clks IMX6UL_CLK_GPMI_APB>,
<&clks IMX6UL_CLK_GPMI_BCH>,
<&clks IMX6UL_CLK_GPMI_BCH_APB>,
<&clks IMX6UL_CLK_PER_BCH>;
clock-names = "gpmi_io", "gpmi_apb", "gpmi_bch",
"gpmi_bch_apb", "per1_bch";
dmas = <&dma_apbh 0>;
dma-names = "rx-tx";
status = "disabled";
};

in this we don't have mention about the ecc, instead in the colibri imx6ull board dtsi https://github.com/u-boot/u-boot/blo...l-colibri.dtsi we have:

 

 

/* NAND */
&gpmi {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_gpmi_nand>;
nand-on-flash-bbt;
nand-ecc-mode = "hw";
nand-ecc-strength = <8>;
nand-ecc-step-size = <512>;
status = "okay";
};

my question is so, for enable the ecc hardware feature we need to add this nand-ecc-mode = "hw" property? and this is enough or we need some library for uboot?

 

Someone can help me? the documentation on internet about these parameters are not many and many times not cleart. Thanks

Outcomes