ERR007117
Chip Errata for the i.MX 6Dual/6Quad and i.MX 6DualPlus/6QuadPlus, Rev. 6.1, 06/2016
180
NXP Semiconductors
Description
For raw NAND boot, ROM switches the source of enfc_clk_root from PLL2_PFD2 to PLL3. The
root clock is required to be gated before switching the source clock. If the root clock is not gated,
clock glitches might be passed to the divider that follows the clock mux, and the divider might
behave unpredictably. This can cause the clock generation to fail and the chip will not boot
successfully.
This problem can also occur elsewhere in application code if the root clock is not properly gated
when the clock configuration is changed.
Projected Impact:
The chip might not successfully boot from a NAND flash device. If the application code changes
the enfc_clk_root configuration without gating the clocks appropriately (described in the
workaround), accesses to a NAND device may fail.
Workarounds:
For the ROM NAND boot, there is no software workaround for this issue.
For a hardware workaround, implement an external watchdog or other reset watch (such as via a
PMIC). On a successful boot, the processor toggles the external watchdog through an I/O
mechanism (for example, a GPIO) which prevents the watchdog from detecting a timeout. If a boot
failure occurs, the external watchdog times out, thus resetting the processor.
For other occurrences in application code, the following procedure should be followed to change
the clock configuration for the enfc_clk_root:
1) Gate (disable) the GPMI/BCH clocks in register CCM_CCGR4.
2) Gate (disable) the enfc_clk_root before changing the enfc_clk_root source or dividers by
clearing CCM_CCGR2[CG7] to 2’b00. This disables the iomux_ipt_clk_io_clk.
3) Configure CCM_CS2CDR for the new clock source configuration.
4) Enable enfc_clk_root by setting CCM_CCGR2[CG7] to 2’b11. This enables the
iomux_ipt_clk_io_clk.
5) Enable the GPMI/BCH clocks in register CCM_CCGR4
Proposed Solution:
ROM boot fixed in i.MX 6Dual/6Quad silicon revision 1.3
Linux BSP Status:
No BSP software workaround.
ERR007117
ROM: When booting from NAND flash, enfc_clk_root clock is not
gated off when doing the clock source switch [i.MX 6Dual/6Quad
Only]