* U-Boot OMAP GPMC ECC change
@ 2023-05-09 15:31 Colin Foster
2023-05-10 9:42 ` Roger Quadros
0 siblings, 1 reply; 14+ messages in thread
From: Colin Foster @ 2023-05-09 15:31 UTC (permalink / raw)
To: Roger Quadros; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
Hi Roger,
I was looking to test my system against U-Boot 2023.04. I'm running an
OMAP 4460 SOM (I've been waiting to get kernel acceptance before U-Boot,
but that has slipped) and it boots from NAND.
When I jumped from 2023.01 to 2023.04, I noticed I get spammed in the
SPL by "omap-elm: uncorrectable ECC errors". I bisected, and this seems
to be the result of commit 04fcd25873 ("mtd: rawnand: omap_gpmc: Fix
BCH6/16 HW based correction").
Is the multi-sector ECC generation something that should work in a
backward-compatible way? Do you know of anything that might be going
wrong here?
Any advice would be greatly appreciated, as I find it is usually
something simple I'm doing wrong that is causing most of my issues.
Thanks,
Colin Foster.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-09 15:31 U-Boot OMAP GPMC ECC change Colin Foster
@ 2023-05-10 9:42 ` Roger Quadros
2023-05-10 15:38 ` Colin Foster
0 siblings, 1 reply; 14+ messages in thread
From: Roger Quadros @ 2023-05-10 9:42 UTC (permalink / raw)
To: Colin Foster; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
Hi Colin,
On 09/05/2023 18:31, Colin Foster wrote:
> Hi Roger,
>
> I was looking to test my system against U-Boot 2023.04. I'm running an
> OMAP 4460 SOM (I've been waiting to get kernel acceptance before U-Boot,
> but that has slipped) and it boots from NAND.
>
> When I jumped from 2023.01 to 2023.04, I noticed I get spammed in the
> SPL by "omap-elm: uncorrectable ECC errors". I bisected, and this seems
> to be the result of commit 04fcd25873 ("mtd: rawnand: omap_gpmc: Fix
> BCH6/16 HW based correction").
oops. Sorry about that.
>
> Is the multi-sector ECC generation something that should work in a
> backward-compatible way? Do you know of anything that might be going
> wrong here?
The patch wasn't supposed to break anything.
I do not yet know what could be wrong. Most likely a wrong ECC
configuration is being used.
Could you please share what ECC configuration you are using on your board?
Can you please point me to the Linux device tree file if it exists?
>
> Any advice would be greatly appreciated, as I find it is usually
> something simple I'm doing wrong that is causing most of my issues.
>
>
> Thanks,
>
> Colin Foster.
--
cheers,
-roger
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-10 9:42 ` Roger Quadros
@ 2023-05-10 15:38 ` Colin Foster
2023-05-12 11:53 ` Roger Quadros
0 siblings, 1 reply; 14+ messages in thread
From: Colin Foster @ 2023-05-10 15:38 UTC (permalink / raw)
To: Roger Quadros; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
Hi Roger,
On Wed, May 10, 2023 at 12:42:43PM +0300, Roger Quadros wrote:
> Hi Colin,
>
> On 09/05/2023 18:31, Colin Foster wrote:
> > Hi Roger,
> >
> > I was looking to test my system against U-Boot 2023.04. I'm running an
> > OMAP 4460 SOM (I've been waiting to get kernel acceptance before U-Boot,
> > but that has slipped) and it boots from NAND.
> >
> > When I jumped from 2023.01 to 2023.04, I noticed I get spammed in the
> > SPL by "omap-elm: uncorrectable ECC errors". I bisected, and this seems
> > to be the result of commit 04fcd25873 ("mtd: rawnand: omap_gpmc: Fix
> > BCH6/16 HW based correction").
>
> oops. Sorry about that.
No worries!
> >
> > Is the multi-sector ECC generation something that should work in a
> > backward-compatible way? Do you know of anything that might be going
> > wrong here?
>
> The patch wasn't supposed to break anything.
> I do not yet know what could be wrong. Most likely a wrong ECC
> configuration is being used.
>
> Could you please share what ECC configuration you are using on your board?
This is still out-of-U-Boot. I have an include/configs/our_product.h
file with this:
"""
#define CFG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, \
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, \
33, 34, 35, 36, 37, 38, 39, 40, 41, \
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
52, 53, 54, 55, 56, 57}
#define CFG_SYS_NAND_ECCBYTES 14
#define CFG_SYS_NAND_MAX_ECCPOS 57
#define CFG_SYS_NAND_ECCSIZE 512
#define CFG_SYS_NAND_MAX_OOBFREE 2
"""
> Can you please point me to the Linux device tree file if it exists?
This is the latest submission. Still not accepted - I need to find time
to button everything up and resubmit. My plan of attack was Kernel
Acceptance, then U-Boot. Unfortunately my company lets the pesky
"Shipping products" step get in the way :-)
https://lkml.org/lkml/2023/2/22/939
Or if you just want the ECC part:
+ nandflash: nand@0,0 {
+ compatible = "ti,omap2-nand";
+ reg = <0 0 4>;
+ interrupt-parent = <&gpmc>;
+
+ nand-bus-width = <16>;
+ ti,nand-ecc-opt = "bch8";
+ ti,elm-id=<&elm>;
+ linux,mtd-name = "micron,nand";
I think that's all the info you're looking for. Let me know if I missed
something.
Colin Foster
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-10 15:38 ` Colin Foster
@ 2023-05-12 11:53 ` Roger Quadros
2023-05-12 16:05 ` Colin Foster
0 siblings, 1 reply; 14+ messages in thread
From: Roger Quadros @ 2023-05-12 11:53 UTC (permalink / raw)
To: Colin Foster; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
On 10/05/2023 18:38, Colin Foster wrote:
> Hi Roger,
>
> On Wed, May 10, 2023 at 12:42:43PM +0300, Roger Quadros wrote:
>> Hi Colin,
>>
>> On 09/05/2023 18:31, Colin Foster wrote:
>>> Hi Roger,
>>>
>>> I was looking to test my system against U-Boot 2023.04. I'm running an
>>> OMAP 4460 SOM (I've been waiting to get kernel acceptance before U-Boot,
>>> but that has slipped) and it boots from NAND.
>>>
>>> When I jumped from 2023.01 to 2023.04, I noticed I get spammed in the
>>> SPL by "omap-elm: uncorrectable ECC errors". I bisected, and this seems
>>> to be the result of commit 04fcd25873 ("mtd: rawnand: omap_gpmc: Fix
>>> BCH6/16 HW based correction").
>>
>> oops. Sorry about that.
>
> No worries!
>
>>>
>>> Is the multi-sector ECC generation something that should work in a
>>> backward-compatible way? Do you know of anything that might be going
>>> wrong here?
>>
>> The patch wasn't supposed to break anything.
>> I do not yet know what could be wrong. Most likely a wrong ECC
>> configuration is being used.
>>
>> Could you please share what ECC configuration you are using on your board?
>
> This is still out-of-U-Boot. I have an include/configs/our_product.h
> file with this:
>
> """
> #define CFG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \
> 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, \
> 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, \
> 33, 34, 35, 36, 37, 38, 39, 40, 41, \
> 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
> 52, 53, 54, 55, 56, 57}
>
> #define CFG_SYS_NAND_ECCBYTES 14
> #define CFG_SYS_NAND_MAX_ECCPOS 57
This should be 56 i.e. (57 - 2 + 1)
But it won't fix the issue you are facing. :P
> #define CFG_SYS_NAND_ECCSIZE 512
> #define CFG_SYS_NAND_MAX_OOBFREE 2
> """
>
>
>> Can you please point me to the Linux device tree file if it exists?
>
> This is the latest submission. Still not accepted - I need to find time
> to button everything up and resubmit. My plan of attack was Kernel
> Acceptance, then U-Boot. Unfortunately my company lets the pesky
> "Shipping products" step get in the way :-)
>
> https://lkml.org/lkml/2023/2/22/939
>
> Or if you just want the ECC part:
>
> + nandflash: nand@0,0 {
> + compatible = "ti,omap2-nand";
> + reg = <0 0 4>;
> + interrupt-parent = <&gpmc>;
> +
> + nand-bus-width = <16>;
> + ti,nand-ecc-opt = "bch8";
> + ti,elm-id=<&elm>;
> + linux,mtd-name = "micron,nand";
>
>
> I think that's all the info you're looking for. Let me know if I missed
> something.
Yes this is all I was looking for.
Is CONFIG_NAND_OMAP_ECCSCHEME_BCH8_CODE_HW set in your u-boot config?
--
cheers,
-roger
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-12 11:53 ` Roger Quadros
@ 2023-05-12 16:05 ` Colin Foster
2023-05-13 5:59 ` Roger Quadros
2023-05-17 13:30 ` Roger Quadros
0 siblings, 2 replies; 14+ messages in thread
From: Colin Foster @ 2023-05-12 16:05 UTC (permalink / raw)
To: Roger Quadros; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
[-- Attachment #1: Type: text/plain, Size: 2557 bytes --]
Hi Roger,
On Fri, May 12, 2023 at 02:53:07PM +0300, Roger Quadros wrote:
>
>
> On 10/05/2023 18:38, Colin Foster wrote:
> >
> > This is still out-of-U-Boot. I have an include/configs/our_product.h
> > file with this:
> >
> > """
> > #define CFG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \
> > 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, \
> > 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, \
> > 33, 34, 35, 36, 37, 38, 39, 40, 41, \
> > 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
> > 52, 53, 54, 55, 56, 57}
> >
> > #define CFG_SYS_NAND_ECCBYTES 14
> > #define CFG_SYS_NAND_MAX_ECCPOS 57
>
> This should be 56 i.e. (57 - 2 + 1)
> But it won't fix the issue you are facing. :P
Oh, good catch. I know when I was trying to get this working I had to
play with these values quite a bit. I must have missed changing this at
one point.
>
> > #define CFG_SYS_NAND_ECCSIZE 512
> > #define CFG_SYS_NAND_MAX_OOBFREE 2
> > """
> >
> >
> >> Can you please point me to the Linux device tree file if it exists?
> >
> > This is the latest submission. Still not accepted - I need to find time
> > to button everything up and resubmit. My plan of attack was Kernel
> > Acceptance, then U-Boot. Unfortunately my company lets the pesky
> > "Shipping products" step get in the way :-)
> >
> > https://lkml.org/lkml/2023/2/22/939
> >
> > Or if you just want the ECC part:
> >
> > + nandflash: nand@0,0 {
> > + compatible = "ti,omap2-nand";
> > + reg = <0 0 4>;
> > + interrupt-parent = <&gpmc>;
> > +
> > + nand-bus-width = <16>;
> > + ti,nand-ecc-opt = "bch8";
> > + ti,elm-id=<&elm>;
> > + linux,mtd-name = "micron,nand";
> >
> >
> > I think that's all the info you're looking for. Let me know if I missed
> > something.
>
> Yes this is all I was looking for.
>
> Is CONFIG_NAND_OMAP_ECCSCHEME_BCH8_CODE_HW set in your u-boot config?
Yes, it is set. I've attached our .config file. I just made a change to
CONFIG_NAND_OMAP_GPMC_PREFETCH as a test, which didn't fix the issue.
And as another sanity check, I reverted the patch and have functionality
again:
"""
U-Boot SPL 2023.04-00029-g316faf4c46-dirty (May 12 2023 - 09:02:58 -0700)
OMAP4460-GP ES1.1
Trying to boot from NAND
U-Boot 2023.04-00029-g316faf4c46-dirty (May 12 2023 - 09:02:58 -0700)
CPU : OMAP4460-GP ES1.1
"""
>
> --
> cheers,
> -roger
[-- Attachment #2: ecc_error_config --]
[-- Type: text/plain, Size: 45844 bytes --]
#
# Automatically generated file; DO NOT EDIT.
# U-Boot 2023.04 Configuration
#
#
# Compiler: arm-linux-gnueabihf-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
#
CONFIG_CREATE_ARCH_SYMLINK=y
CONFIG_SYS_CACHE_SHIFT_6=y
CONFIG_SYS_CACHELINE_SIZE=64
CONFIG_LINKER_LIST_ALIGN=4
# CONFIG_ARC is not set
CONFIG_ARM=y
# CONFIG_M68K is not set
# CONFIG_MICROBLAZE is not set
# CONFIG_MIPS is not set
# CONFIG_NIOS2 is not set
# CONFIG_PPC is not set
# CONFIG_RISCV is not set
# CONFIG_SANDBOX is not set
# CONFIG_SH is not set
# CONFIG_X86 is not set
# CONFIG_XTENSA is not set
CONFIG_SYS_ARCH="arm"
CONFIG_SYS_CPU="armv7"
CONFIG_SYS_SOC="omap4"
CONFIG_SYS_VENDOR="ia"
CONFIG_SYS_BOARD="ia_decoder_card"
CONFIG_SYS_CONFIG_NAME="ia_decoder_card"
#
# Skipping low level initialization functions
#
# CONFIG_SKIP_LOWLEVEL_INIT is not set
# CONFIG_SPL_SKIP_LOWLEVEL_INIT is not set
# CONFIG_TPL_SKIP_LOWLEVEL_INIT is not set
# CONFIG_SKIP_LOWLEVEL_INIT_ONLY is not set
# CONFIG_SPL_SKIP_LOWLEVEL_INIT_ONLY is not set
# CONFIG_SYS_ICACHE_OFF is not set
# CONFIG_SPL_SYS_ICACHE_OFF is not set
# CONFIG_SYS_DCACHE_OFF is not set
# CONFIG_SPL_SYS_DCACHE_OFF is not set
#
# ARM architecture
#
CONFIG_COUNTER_FREQUENCY=0
# CONFIG_POSITION_INDEPENDENT is not set
CONFIG_SPL_SYS_NO_VECTOR_TABLE=y
# CONFIG_GIC_V3_ITS is not set
CONFIG_HAS_VBAR=y
CONFIG_HAS_THUMB2=y
CONFIG_GPIO_EXTRA_HEADER=y
CONFIG_ARM_ASM_UNIFIED=y
CONFIG_SYS_ARM_CACHE_CP15=y
CONFIG_SYS_ARM_MMU=y
# CONFIG_SYS_ARM_MPU is not set
CONFIG_CPU_V7A=y
CONFIG_SYS_ARM_ARCH=7
CONFIG_SYS_ARM_CACHE_WRITEBACK=y
# CONFIG_SYS_ARM_CACHE_WRITETHROUGH is not set
# CONFIG_SYS_ARM_CACHE_WRITEALLOC is not set
# CONFIG_ARCH_CPU_INIT is not set
# CONFIG_SYS_ARCH_TIMER is not set
# CONFIG_ARM_SMCCC is not set
CONFIG_SYS_THUMB_BUILD=y
CONFIG_SPL_SYS_THUMB_BUILD=y
CONFIG_SYS_L2_PL310=y
# CONFIG_SPL_SYS_L2_PL310 is not set
# CONFIG_SYS_L2CACHE_OFF is not set
# CONFIG_ENABLE_ARM_SOC_BOOT0_HOOK is not set
CONFIG_USE_ARCH_MEMCPY=y
CONFIG_SPL_USE_ARCH_MEMCPY=y
CONFIG_USE_ARCH_MEMSET=y
CONFIG_SPL_USE_ARCH_MEMSET=y
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_KIRKWOOD is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_ORION5X is not set
# CONFIG_TARGET_STV0991 is not set
# CONFIG_ARCH_BCM283X is not set
# CONFIG_ARCH_BCMSTB is not set
# CONFIG_ARCH_BCMBCA is not set
# CONFIG_TARGET_VEXPRESS_CA9X4 is not set
# CONFIG_TARGET_BCMCYGNUS is not set
# CONFIG_TARGET_BCMNS2 is not set
# CONFIG_TARGET_BCMNS3 is not set
# CONFIG_ARCH_EXYNOS is not set
# CONFIG_ARCH_S5PC1XX is not set
# CONFIG_ARCH_HIGHBANK is not set
# CONFIG_ARCH_INTEGRATOR is not set
# CONFIG_ARCH_IPQ40XX is not set
# CONFIG_ARCH_KEYSTONE is not set
# CONFIG_ARCH_K3 is not set
CONFIG_ARCH_OMAP2PLUS=y
# CONFIG_ARCH_MESON is not set
# CONFIG_ARCH_MEDIATEK is not set
# CONFIG_ARCH_LPC32XX is not set
# CONFIG_ARCH_IMX8 is not set
# CONFIG_ARCH_IMX8M is not set
# CONFIG_ARCH_IMX8ULP is not set
# CONFIG_ARCH_IMX9 is not set
# CONFIG_ARCH_IMXRT is not set
# CONFIG_ARCH_MX23 is not set
# CONFIG_ARCH_MX28 is not set
# CONFIG_ARCH_MX31 is not set
# CONFIG_ARCH_MX7ULP is not set
# CONFIG_ARCH_MX7 is not set
# CONFIG_ARCH_MX6 is not set
# CONFIG_ARCH_MX5 is not set
# CONFIG_ARCH_NEXELL is not set
# CONFIG_ARCH_NPCM is not set
# CONFIG_ARCH_APPLE is not set
# CONFIG_ARCH_OWL is not set
# CONFIG_ARCH_QEMU is not set
# CONFIG_ARCH_RMOBILE is not set
# CONFIG_ARCH_SNAPDRAGON is not set
# CONFIG_ARCH_SOCFPGA is not set
# CONFIG_ARCH_SUNXI is not set
# CONFIG_ARCH_U8500 is not set
# CONFIG_ARCH_VERSAL is not set
# CONFIG_ARCH_VERSAL_NET is not set
# CONFIG_ARCH_VF610 is not set
# CONFIG_ARCH_ZYNQ is not set
# CONFIG_ARCH_ZYNQMP_R5 is not set
# CONFIG_ARCH_ZYNQMP is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_VEXPRESS64 is not set
# CONFIG_TARGET_CORSTONE1000 is not set
# CONFIG_TARGET_TOTAL_COMPUTE is not set
# CONFIG_TARGET_LS2080A_EMU is not set
# CONFIG_TARGET_LS1088AQDS is not set
# CONFIG_TARGET_LS2080AQDS is not set
# CONFIG_TARGET_LS2080ARDB is not set
# CONFIG_TARGET_LS2081ARDB is not set
# CONFIG_TARGET_LX2160ARDB is not set
# CONFIG_TARGET_LX2160AQDS is not set
# CONFIG_TARGET_LX2162AQDS is not set
# CONFIG_TARGET_HIKEY is not set
# CONFIG_TARGET_HIKEY960 is not set
# CONFIG_TARGET_POPLAR is not set
# CONFIG_TARGET_LS1012AQDS is not set
# CONFIG_TARGET_LS1012ARDB is not set
# CONFIG_TARGET_LS1012A2G5RDB is not set
# CONFIG_TARGET_LS1012AFRWY is not set
# CONFIG_TARGET_LS1012AFRDM is not set
# CONFIG_TARGET_LS1028AQDS is not set
# CONFIG_TARGET_LS1028ARDB is not set
# CONFIG_TARGET_LS1088ARDB is not set
# CONFIG_TARGET_LS1021AQDS is not set
# CONFIG_TARGET_LS1021ATWR is not set
# CONFIG_TARGET_PG_WCOM_SELI8 is not set
# CONFIG_TARGET_PG_WCOM_EXPU1 is not set
# CONFIG_TARGET_LS1021ATSN is not set
# CONFIG_TARGET_LS1021AIOT is not set
# CONFIG_TARGET_LS1043AQDS is not set
# CONFIG_TARGET_LS1043ARDB is not set
# CONFIG_TARGET_LS1046AQDS is not set
# CONFIG_TARGET_LS1046ARDB is not set
# CONFIG_TARGET_LS1046AFRWY is not set
# CONFIG_TARGET_SL28 is not set
# CONFIG_TARGET_TEN64 is not set
# CONFIG_ARCH_UNIPHIER is not set
# CONFIG_ARCH_SYNQUACER is not set
# CONFIG_ARCH_STM32 is not set
# CONFIG_ARCH_STI is not set
# CONFIG_ARCH_STM32MP is not set
# CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_OCTEONTX is not set
# CONFIG_ARCH_OCTEONTX2 is not set
# CONFIG_TARGET_THUNDERX_88XX is not set
# CONFIG_ARCH_ASPEED is not set
# CONFIG_TARGET_DURIAN is not set
# CONFIG_TARGET_POMELO is not set
# CONFIG_TARGET_PRESIDIO_ASIC is not set
# CONFIG_TARGET_XENGUEST_ARM64 is not set
# CONFIG_ARCH_GXP is not set
# CONFIG_SUPPORT_PASSING_ATAGS is not set
# CONFIG_STATIC_MACH_TYPE is not set
# CONFIG_TI_SECURE_DEVICE is not set
CONFIG_TEXT_BASE=0x80800000
CONFIG_SYS_MALLOC_LEN=0x2000000
CONFIG_SYS_MALLOC_F_LEN=0x4000
CONFIG_SPL_GPIO=y
CONFIG_SPL_LIBCOMMON_SUPPORT=y
CONFIG_SPL_LIBGENERIC_SUPPORT=y
CONFIG_NR_DRAM_BANKS=4
CONFIG_SPL_LDSCRIPT="arch/arm/mach-omap2/u-boot-spl.lds"
CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x4030df00
CONFIG_ENV_SIZE=0x40000
# CONFIG_DM_GPIO is not set
CONFIG_DEFAULT_DEVICE_TREE="omap4-ia-decoder-card"
CONFIG_SPL_TEXT_BASE=0x40300000
# CONFIG_OMAP34XX is not set
CONFIG_OMAP44XX=y
# CONFIG_OMAP54XX is not set
# CONFIG_TI816X is not set
# CONFIG_AM43XX is not set
# CONFIG_AM33XX is not set
CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS=y
# CONFIG_SYS_DEFAULT_LPDDR2_TIMINGS is not set
CONFIG_SYS_PROMPT="=> "
CONFIG_TARGET_OMAP4_IA_DECODER=y
# CONFIG_TARGET_OMAP4_PCM959 is not set
# CONFIG_TARGET_OMAP4_PANDA is not set
# CONFIG_TARGET_OMAP4_SDP4430 is not set
CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ=0x8000
# CONFIG_DM_RESET is not set
CONFIG_SPL_MMC=y
CONFIG_SPL_SERIAL=y
# CONFIG_SPL_DRIVERS_MISC is not set
CONFIG_SPL_STACK_R_ADDR=0x82000000
CONFIG_SPL_SYS_MALLOC_F_LEN=0x4000
CONFIG_ERR_PTR_OFFSET=0x0
CONFIG_SPL_SIZE_LIMIT=0xc000
CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK=0
CONFIG_SPL=y
CONFIG_BOOTSTAGE_STASH_ADDR=0
CONFIG_IDENT_STRING=""
# CONFIG_CHIP_DIP_SCAN is not set
CONFIG_SPL_FS_FAT=y
CONFIG_SPL_LIBDISK_SUPPORT=y
# CONFIG_SPL_SPI is not set
# CONFIG_HAS_ARMV7_SECURE_BASE is not set
# CONFIG_ARMV7_LPAE is not set
# CONFIG_CMD_DEKBLOB is not set
# CONFIG_IMX_CAAM_DEK_ENCAP is not set
# CONFIG_IMX_OPTEE_DEK_ENCAP is not set
# CONFIG_IMX_SECO_DEK_ENCAP is not set
# CONFIG_CMD_HDMIDETECT is not set
# CONFIG_CMD_NANDBCB is not set
CONFIG_IMX_DCD_ADDR=0x00910000
# CONFIG_SPL_LOAD_IMX_CONTAINER is not set
CONFIG_IMX_CONTAINER_CFG=""
CONFIG_SYS_MEM_TOP_HIDE=0x0
CONFIG_SYS_LOAD_ADDR=0x82000000
#
# ARM debug
#
# CONFIG_DEBUG_LL is not set
CONFIG_SPL_PAYLOAD="u-boot.img"
CONFIG_BUILD_TARGET=""
CONFIG_FWU_NUM_BANKS=2
CONFIG_FWU_NUM_IMAGES_PER_BANK=2
# CONFIG_DEBUG_UART is not set
# CONFIG_AHCI is not set
# CONFIG_OF_BOARD_FIXUP is not set
#
# Functionality shared between NXP SoCs
#
# CONFIG_NXP_ESBC is not set
CONFIG_SYS_MEMTEST_START=0x0
CONFIG_SYS_MEMTEST_END=0x1000
#
# General setup
#
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=90400
CONFIG_CLANG_VERSION=0
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_CC_OPTIMIZE_FOR_SPEED is not set
# CONFIG_CC_OPTIMIZE_FOR_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not set
# CONFIG_SPL_OPTIMIZE_INLINING is not set
CONFIG_ARCH_SUPPORTS_LTO=y
# CONFIG_LTO is not set
CONFIG_CC_HAS_ASM_INLINE=y
# CONFIG_XEN is not set
CONFIG_ENV_VARS_UBOOT_CONFIG=y
# CONFIG_SYS_BOOT_GET_CMDLINE is not set
# CONFIG_SYS_BOOT_GET_KBD is not set
CONFIG_SYS_MALLOC_F=y
# CONFIG_VALGRIND is not set
CONFIG_EXPERT=y
CONFIG_SYS_MALLOC_CLEAR_ON_INIT=y
# CONFIG_SYS_MALLOC_DEFAULT_TO_INIT is not set
# CONFIG_TOOLS_DEBUG is not set
# CONFIG_PHYS_64BIT is not set
CONFIG_SPL_IMAGE="spl/u-boot-spl.bin"
# CONFIG_REMAKE_ELF is not set
# CONFIG_HAS_BOARD_SIZE_LIMIT is not set
# CONFIG_SYS_CUSTOM_LDSCRIPT is not set
CONFIG_PLATFORM_ELFENTRY="_start"
CONFIG_STACK_SIZE=0x1000000
CONFIG_SYS_SRAM_BASE=0x0
CONFIG_SYS_SRAM_SIZE=0x0
CONFIG_SYS_MONITOR_LEN=0
# CONFIG_MP is not set
# CONFIG_EXAMPLES is not set
#
# API
#
# CONFIG_API is not set
CONFIG_STANDALONE_LOAD_ADDR=0x80300000
#
# Boot options
#
#
# Boot images
#
# CONFIG_ANDROID_BOOT_IMAGE is not set
CONFIG_FIT=y
# CONFIG_TIMESTAMP is not set
CONFIG_FIT_EXTERNAL_OFFSET=0x0
CONFIG_FIT_FULL_CHECK=y
# CONFIG_FIT_SIGNATURE is not set
# CONFIG_FIT_CIPHER is not set
# CONFIG_FIT_VERBOSE is not set
# CONFIG_FIT_BEST_MATCH is not set
CONFIG_FIT_PRINT=y
# CONFIG_SPL_FIT is not set
# CONFIG_SPL_LOAD_FIT is not set
# CONFIG_SPL_LOAD_FIT_FULL is not set
CONFIG_PXE_UTILS=y
CONFIG_BOOT_DEFAULTS=y
CONFIG_BOOTSTD=y
CONFIG_BOOTSTD_FULL=y
# CONFIG_BOOTSTD_DEFAULTS is not set
# CONFIG_BOOTSTD_BOOTCOMMAND is not set
CONFIG_BOOTMETH_GLOBAL=y
CONFIG_BOOTMETH_DISTRO=y
CONFIG_BOOTMETH_DISTRO_PXE=y
CONFIG_BOOTMETH_VBE=y
# CONFIG_SPL_BOOTMETH_VBE is not set
CONFIG_BOOTMETH_VBE_SIMPLE=y
CONFIG_BOOTMETH_VBE_SIMPLE_OS=y
# CONFIG_SPL_BOOTMETH_VBE_SIMPLE is not set
CONFIG_BOOTMETH_SCRIPT=y
CONFIG_LEGACY_IMAGE_FORMAT=y
CONFIG_SUPPORT_RAW_INITRD=y
# CONFIG_OF_BOARD_SETUP is not set
# CONFIG_OF_SYSTEM_SETUP is not set
# CONFIG_OF_STDOUT_VIA_ALIAS is not set
CONFIG_HAVE_TEXT_BASE=y
CONFIG_DYNAMIC_SYS_CLK_FREQ=y
CONFIG_ARCH_FIXUP_FDT_MEMORY=y
# CONFIG_CHROMEOS is not set
# CONFIG_CHROMEOS_VBOOT is not set
# CONFIG_RAMBOOT_PBL is not set
CONFIG_SYS_BOOT_RAMDISK_HIGH=y
CONFIG_DISTRO_DEFAULTS=y
#
# Boot timing
#
# CONFIG_BOOTSTAGE is not set
CONFIG_BOOTSTAGE_STASH_SIZE=0x1000
# CONFIG_SHOW_BOOT_PROGRESS is not set
# CONFIG_SPL_SHOW_BOOT_PROGRESS is not set
#
# Boot media
#
# CONFIG_NAND_BOOT is not set
# CONFIG_ONENAND_BOOT is not set
# CONFIG_QSPI_BOOT is not set
# CONFIG_SATA_BOOT is not set
# CONFIG_SD_BOOT is not set
# CONFIG_SD_BOOT_QSPI is not set
# CONFIG_SPI_BOOT is not set
#
# Autoboot options
#
CONFIG_AUTOBOOT=y
CONFIG_BOOTDELAY=2
# CONFIG_AUTOBOOT_KEYED is not set
# CONFIG_AUTOBOOT_USE_MENUKEY is not set
# CONFIG_BOOT_RETRY is not set
#
# Image support
#
# CONFIG_IMAGE_PRE_LOAD is not set
# CONFIG_USE_BOOTARGS is not set
CONFIG_BOOTARGS_SUBST=y
# CONFIG_USE_BOOTCOMMAND is not set
# CONFIG_USE_PREBOOT is not set
CONFIG_DEFAULT_FDT_FILE="omap4-ia-decoder-card.dtb"
# CONFIG_SAVE_PREV_BL_FDT_ADDR is not set
# CONFIG_SAVE_PREV_BL_INITRAMFS_START_ADDR is not set
#
# Console
#
CONFIG_MENU=y
# CONFIG_CONSOLE_RECORD is not set
# CONFIG_DISABLE_CONSOLE is not set
CONFIG_LOGLEVEL=7
CONFIG_SPL_LOGLEVEL=7
# CONFIG_SILENT_CONSOLE is not set
# CONFIG_SPL_SILENT_CONSOLE is not set
# CONFIG_TPL_SILENT_CONSOLE is not set
# CONFIG_PRE_CONSOLE_BUFFER is not set
CONFIG_CONSOLE_FLUSH_SUPPORT=y
# CONFIG_CONSOLE_MUX is not set
CONFIG_SYS_CONSOLE_IS_IN_ENV=y
# CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE is not set
# CONFIG_SYS_CONSOLE_ENV_OVERWRITE is not set
CONFIG_SYS_CONSOLE_INFO_QUIET=y
# CONFIG_SYS_STDIO_DEREGISTER is not set
# CONFIG_SPL_SYS_STDIO_DEREGISTER is not set
# CONFIG_SYS_DEVICE_NULLDEV is not set
#
# Logging
#
# CONFIG_LOG is not set
#
# Init options
#
# CONFIG_BOARD_TYPES is not set
CONFIG_DISPLAY_CPUINFO=y
CONFIG_DISPLAY_BOARDINFO=y
# CONFIG_DISPLAY_BOARDINFO_LATE is not set
#
# Start-up hooks
#
# CONFIG_CYCLIC is not set
CONFIG_EVENT=y
CONFIG_EVENT_DYNAMIC=y
# CONFIG_EVENT_DEBUG is not set
# CONFIG_ARCH_EARLY_INIT_R is not set
# CONFIG_ARCH_MISC_INIT is not set
# CONFIG_BOARD_EARLY_INIT_F is not set
# CONFIG_BOARD_EARLY_INIT_R is not set
# CONFIG_BOARD_POSTCLK_INIT is not set
# CONFIG_BOARD_LATE_INIT is not set
# CONFIG_CLOCKS is not set
# CONFIG_HWCONFIG is not set
# CONFIG_LAST_STAGE_INIT is not set
CONFIG_MISC_INIT_R=y
# CONFIG_SYS_MALLOC_BOOTPARAMS is not set
# CONFIG_ID_EEPROM is not set
# CONFIG_RESET_PHY_R is not set
#
# Security support
#
CONFIG_HASH=y
# CONFIG_STACKPROTECTOR is not set
# CONFIG_BOARD_RNG_SEED is not set
#
# Update support
#
# CONFIG_UPDATE_TFTP is not set
# CONFIG_ANDROID_AB is not set
#
# Blob list
#
# CONFIG_BLOBLIST is not set
CONFIG_SUPPORT_SPL=y
#
# SPL configuration options
#
CONFIG_SPL_FRAMEWORK=y
# CONFIG_SPL_FRAMEWORK_BOARD_INIT_F is not set
# CONFIG_SPL_SIZE_LIMIT_SUBTRACT_GD is not set
# CONFIG_SPL_SIZE_LIMIT_SUBTRACT_MALLOC is not set
CONFIG_SPL_MAX_SIZE=0xbc00
CONFIG_SPL_PAD_TO=0x0
CONFIG_SPL_HAS_BSS_LINKER_SECTION=y
CONFIG_SPL_BSS_START_ADDR=0x80a00000
# CONFIG_SPL_NO_BSS_LIMIT is not set
CONFIG_SPL_BSS_LIMIT=y
# CONFIG_SPL_FOOTPRINT_LIMIT is not set
CONFIG_SPL_BSS_MAX_SIZE=0x80000
CONFIG_SPL_SYS_STACK_F_CHECK_BYTE=0xaa
# CONFIG_SPL_SHOW_ERRORS is not set
CONFIG_SPL_BOARD_INIT=y
# CONFIG_SPL_BOOTROM_SUPPORT is not set
# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
CONFIG_SPL_LEGACY_IMAGE_FORMAT=y
# CONFIG_SPL_LEGACY_IMAGE_CRC_CHECK is not set
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_SHARES_INIT_SP_ADDR=y
CONFIG_SPL_STACK_R=y
CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN=0x100000
CONFIG_SPL_SEPARATE_BSS=y
# CONFIG_SYS_SPL_MALLOC is not set
CONFIG_SPL_BANNER_PRINT=y
# CONFIG_SPL_EARLY_BSS is not set
CONFIG_SPL_DISPLAY_PRINT=y
# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION is not set
CONFIG_SPL_CRC32=y
# CONFIG_SPL_MD5 is not set
# CONFIG_SPL_CACHE is not set
# CONFIG_SPL_CPU is not set
# CONFIG_SPL_CRYPTO is not set
# CONFIG_SPL_DMA is not set
# CONFIG_SPL_ENV_SUPPORT is not set
# CONFIG_SPL_FS_EXT4 is not set
# CONFIG_SPL_FS_SQUASHFS is not set
CONFIG_SPL_FS_LOAD_PAYLOAD_NAME="u-boot.img"
# CONFIG_SPL_FAT_WRITE is not set
# CONFIG_SPL_FPGA is not set
# CONFIG_SPL_I2C is not set
# CONFIG_SPL_MEMORY is not set
CONFIG_SYS_MMCSD_FS_BOOT_PARTITION=1
# CONFIG_SPL_MMC_TINY is not set
# CONFIG_SPL_MMC_WRITE is not set
# CONFIG_SPL_MPC8XXX_INIT_DDR is not set
CONFIG_SPL_MTD_SUPPORT=y
# CONFIG_SPL_MUSB_NEW is not set
CONFIG_SPL_NAND_SUPPORT=y
# CONFIG_SPL_NAND_RAW_ONLY is not set
CONFIG_SPL_NAND_DRIVERS=y
CONFIG_SPL_NAND_ECC=y
# CONFIG_SPL_NAND_SOFTECC is not set
# CONFIG_SPL_NAND_SIMPLE is not set
CONFIG_SPL_NAND_BASE=y
CONFIG_SPL_NAND_IDENT=y
# CONFIG_SPL_UBI is not set
# CONFIG_SPL_NET is not set
# CONFIG_SPL_NOR_SUPPORT is not set
# CONFIG_SPL_XIP_SUPPORT is not set
# CONFIG_SPL_ONENAND_SUPPORT is not set
# CONFIG_SPL_OS_BOOT is not set
# CONFIG_SPL_PCI is not set
# CONFIG_SPL_PCH is not set
# CONFIG_SPL_POST_MEM_SUPPORT is not set
CONFIG_SPL_POWER=y
# CONFIG_SPL_POWER_DOMAIN is not set
# CONFIG_SPL_RAM_SUPPORT is not set
# CONFIG_SPL_REMOTEPROC is not set
# CONFIG_SPL_RTC is not set
# CONFIG_SPL_SATA is not set
# CONFIG_SPL_THERMAL is not set
# CONFIG_SPL_USB_HOST is not set
# CONFIG_SPL_USB_GADGET is not set
# CONFIG_SPL_WATCHDOG is not set
# CONFIG_SPL_YMODEM_SUPPORT is not set
CONFIG_SPL_TARGET=""
# CONFIG_VPL is not set
# CONFIG_FDT_SIMPLEFB is not set
#
# Command line interface
#
CONFIG_CMDLINE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMDLINE_EDITING=y
# CONFIG_CMDLINE_PS_SUPPORT is not set
CONFIG_AUTO_COMPLETE=y
CONFIG_SYS_LONGHELP=y
CONFIG_SYS_PROMPT_HUSH_PS2="> "
CONFIG_SYS_MAXARGS=16
CONFIG_SYS_CBSIZE=1024
CONFIG_SYS_PBSIZE=1044
CONFIG_SYS_XTRACE=y
#
# Commands
#
#
# Info commands
#
CONFIG_CMD_BDI=y
# CONFIG_CMD_CONFIG is not set
CONFIG_CMD_CONSOLE=y
# CONFIG_CMD_LICENSE is not set
# CONFIG_CMD_PMC is not set
#
# Boot commands
#
CONFIG_CMD_BOOTD=y
CONFIG_CMD_BOOTM=y
CONFIG_CMD_BOOTDEV=y
CONFIG_CMD_BOOTFLOW=y
CONFIG_CMD_BOOTFLOW_FULL=y
CONFIG_CMD_BOOTMETH=y
CONFIG_CMD_BOOTZ=y
CONFIG_BOOTM_LINUX=y
# CONFIG_BOOTM_NETBSD is not set
# CONFIG_BOOTM_OPENRTOS is not set
# CONFIG_BOOTM_OSE is not set
# CONFIG_BOOTM_PLAN9 is not set
# CONFIG_BOOTM_RTEMS is not set
# CONFIG_CMD_SEAMA is not set
# CONFIG_CMD_VBE is not set
# CONFIG_BOOTM_VXWORKS is not set
CONFIG_SYS_BOOTM_LEN=0x800000
# CONFIG_CMD_BOOTEFI is not set
# CONFIG_CMD_BOOTMENU is not set
# CONFIG_CMD_ADTIMG is not set
CONFIG_CMD_ELF=y
CONFIG_CMD_FDT=y
CONFIG_CMD_GO=y
CONFIG_CMD_RUN=y
CONFIG_CMD_IMI=y
# CONFIG_CMD_IMLS is not set
CONFIG_CMD_XIMG=y
# CONFIG_CMD_XXD is not set
CONFIG_CMD_SPL=y
CONFIG_CMD_SPL_NAND_OFS=0
CONFIG_CMD_SPL_WRITE_SIZE=0x2000
# CONFIG_CMD_THOR_DOWNLOAD is not set
# CONFIG_CMD_ZBOOT is not set
#
# Environment commands
#
CONFIG_CMD_ASKENV=y
CONFIG_CMD_EXPORTENV=y
CONFIG_CMD_IMPORTENV=y
CONFIG_CMD_EDITENV=y
# CONFIG_CMD_GREPENV is not set
CONFIG_CMD_SAVEENV=y
CONFIG_CMD_ERASEENV=y
CONFIG_CMD_ENV_EXISTS=y
# CONFIG_CMD_ENV_CALLBACK is not set
# CONFIG_CMD_ENV_FLAGS is not set
# CONFIG_CMD_NVEDIT_EFI is not set
# CONFIG_CMD_NVEDIT_INDIRECT is not set
# CONFIG_CMD_NVEDIT_INFO is not set
# CONFIG_CMD_NVEDIT_LOAD is not set
# CONFIG_CMD_NVEDIT_SELECT is not set
#
# Memory commands
#
# CONFIG_CMD_BINOP is not set
# CONFIG_CMD_BLOBLIST is not set
CONFIG_CMD_CRC32=y
# CONFIG_CRC32_VERIFY is not set
# CONFIG_CMD_EEPROM is not set
CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=0
# CONFIG_LOOPW is not set
# CONFIG_CMD_MD5SUM is not set
CONFIG_CMD_MEMINFO=y
CONFIG_CMD_MEMORY=y
# CONFIG_CMD_MEM_SEARCH is not set
# CONFIG_CMD_MX_CYCLIC is not set
CONFIG_CMD_RANDOM=y
CONFIG_CMD_MEMTEST=y
# CONFIG_SYS_ALT_MEMTEST is not set
# CONFIG_CMD_SHA1SUM is not set
# CONFIG_CMD_STRINGS is not set
#
# Compression commands
#
# CONFIG_CMD_LZMADEC is not set
# CONFIG_CMD_UNLZ4 is not set
# CONFIG_CMD_UNZIP is not set
# CONFIG_CMD_ZIP is not set
#
# Device access commands
#
# CONFIG_CMD_ARMFLASH is not set
# CONFIG_CMD_BCB is not set
# CONFIG_CMD_BIND is not set
# CONFIG_CMD_CLK is not set
# CONFIG_CMD_DEMO is not set
# CONFIG_CMD_DFU is not set
# CONFIG_CMD_DM is not set
CONFIG_CMD_FLASH=y
# CONFIG_CMD_FPGAD is not set
# CONFIG_CMD_FUSE is not set
CONFIG_CMD_GPIO=y
# CONFIG_CMD_GPIO_READ is not set
# CONFIG_CMD_GPT is not set
# CONFIG_RANDOM_UUID is not set
# CONFIG_CMD_IDE is not set
# CONFIG_CMD_IO is not set
# CONFIG_CMD_IOTRACE is not set
CONFIG_CMD_I2C=y
CONFIG_CMD_LOADB=y
# CONFIG_CMD_LOADM is not set
CONFIG_CMD_LOADS=y
# CONFIG_LOADS_ECHO is not set
# CONFIG_CMD_SAVES is not set
# CONFIG_SYS_LOADS_BAUD_CHANGE is not set
CONFIG_CMD_LOADXY_TIMEOUT=90
# CONFIG_CMD_LSBLK is not set
# CONFIG_CMD_MBR is not set
CONFIG_CMD_MMC=y
# CONFIG_CMD_BKOPS_ENABLE is not set
# CONFIG_CMD_MMC_SWRITE is not set
# CONFIG_CMD_CLONE is not set
CONFIG_CMD_MTD=y
CONFIG_CMD_NAND=y
# CONFIG_CMD_NAND_TRIMFFS is not set
# CONFIG_CMD_NAND_LOCK_UNLOCK is not set
# CONFIG_CMD_NAND_TORTURE is not set
# CONFIG_CMD_ONENAND is not set
# CONFIG_CMD_OSD is not set
CONFIG_CMD_PART=y
# CONFIG_CMD_PCI is not set
# CONFIG_CMD_POWEROFF is not set
# CONFIG_CMD_READ is not set
# CONFIG_CMD_SATA is not set
# CONFIG_CMD_SCSI is not set
# CONFIG_CMD_SDRAM is not set
# CONFIG_CMD_TSI148 is not set
# CONFIG_CMD_UNIVERSE is not set
CONFIG_CMD_USB=y
# CONFIG_CMD_USB_SDP is not set
#
# Shell scripting commands
#
# CONFIG_CMD_CAT is not set
CONFIG_CMD_ECHO=y
CONFIG_CMD_ITEST=y
CONFIG_CMD_SOURCE=y
CONFIG_CMD_SETEXPR=y
# CONFIG_CMD_SETEXPR_FMT is not set
#
# Android support commands
#
CONFIG_CMD_NET=y
CONFIG_CMD_BOOTP=y
CONFIG_CMD_DHCP=y
# CONFIG_BOOTP_MAY_FAIL is not set
CONFIG_BOOTP_BOOTPATH=y
# CONFIG_BOOTP_VENDOREX is not set
# CONFIG_BOOTP_BOOTFILESIZE is not set
CONFIG_BOOTP_DNS=y
# CONFIG_BOOTP_DNS2 is not set
CONFIG_BOOTP_GATEWAY=y
CONFIG_BOOTP_HOSTNAME=y
# CONFIG_BOOTP_PREFER_SERVERIP is not set
CONFIG_BOOTP_SUBNETMASK=y
# CONFIG_BOOTP_NISDOMAIN is not set
# CONFIG_BOOTP_NTPSERVER is not set
# CONFIG_CMD_PCAP is not set
CONFIG_BOOTP_PXE=y
CONFIG_BOOTP_PXE_CLIENTARCH=0x15
CONFIG_BOOTP_VCI_STRING="U-Boot.armv7"
CONFIG_CMD_TFTPBOOT=y
# CONFIG_CMD_TFTPPUT is not set
# CONFIG_CMD_TFTPSRV is not set
CONFIG_NET_TFTP_VARS=y
# CONFIG_CMD_RARP is not set
CONFIG_CMD_NFS=y
CONFIG_NFS_TIMEOUT=2000
# CONFIG_SYS_DISABLE_AUTOLOAD is not set
# CONFIG_CMD_WGET is not set
CONFIG_CMD_MII=y
CONFIG_CMD_MDIO=y
CONFIG_CMD_PING=y
# CONFIG_CMD_CDP is not set
# CONFIG_CMD_SNTP is not set
# CONFIG_CMD_DNS is not set
# CONFIG_CMD_LINK_LOCAL is not set
# CONFIG_CMD_ETHSW is not set
CONFIG_CMD_PXE=y
# CONFIG_CMD_WOL is not set
#
# Misc commands
#
# CONFIG_CMD_BSP is not set
CONFIG_CMD_BLOCK_CACHE=y
# CONFIG_CMD_CACHE is not set
# CONFIG_CMD_CONITRACE is not set
# CONFIG_CMD_CLS is not set
# CONFIG_CMD_EFIDEBUG is not set
CONFIG_CMD_EFICONFIG=y
# CONFIG_CMD_EXCEPTION is not set
# CONFIG_CMD_INI is not set
# CONFIG_CMD_DATE is not set
# CONFIG_CMD_TIME is not set
# CONFIG_CMD_GETTIME is not set
# CONFIG_CMD_PAUSE is not set
CONFIG_CMD_SLEEP=y
# CONFIG_CMD_TIMER is not set
CONFIG_CMD_SYSBOOT=y
# CONFIG_CMD_QFW is not set
# CONFIG_CMD_PSTORE is not set
# CONFIG_CMD_TERMINAL is not set
# CONFIG_CMD_UUID is not set
#
# TI specific command line interface
#
CONFIG_CMD_DDR3=y
#
# Power commands
#
#
# Security commands
#
# CONFIG_CMD_AES is not set
# CONFIG_CMD_BLOB is not set
# CONFIG_CMD_HASH is not set
#
# Firmware commands
#
#
# Filesystem commands
#
# CONFIG_CMD_BTRFS is not set
# CONFIG_CMD_EROFS is not set
CONFIG_CMD_EXT2=y
CONFIG_CMD_EXT4=y
CONFIG_CMD_EXT4_WRITE=y
CONFIG_CMD_FAT=y
# CONFIG_CMD_SQUASHFS is not set
CONFIG_CMD_FS_GENERIC=y
# CONFIG_CMD_FS_UUID is not set
# CONFIG_CMD_JFFS2 is not set
CONFIG_CMD_MTDPARTS=y
CONFIG_CMD_MTDPARTS_SPREAD=y
CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES=y
CONFIG_MTDIDS_DEFAULT="nand0=nandflash"
CONFIG_MTDPARTS_DEFAULT="mtdparts=nandflash:0x20000(xload_raw),0x180000(u-boot),0x180000(u-boot-2),0x1fce0000(main)"
# CONFIG_CMD_REISER is not set
# CONFIG_CMD_ZFS is not set
#
# Debug commands
#
# CONFIG_CMD_DIAG is not set
# CONFIG_CMD_EVENT is not set
# CONFIG_CMD_LOG is not set
CONFIG_CMD_UBI=y
CONFIG_CMD_UBI_RENAME=y
CONFIG_CMD_UBIFS=y
# CONFIG_MMC_SPEED_MODE_SET is not set
#
# Partition Types
#
CONFIG_PARTITIONS=y
CONFIG_SPL_PARTITIONS=y
# CONFIG_MAC_PARTITION is not set
# CONFIG_SPL_MAC_PARTITION is not set
CONFIG_DOS_PARTITION=y
CONFIG_SPL_DOS_PARTITION=y
CONFIG_ISO_PARTITION=y
# CONFIG_SPL_ISO_PARTITION is not set
# CONFIG_AMIGA_PARTITION is not set
# CONFIG_SPL_AMIGA_PARTITION is not set
CONFIG_EFI_PARTITION=y
CONFIG_EFI_PARTITION_ENTRIES_NUMBERS=128
CONFIG_EFI_PARTITION_ENTRIES_OFF=0
CONFIG_SPL_EFI_PARTITION=y
CONFIG_PARTITION_UUIDS=y
CONFIG_SPL_PARTITION_UUIDS=y
# CONFIG_PARTITION_TYPE_GUID is not set
CONFIG_SUPPORT_OF_CONTROL=y
#
# Device Tree Control
#
CONFIG_OF_CONTROL=y
CONFIG_OF_REAL=y
# CONFIG_SPL_OF_CONTROL is not set
# CONFIG_OF_LIVE is not set
CONFIG_OF_SEPARATE=y
# CONFIG_OF_EMBED is not set
# CONFIG_OF_BOARD is not set
# CONFIG_OF_OMIT_DTB is not set
CONFIG_DEVICE_TREE_INCLUDES=""
CONFIG_OF_LIST="omap4-ia-decoder-card"
# CONFIG_MULTI_DTB_FIT is not set
# CONFIG_OF_DTB_PROPS_REMOVE is not set
#
# Environment
#
CONFIG_ENV_SUPPORT=y
CONFIG_ENV_SOURCE_FILE=""
CONFIG_SAVEENV=y
CONFIG_ENV_OVERWRITE=y
CONFIG_ENV_MIN_ENTRIES=64
CONFIG_ENV_MAX_ENTRIES=512
# CONFIG_ENV_IS_NOWHERE is not set
# CONFIG_ENV_IS_IN_EEPROM is not set
# CONFIG_ENV_IS_IN_FAT is not set
# CONFIG_ENV_IS_IN_EXT4 is not set
# CONFIG_ENV_IS_IN_FLASH is not set
# CONFIG_ENV_IS_IN_MMC is not set
# CONFIG_ENV_IS_IN_NAND is not set
# CONFIG_ENV_IS_IN_NVRAM is not set
# CONFIG_ENV_IS_IN_ONENAND is not set
# CONFIG_ENV_IS_IN_REMOTE is not set
CONFIG_ENV_IS_IN_UBI=y
CONFIG_SYS_REDUNDAND_ENVIRONMENT=y
CONFIG_ENV_UBI_PART="main"
CONFIG_ENV_UBI_VOLUME="env1"
CONFIG_ENV_UBI_VOLUME_REDUND="env2"
CONFIG_ENV_UBI_VID_OFFSET=0
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
# CONFIG_USE_DEFAULT_ENV_FILE is not set
CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y
# CONFIG_ENV_IMPORT_FDT is not set
# CONFIG_ENV_APPEND is not set
# CONFIG_ENV_WRITEABLE_LIST is not set
# CONFIG_ENV_ACCESS_IGNORE_FORCE is not set
CONFIG_USE_BOOTFILE=y
CONFIG_BOOTFILE="boot/zImage"
# CONFIG_USE_ETHPRIME is not set
# CONFIG_USE_HOSTNAME is not set
CONFIG_VERSION_VARIABLE=y
CONFIG_NET=y
CONFIG_ARP_TIMEOUT=5000
CONFIG_NET_RETRY_COUNT=5
# CONFIG_PROT_UDP is not set
CONFIG_BOOTDEV_ETH=y
# CONFIG_BOOTP_SEND_HOSTNAME is not set
# CONFIG_NET_RANDOM_ETHADDR is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_IP_DEFRAG is not set
# CONFIG_SYS_FAULT_ECHO_LINK_DOWN is not set
CONFIG_TFTP_BLOCKSIZE=1468
# CONFIG_TFTP_PORT is not set
CONFIG_TFTP_WINDOWSIZE=1
CONFIG_TFTP_TSIZE=y
# CONFIG_SERVERIP_FROM_PROXYDHCP is not set
CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS=100
# CONFIG_KEEP_SERVERADDR is not set
# CONFIG_UDP_CHECKSUM is not set
# CONFIG_BOOTP_SERVERIP is not set
CONFIG_BOOTP_MAX_ROOT_PATH_LEN=64
# CONFIG_USE_GATEWAYIP is not set
# CONFIG_USE_IPADDR is not set
# CONFIG_USE_NETMASK is not set
# CONFIG_USE_ROOTPATH is not set
# CONFIG_USE_SERVERIP is not set
# CONFIG_PROT_TCP is not set
# CONFIG_IPV6 is not set
CONFIG_SYS_RX_ETH_BUFFER=4
#
# Device Drivers
#
#
# Generic Driver Options
#
CONFIG_DM=y
# CONFIG_SPL_DM is not set
CONFIG_DM_WARN=y
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_STATS is not set
CONFIG_DM_DEVICE_REMOVE=y
CONFIG_DM_EVENT=y
CONFIG_DM_STDIO=y
CONFIG_DM_SEQ_ALIAS=y
# CONFIG_DM_DMA is not set
# CONFIG_REGMAP is not set
# CONFIG_DEVRES is not set
CONFIG_SIMPLE_BUS=y
# CONFIG_SIMPLE_BUS_CORRECT_RANGE is not set
CONFIG_OF_TRANSLATE=y
# CONFIG_TRANSLATION_OFFSET is not set
CONFIG_DM_DEV_READ_INLINE=y
# CONFIG_OFNODE_MULTI_TREE is not set
# CONFIG_ACPIGEN is not set
# CONFIG_BOUNCE_BUFFER is not set
# CONFIG_ADC is not set
# CONFIG_ADC_EXYNOS is not set
# CONFIG_ADC_SANDBOX is not set
# CONFIG_SARADC_MESON is not set
# CONFIG_SARADC_ROCKCHIP is not set
# CONFIG_SATA is not set
# CONFIG_SCSI_AHCI is not set
#
# SATA/SCSI device support
#
# CONFIG_AXI is not set
#
# Bus devices
#
CONFIG_TI_SYSC=y
CONFIG_BLK=y
CONFIG_SPL_LEGACY_BLOCK=y
CONFIG_BLOCK_CACHE=y
# CONFIG_EFI_MEDIA is not set
# CONFIG_IDE is not set
# CONFIG_LBA48 is not set
# CONFIG_SYS_64BIT_LBA is not set
# CONFIG_BOOTCOUNT_LIMIT is not set
#
# Button Support
#
# CONFIG_BUTTON is not set
#
# Cache Controller drivers
#
# CONFIG_CACHE is not set
# CONFIG_L2X0_CACHE is not set
# CONFIG_V5L2_CACHE is not set
# CONFIG_NCORE_CACHE is not set
# CONFIG_SIFIVE_CCACHE is not set
#
# Clock
#
# CONFIG_CLK is not set
# CONFIG_SPL_CLK_CCF is not set
# CONFIG_CLK_CCF is not set
# CONFIG_CLK_RCAR_CPG_LIB is not set
# CONFIG_CPU is not set
#
# Hardware crypto devices
#
# CONFIG_DM_HASH is not set
# CONFIG_FSL_CAAM is not set
# CONFIG_SYS_FSL_SEC_BE is not set
# CONFIG_SYS_FSL_SEC_LE is not set
# CONFIG_NPCM_AES is not set
# CONFIG_NPCM_SHA is not set
# CONFIG_DDR_SPD is not set
CONFIG_SYS_SPD_BUS_NUM=0
# CONFIG_IMX_SNPS_DDR_PHY is not set
#
# Demo for driver model
#
# CONFIG_DM_DEMO is not set
#
# DFU support
#
#
# DMA Support
#
# CONFIG_DMA is not set
# CONFIG_DMA_LPC32XX is not set
# CONFIG_TI_EDMA3 is not set
# CONFIG_DMA_LEGACY is not set
#
# Fastboot support
#
# CONFIG_USB_FUNCTION_FASTBOOT is not set
# CONFIG_UDP_FUNCTION_FASTBOOT is not set
# CONFIG_FIRMWARE is not set
# CONFIG_ZYNQMP_FIRMWARE is not set
# CONFIG_DM_FUZZING_ENGINE is not set
#
# FPGA support
#
# CONFIG_FPGA_ALTERA is not set
# CONFIG_FPGA_SOCFPGA is not set
# CONFIG_FPGA_LATTICE is not set
# CONFIG_FPGA_XILINX is not set
# CONFIG_DM_FPGA is not set
# CONFIG_FWU_MDATA is not set
CONFIG_GPIO=y
# CONFIG_SPL_GPIO_HOG is not set
# CONFIG_AT91_GPIO is not set
# CONFIG_ASPEED_GPIO is not set
# CONFIG_DA8XX_GPIO is not set
# CONFIG_INTEL_BROADWELL_GPIO is not set
# CONFIG_IMX_RGPIO2P is not set
# CONFIG_IPROC_GPIO is not set
# CONFIG_KIRKWOOD_GPIO is not set
# CONFIG_LPC32XX_GPIO is not set
# CONFIG_MCP230XX_GPIO is not set
# CONFIG_MXC_GPIO is not set
# CONFIG_MXS_GPIO is not set
CONFIG_OMAP_GPIO=y
# CONFIG_CMD_PCA953X is not set
# CONFIG_TCA642X is not set
# CONFIG_VYBRID_GPIO is not set
# CONFIG_PCA953X is not set
#
# Hardware Spinlock Support
#
# CONFIG_DM_HWSPINLOCK is not set
CONFIG_I2C=y
CONFIG_DM_I2C=y
CONFIG_SPL_SYS_I2C_LEGACY=y
# CONFIG_I2C_SET_DEFAULT_BUS_NUM is not set
# CONFIG_SYS_I2C_IPROC is not set
# CONFIG_SYS_I2C_FSL is not set
# CONFIG_SYS_I2C_CADENCE is not set
# CONFIG_SYS_I2C_DW is not set
# CONFIG_SYS_I2C_INTEL is not set
# CONFIG_SYS_I2C_IMX_LPI2C is not set
# CONFIG_SYS_I2C_MTK is not set
# CONFIG_SYS_I2C_MICROCHIP is not set
# CONFIG_SYS_I2C_MXC is not set
# CONFIG_SYS_I2C_NEXELL is not set
# CONFIG_SYS_I2C_NPCM is not set
# CONFIG_SYS_I2C_OCORES is not set
CONFIG_SYS_I2C_OMAP24XX=y
# CONFIG_SYS_I2C_ROCKCHIP is not set
# CONFIG_SYS_I2C_SOFT is not set
# CONFIG_SYS_I2C_MV is not set
# CONFIG_SYS_I2C_MVTWSI is not set
CONFIG_SYS_I2C_SLAVE=0xfe
CONFIG_SYS_I2C_SPEED=100000
CONFIG_SYS_I2C_BUS_MAX=4
# CONFIG_SYS_I2C_XILINX_XIIC is not set
# CONFIG_SYS_I2C_IHS is not set
# CONFIG_I2C_MUX is not set
CONFIG_INPUT=y
# CONFIG_DM_KEYBOARD is not set
# CONFIG_CROS_EC_KEYB is not set
# CONFIG_TEGRA_KEYBOARD is not set
# CONFIG_TWL4030_INPUT is not set
#
# IOMMU device drivers
#
# CONFIG_IOMMU is not set
#
# LED Support
#
# CONFIG_LED is not set
# CONFIG_LED_STATUS is not set
#
# Mailbox Controller Support
#
# CONFIG_DM_MAILBOX is not set
#
# Memory Controller drivers
#
# CONFIG_MEMORY is not set
# CONFIG_ATMEL_EBI is not set
# CONFIG_MFD_ATMEL_SMC is not set
#
# Multifunction device drivers
#
# CONFIG_MISC is not set
# CONFIG_NVMEM is not set
# CONFIG_SPL_NVMEM is not set
# CONFIG_SMSC_LPC47M is not set
# CONFIG_SMSC_SIO1007 is not set
# CONFIG_CROS_EC is not set
# CONFIG_DS4510 is not set
# CONFIG_FSL_SEC_MON is not set
# CONFIG_IRQ is not set
# CONFIG_NUVOTON_NCT6102D is not set
# CONFIG_PWRSEQ is not set
# CONFIG_PCA9551_LED is not set
# CONFIG_TEST_DRV is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_TWL4030_LED is not set
# CONFIG_WINBOND_W83627 is not set
# CONFIG_FS_LOADER is not set
# CONFIG_SPL_FS_LOADER is not set
# CONFIG_SL28CPLD is not set
#
# MMC Host controller Support
#
CONFIG_MMC=y
CONFIG_MMC_WRITE=y
# CONFIG_MMC_BROKEN_CD is not set
CONFIG_DM_MMC=y
# CONFIG_ARM_PL180_MMCI is not set
CONFIG_MMC_QUIRKS=y
CONFIG_SYS_MMC_MAX_BLK_COUNT=65535
CONFIG_MMC_HW_PARTITIONING=y
# CONFIG_SUPPORT_EMMC_RPMB is not set
# CONFIG_SUPPORT_EMMC_BOOT is not set
# CONFIG_MMC_IO_VOLTAGE is not set
# CONFIG_SPL_MMC_IO_VOLTAGE is not set
# CONFIG_MMC_HS400_ES_SUPPORT is not set
# CONFIG_SPL_MMC_HS400_ES_SUPPORT is not set
# CONFIG_MMC_HS400_SUPPORT is not set
# CONFIG_SPL_MMC_HS400_SUPPORT is not set
# CONFIG_MMC_HS200_SUPPORT is not set
# CONFIG_SPL_MMC_HS200_SUPPORT is not set
CONFIG_MMC_VERBOSE=y
# CONFIG_MMC_TRACE is not set
# CONFIG_MMC_DW is not set
# CONFIG_MMC_MXC is not set
CONFIG_MMC_OMAP_HS=y
CONFIG_MMC_OMAP_HS_ADMA=y
# CONFIG_HSMMC2_8BIT is not set
# CONFIG_MMC_SDHCI is not set
# CONFIG_MMC_PITON is not set
# CONFIG_STM32_SDMMC2 is not set
# CONFIG_FTSDC010 is not set
# CONFIG_FSL_ESDHC is not set
# CONFIG_FSL_ESDHC_IMX is not set
#
# MTD Support
#
CONFIG_MTD_PARTITIONS=y
CONFIG_MTD=y
CONFIG_DM_MTD=y
# CONFIG_MTD_NOR_FLASH is not set
# CONFIG_MTD_CONCAT is not set
# CONFIG_SYS_MTDPARTS_RUNTIME is not set
# CONFIG_FLASH_CFI_DRIVER is not set
# CONFIG_CFI_FLASH is not set
# CONFIG_ALTERA_QSPI is not set
# CONFIG_SAMSUNG_ONENAND is not set
# CONFIG_USE_SYS_MAX_FLASH_BANKS is not set
CONFIG_MTD_RAW_NAND=y
CONFIG_SYS_MAX_NAND_DEVICE=1
# CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT is not set
# CONFIG_SYS_NAND_USE_FLASH_BBT is not set
# CONFIG_DM_NAND_ATMEL is not set
# CONFIG_NAND_ATMEL is not set
# CONFIG_NAND_BRCMNAND is not set
# CONFIG_NAND_DAVINCI is not set
# CONFIG_NAND_DENALI_DT is not set
# CONFIG_NAND_FSL_IFC is not set
# CONFIG_NAND_LPC32XX_MLC is not set
# CONFIG_NAND_LPC32XX_SLC is not set
CONFIG_NAND_OMAP_GPMC=y
# CONFIG_NAND_OMAP_GPMC_PREFETCH is not set
CONFIG_NAND_OMAP_ELM=y
# CONFIG_NAND_OMAP_ECCSCHEME_HAM1_CODE_SW is not set
# CONFIG_NAND_OMAP_ECCSCHEME_HAM1_CODE_HW is not set
# CONFIG_NAND_OMAP_ECCSCHEME_BCH8_CODE_HW_DETECTION_SW is not set
CONFIG_NAND_OMAP_ECCSCHEME_BCH8_CODE_HW=y
# CONFIG_NAND_OMAP_ECCSCHEME_BCH16_CODE_HW is not set
CONFIG_NAND_OMAP_ECCSCHEME=6
# CONFIG_NAND_VF610_NFC is not set
# CONFIG_NAND_PXA3XX is not set
# CONFIG_NAND_ARASAN is not set
# CONFIG_NAND_MXIC is not set
# CONFIG_NAND_ZYNQ is not set
# CONFIG_NAND_OCTEONTX is not set
#
# Generic NAND options
#
CONFIG_SYS_NAND_BLOCK_SIZE=0x20000
CONFIG_SYS_NAND_ONFI_DETECTION=y
CONFIG_SYS_NAND_PAGE_COUNT=0x40
CONFIG_SYS_NAND_PAGE_SIZE=0x800
CONFIG_SYS_NAND_OOBSIZE=0x40
CONFIG_SYS_NAND_BUSWIDTH_16BIT=y
CONFIG_SYS_NAND_5_ADDR_CYCLE=y
CONFIG_HAS_NAND_LARGE_BADBLOCK_POS=y
# CONFIG_HAS_NAND_SMALL_BADBLOCK_POS is not set
CONFIG_SYS_NAND_BAD_BLOCK_POS=0
CONFIG_SYS_NAND_U_BOOT_LOCATIONS=y
CONFIG_SYS_NAND_U_BOOT_OFFS=0x20000
CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND=0x1a0000
CONFIG_SPL_NAND_AM33XX_BCH=y
# CONFIG_SPL_NAND_DENALI is not set
CONFIG_SYS_NAND_MAX_OOBFREE=32
CONFIG_SYS_NAND_MAX_ECCPOS=680
CONFIG_SYS_NAND_MAX_CHIPS=1
#
# SPI Flash Support
#
# CONFIG_SPI_FLASH is not set
#
# UBI support
#
# CONFIG_UBI_SILENCE_MSG is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_MODULE=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
# CONFIG_MTD_UBI_FASTMAP is not set
#
# Multiplexer drivers
#
# CONFIG_MULTIPLEXER is not set
# CONFIG_BITBANGMII is not set
# CONFIG_MV88E6352_SWITCH is not set
CONFIG_PHYLIB=y
# CONFIG_PHY_ADDR_ENABLE is not set
# CONFIG_B53_SWITCH is not set
# CONFIG_MV88E61XX_SWITCH is not set
# CONFIG_PHYLIB_10G is not set
# CONFIG_PHY_ADIN is not set
# CONFIG_PHY_AQUANTIA is not set
# CONFIG_PHY_ATHEROS is not set
# CONFIG_PHY_BROADCOM is not set
# CONFIG_PHY_CORTINA is not set
# CONFIG_PHY_DAVICOM is not set
# CONFIG_PHY_ET1011C is not set
# CONFIG_PHY_LXT is not set
# CONFIG_PHY_MARVELL is not set
# CONFIG_PHY_MESON_GXL is not set
# CONFIG_PHY_MICREL is not set
# CONFIG_PHY_MSCC is not set
# CONFIG_PHY_NATSEMI is not set
# CONFIG_PHY_NXP_C45_TJA11XX is not set
# CONFIG_PHY_NXP_TJA11XX is not set
# CONFIG_PHY_REALTEK is not set
# CONFIG_PHY_SMSC is not set
# CONFIG_PHY_TERANETICS is not set
# CONFIG_PHY_TI is not set
# CONFIG_PHY_TI_DP83867 is not set
# CONFIG_PHY_TI_DP83869 is not set
# CONFIG_PHY_TI_GENERIC is not set
# CONFIG_PHY_VITESSE is not set
# CONFIG_PHY_XILINX is not set
# CONFIG_PHY_XILINX_GMII2RGMII is not set
# CONFIG_PHY_XWAY is not set
# CONFIG_PHY_FIXED is not set
# CONFIG_PHY_NCSI is not set
# CONFIG_FSL_MEMAC is not set
CONFIG_PHY_RESET_DELAY=0
# CONFIG_FSL_PFE is not set
CONFIG_ETH=y
CONFIG_DM_ETH=y
# CONFIG_DM_MDIO is not set
CONFIG_DM_ETH_PHY=y
CONFIG_NETDEVICES=y
# CONFIG_PHY_GIGE is not set
# CONFIG_ALTERA_TSE is not set
# CONFIG_BCM_SF2_ETH is not set
# CONFIG_BCMGENET is not set
# CONFIG_BNXT_ETH is not set
# CONFIG_CALXEDA_XGMAC is not set
# CONFIG_DRIVER_DM9000 is not set
# CONFIG_DWC_ETH_QOS is not set
# CONFIG_EEPRO100 is not set
# CONFIG_ETH_DESIGNWARE is not set
# CONFIG_ETH_DESIGNWARE_MESON8B is not set
# CONFIG_ETHOC is not set
# CONFIG_FMAN_ENET is not set
# CONFIG_FTMAC100 is not set
# CONFIG_FTGMAC100 is not set
# CONFIG_MCFFEC is not set
# CONFIG_FSLDMAFEC is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_LITEETH is not set
# CONFIG_MACB is not set
# CONFIG_NET_NPCM750 is not set
# CONFIG_PCH_GBE is not set
# CONFIG_RGMII is not set
# CONFIG_MII is not set
# CONFIG_RMII is not set
# CONFIG_PCNET is not set
# CONFIG_QE_UEC is not set
# CONFIG_RTL8139 is not set
# CONFIG_RTL8169 is not set
CONFIG_SMC911X=y
CONFIG_SMC911X_32_BIT=y
# CONFIG_SUN7I_GMAC is not set
# CONFIG_SUN4I_EMAC is not set
# CONFIG_SUN8I_EMAC is not set
# CONFIG_SH_ETHER is not set
# CONFIG_DRIVER_TI_CPSW is not set
# CONFIG_DRIVER_TI_EMAC is not set
# CONFIG_DRIVER_TI_KEYSTONE_NET is not set
# CONFIG_TULIP is not set
# CONFIG_XILINX_AXIEMAC is not set
# CONFIG_VSC7385_ENET is not set
# CONFIG_XILINX_EMACLITE is not set
# CONFIG_ZYNQ_GEM is not set
# CONFIG_SYS_DPAA_QBMAN is not set
# CONFIG_TSEC_ENET is not set
# CONFIG_MEDIATEK_ETH is not set
# CONFIG_HIGMACV300_ETH is not set
# CONFIG_NVME is not set
# CONFIG_NVME_APPLE is not set
# CONFIG_PCI is not set
#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# CONFIG_X86_PCH7 is not set
# CONFIG_X86_PCH9 is not set
#
# PHY Subsystem
#
CONFIG_PHY=y
# CONFIG_SPL_PHY is not set
CONFIG_NOP_PHY=y
# CONFIG_MIPI_DPHY_HELPERS is not set
# CONFIG_BCM_SR_PCIE_PHY is not set
# CONFIG_PIPE3_PHY is not set
#
# Rockchip PHY driver
#
# CONFIG_MSM8916_USB_PHY is not set
# CONFIG_MVEBU_COMPHY_SUPPORT is not set
#
# Pin controllers
#
# CONFIG_PINCTRL is not set
CONFIG_POWER=y
# CONFIG_POWER_LEGACY is not set
# CONFIG_SPL_POWER_LEGACY is not set
# CONFIG_ACPI_PMC is not set
# CONFIG_SPL_ACPI_PMC is not set
#
# Power Domain Support
#
# CONFIG_POWER_DOMAIN is not set
# CONFIG_DM_PMIC is not set
# CONFIG_PMIC_TPS65217 is not set
# CONFIG_POWER_TPS65218 is not set
# CONFIG_POWER_TPS62362 is not set
# CONFIG_SPL_POWER_TPS62362 is not set
# CONFIG_SPL_POWER_TPS65910 is not set
# CONFIG_DM_REGULATOR is not set
# CONFIG_TPS6586X_POWER is not set
# CONFIG_TWL6030_POWER is not set
# CONFIG_POWER_MT6323 is not set
# CONFIG_DM_PWM is not set
# CONFIG_PWM_IMX is not set
# CONFIG_PWM_SANDBOX is not set
# CONFIG_U_QE is not set
# CONFIG_RAM is not set
#
# Reboot Mode Support
#
# CONFIG_DM_REBOOT_MODE is not set
#
# Remote Processor drivers
#
#
# Reset Controller Support
#
# CONFIG_RESET_SCMI is not set
# CONFIG_DM_RNG is not set
#
# Real Time Clock
#
# CONFIG_DM_RTC is not set
# CONFIG_RTC_ENABLE_32KHZ_OUTPUT is not set
# CONFIG_RTC_DS1337 is not set
# CONFIG_RTC_DS1338 is not set
# CONFIG_RTC_DS1374 is not set
# CONFIG_RTC_DS3231 is not set
# CONFIG_RTC_PCF8563 is not set
# CONFIG_RTC_PT7C4338 is not set
# CONFIG_RTC_PL031 is not set
# CONFIG_RTC_S35392A is not set
# CONFIG_RTC_MC13XXX is not set
# CONFIG_RTC_MC146818 is not set
# CONFIG_RTC_M41T62 is not set
# CONFIG_RTC_DAVINCI is not set
# CONFIG_SCSI is not set
# CONFIG_DM_SCSI is not set
CONFIG_SERIAL=y
CONFIG_BAUDRATE=115200
CONFIG_SPECIFY_CONSOLE_INDEX=y
CONFIG_CONS_INDEX=3
# CONFIG_DM_SERIAL is not set
# CONFIG_ARM_DCC is not set
# CONFIG_ATMEL_USART is not set
# CONFIG_FSL_LPUART is not set
# CONFIG_MVEBU_A3700_UART is not set
# CONFIG_MCFUART is not set
# CONFIG_NULLDEV_SERIAL is not set
CONFIG_SYS_NS16550_SERIAL=y
CONFIG_SPL_SYS_NS16550_SERIAL=y
CONFIG_SYS_NS16550=y
# CONFIG_NS16550_DYNAMIC is not set
# CONFIG_SYS_NS16550_MEM32 is not set
# CONFIG_SYS_NS16550_PORT_MAPPED is not set
CONFIG_SYS_NS16550_REG_SIZE=-4
# CONFIG_PL011_SERIAL is not set
# CONFIG_MSM_GENI_SERIAL is not set
# CONFIG_SMEM is not set
#
# Sound support
#
# CONFIG_SOUND is not set
#
# SOC (System On Chip) specific Drivers
#
CONFIG_SOC_DEVICE=y
# CONFIG_SOC_DEVICE_TI_K3 is not set
CONFIG_SOC_TI=y
# CONFIG_SPI is not set
#
# SPMI support
#
# CONFIG_SPMI is not set
# CONFIG_SYSINFO is not set
#
# System reset device drivers
#
# CONFIG_SYSRESET is not set
# CONFIG_TEE is not set
# CONFIG_DM_THERMAL is not set
#
# Timer Support
#
# CONFIG_TIMER is not set
#
# TPM support
#
CONFIG_USB=y
CONFIG_DM_USB=y
# CONFIG_DM_USB_GADGET is not set
#
# USB Host Controller Drivers
#
CONFIG_USB_HOST=y
# CONFIG_USB_XHCI_HCD is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_OMAP=y
# CONFIG_USB_EHCI_MSM is not set
# CONFIG_USB_EHCI_PCI is not set
# CONFIG_USB_EHCI_ZYNQ is not set
# CONFIG_USB_EHCI_GENERIC is not set
# CONFIG_USB_EHCI_FSL is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_ISP1760 is not set
# CONFIG_USB_CDNS3 is not set
# CONFIG_USB_DWC3 is not set
#
# Legacy MUSB Support
#
# CONFIG_USB_MUSB_HCD is not set
# CONFIG_USB_MUSB_UDC is not set
CONFIG_USB_OMAP3=y
#
# MUSB Controller Driver
#
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
# CONFIG_USB_MUSB_PIO_ONLY is not set
#
# USB Phy
#
# CONFIG_TWL4030_USB is not set
# CONFIG_ROCKCHIP_USB2_PHY is not set
#
# ULPI drivers
#
#
# USB peripherals
#
CONFIG_USB_STORAGE=y
# CONFIG_USB_KEYBOARD is not set
# CONFIG_USB_ONBOARD_HUB is not set
CONFIG_USB_HUB_DEBOUNCE_TIMEOUT=1000
CONFIG_USB_HOST_ETHER=y
# CONFIG_USB_ETHER_ASIX is not set
# CONFIG_USB_ETHER_ASIX88179 is not set
# CONFIG_USB_ETHER_LAN75XX is not set
# CONFIG_USB_ETHER_LAN78XX is not set
# CONFIG_USB_ETHER_MCS7830 is not set
# CONFIG_USB_ETHER_RTL8152 is not set
CONFIG_USB_ETHER_SMSC95XX=y
CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_MANUFACTURER="U-Boot"
CONFIG_USB_GADGET_VENDOR_NUM=0x0
CONFIG_USB_GADGET_PRODUCT_NUM=0x0
# CONFIG_USB_GADGET_ATMEL_USBA is not set
# CONFIG_USB_GADGET_BCM_UDC_OTG_PHY is not set
# CONFIG_USB_GADGET_DWC2_OTG is not set
# CONFIG_USB_GADGET_OS_DESCRIPTORS is not set
# CONFIG_CI_UDC is not set
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_SDP_LOADADDR=0
# CONFIG_USB_GADGET_DOWNLOAD is not set
# CONFIG_USB_ETHER is not set
#
# UFS Host Controller Support
#
# CONFIG_TI_J721E_UFS is not set
#
# Graphics support
#
# CONFIG_VIDEO is not set
#
# VirtIO Drivers
#
# CONFIG_VIRTIO_MMIO is not set
#
# 1-Wire support
#
# CONFIG_W1 is not set
#
# 1-wire EEPROM support
#
# CONFIG_W1_EEPROM is not set
#
# Watchdog Timer Support
#
# CONFIG_WATCHDOG is not set
CONFIG_WATCHDOG_TIMEOUT_MSECS=60000
# CONFIG_IMX_WATCHDOG is not set
# CONFIG_OMAP_WATCHDOG is not set
# CONFIG_ULP_WATCHDOG is not set
# CONFIG_WDT is not set
# CONFIG_PVBLOCK is not set
# CONFIG_PHYS_TO_BUS is not set
#
# File systems
#
# CONFIG_FS_BTRFS is not set
# CONFIG_FS_CBFS is not set
# CONFIG_SPL_FS_CBFS is not set
CONFIG_FS_EXT4=y
CONFIG_EXT4_WRITE=y
CONFIG_FS_FAT=y
CONFIG_FAT_WRITE=y
CONFIG_FS_FAT_MAX_CLUSTSIZE=65536
# CONFIG_FS_JFFS2 is not set
# CONFIG_UBIFS_SILENCE_MSG is not set
# CONFIG_UBIFS_SILENCE_DEBUG_DUMP is not set
# CONFIG_FS_CRAMFS is not set
# CONFIG_YAFFS2 is not set
# CONFIG_FS_SQUASHFS is not set
# CONFIG_FS_EROFS is not set
#
# Library routines
#
# CONFIG_ADDR_MAP is not set
# CONFIG_SYS_TIMER_COUNTS_DOWN is not set
# CONFIG_PHYSMEM is not set
CONFIG_BCH=y
# CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED is not set
CONFIG_CHARSET=y
# CONFIG_DYNAMIC_CRC_TABLE is not set
CONFIG_HAVE_PRIVATE_LIBGCC=y
CONFIG_LIB_UUID=y
# CONFIG_SEMIHOSTING is not set
# CONFIG_SPL_SEMIHOSTING is not set
CONFIG_PRINTF=y
CONFIG_SPL_PRINTF=y
CONFIG_SPRINTF=y
CONFIG_SPL_SPRINTF=y
CONFIG_STRTO=y
CONFIG_SPL_STRTO=y
CONFIG_USE_PRIVATE_LIBGCC=y
CONFIG_SYS_HZ=1000
CONFIG_SPL_USE_TINY_PRINTF=y
# CONFIG_PANIC_HANG is not set
CONFIG_REGEX=y
CONFIG_LIB_RAND=y
# CONFIG_LIB_HW_RAND is not set
CONFIG_SUPPORT_ACPI=y
# CONFIG_GENERATE_ACPI_TABLE is not set
# CONFIG_SPL_TINY_MEMSET is not set
CONFIG_RBTREE=y
# CONFIG_BITREVERSE is not set
# CONFIG_TRACE is not set
# CONFIG_CIRCBUF is not set
# CONFIG_CMD_DHRYSTONE is not set
#
# Security support
#
# CONFIG_AES is not set
# CONFIG_ECDSA is not set
# CONFIG_RSA is not set
# CONFIG_TPM is not set
#
# Android Verified Boot
#
#
# Hashing Support
#
# CONFIG_BLAKE2 is not set
CONFIG_SHA1=y
CONFIG_SHA256=y
# CONFIG_SHA512 is not set
# CONFIG_SHA384 is not set
# CONFIG_SHA_HW_ACCEL is not set
CONFIG_SPL_SHA1=y
CONFIG_SPL_SHA256=y
# CONFIG_SPL_SHA512 is not set
# CONFIG_SPL_SHA384 is not set
# CONFIG_SPL_SHA_HW_ACCEL is not set
CONFIG_MD5=y
CONFIG_CRC8=y
# CONFIG_SPL_CRC8 is not set
CONFIG_CRC32=y
#
# Compression Support
#
# CONFIG_LZ4 is not set
# CONFIG_LZMA is not set
CONFIG_LZO=y
CONFIG_GZIP=y
# CONFIG_ZLIB_UNCOMPRESS is not set
# CONFIG_BZIP2 is not set
CONFIG_ZLIB=y
# CONFIG_ZSTD is not set
# CONFIG_SPL_LZ4 is not set
# CONFIG_SPL_LZMA is not set
# CONFIG_VPL_LZMA is not set
# CONFIG_SPL_LZO is not set
# CONFIG_SPL_GZIP is not set
# CONFIG_SPL_ZSTD is not set
# CONFIG_ERRNO_STR is not set
# CONFIG_HEXDUMP is not set
# CONFIG_GETOPT is not set
CONFIG_OF_LIBFDT=y
CONFIG_OF_LIBFDT_ASSUME_MASK=0
CONFIG_OF_LIBFDT_OVERLAY=y
CONFIG_SYS_FDT_PAD=0x3000
CONFIG_SPL_OF_LIBFDT=y
CONFIG_SPL_OF_LIBFDT_ASSUME_MASK=0xff
# CONFIG_FDT_FIXUP_PARTITIONS is not set
#
# System tables
#
CONFIG_GENERATE_SMBIOS_TABLE=y
# CONFIG_LIB_RATIONAL is not set
# CONFIG_SPL_LIB_RATIONAL is not set
# CONFIG_SMBIOS_PARSER is not set
CONFIG_EFI_LOADER=y
CONFIG_CMD_BOOTEFI_BOOTMGR=y
CONFIG_EFI_VARIABLE_FILE_STORE=y
# CONFIG_EFI_VARIABLE_NO_STORE is not set
# CONFIG_EFI_VARIABLES_PRESEED is not set
CONFIG_EFI_VAR_BUF_SIZE=16384
# CONFIG_EFI_SCROLL_ON_CLEAR_SCREEN is not set
# CONFIG_EFI_RUNTIME_UPDATE_CAPSULE is not set
CONFIG_EFI_CAPSULE_MAX=15
CONFIG_EFI_DEVICE_PATH_TO_TEXT=y
CONFIG_EFI_DEVICE_PATH_UTIL=y
CONFIG_EFI_DT_FIXUP=y
CONFIG_EFI_LOADER_HII=y
CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y
CONFIG_EFI_UNICODE_CAPITALIZATION=y
CONFIG_EFI_PLATFORM_LANG_CODES="en-US"
CONFIG_EFI_GRUB_ARM32_WORKAROUND=y
CONFIG_EFI_LOAD_FILE2_INITRD=y
CONFIG_EFI_ECPT=y
CONFIG_EFI_EBBR_2_1_CONFORMANCE=y
# CONFIG_OPTEE_LIB is not set
# CONFIG_OPTEE_IMAGE is not set
# CONFIG_BOOTM_OPTEE is not set
# CONFIG_TEST_FDTDEC is not set
CONFIG_LIB_ELF=y
CONFIG_LMB=y
CONFIG_LMB_USE_MAX_REGIONS=y
CONFIG_LMB_MAX_REGIONS=16
# CONFIG_PHANDLE_CHECK_SEQ is not set
#
# FWU Multi Bank Updates
#
# CONFIG_POST is not set
# CONFIG_UNIT_TEST is not set
# CONFIG_SPL_UNIT_TEST is not set
#
# Tools options
#
CONFIG_MKIMAGE_DTC_PATH="dtc"
CONFIG_TOOLS_CRC32=y
CONFIG_TOOLS_LIBCRYPTO=y
CONFIG_TOOLS_FIT=y
CONFIG_TOOLS_FIT_FULL_CHECK=y
CONFIG_TOOLS_FIT_PRINT=y
CONFIG_TOOLS_FIT_RSASSA_PSS=y
CONFIG_TOOLS_FIT_SIGNATURE=y
CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE=0x10000000
CONFIG_TOOLS_FIT_VERBOSE=y
CONFIG_TOOLS_MD5=y
CONFIG_TOOLS_OF_LIBFDT=y
CONFIG_TOOLS_SHA1=y
CONFIG_TOOLS_SHA256=y
CONFIG_TOOLS_SHA384=y
CONFIG_TOOLS_SHA512=y
# CONFIG_TOOLS_MKEFICAPSULE is not set
# CONFIG_FSPI_CONF_HEADER is not set
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-12 16:05 ` Colin Foster
@ 2023-05-13 5:59 ` Roger Quadros
2023-05-17 13:30 ` Roger Quadros
1 sibling, 0 replies; 14+ messages in thread
From: Roger Quadros @ 2023-05-13 5:59 UTC (permalink / raw)
To: Colin Foster; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
On 12/05/2023 19:05, Colin Foster wrote:
> Hi Roger,
>
> On Fri, May 12, 2023 at 02:53:07PM +0300, Roger Quadros wrote:
>>
>>
>> On 10/05/2023 18:38, Colin Foster wrote:
>>>
>>> This is still out-of-U-Boot. I have an include/configs/our_product.h
>>> file with this:
>>>
>>> """
>>> #define CFG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \
>>> 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, \
>>> 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, \
>>> 33, 34, 35, 36, 37, 38, 39, 40, 41, \
>>> 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
>>> 52, 53, 54, 55, 56, 57}
>>>
>>> #define CFG_SYS_NAND_ECCBYTES 14
>>> #define CFG_SYS_NAND_MAX_ECCPOS 57
>>
>> This should be 56 i.e. (57 - 2 + 1)
>> But it won't fix the issue you are facing. :P
>
> Oh, good catch. I know when I was trying to get this working I had to
> play with these values quite a bit. I must have missed changing this at
> one point.
>
>>
>>> #define CFG_SYS_NAND_ECCSIZE 512
>>> #define CFG_SYS_NAND_MAX_OOBFREE 2
>>> """
>>>
>>>
>>>> Can you please point me to the Linux device tree file if it exists?
>>>
>>> This is the latest submission. Still not accepted - I need to find time
>>> to button everything up and resubmit. My plan of attack was Kernel
>>> Acceptance, then U-Boot. Unfortunately my company lets the pesky
>>> "Shipping products" step get in the way :-)
>>>
>>> https://lkml.org/lkml/2023/2/22/939
>>>
>>> Or if you just want the ECC part:
>>>
>>> + nandflash: nand@0,0 {
>>> + compatible = "ti,omap2-nand";
>>> + reg = <0 0 4>;
>>> + interrupt-parent = <&gpmc>;
>>> +
>>> + nand-bus-width = <16>;
>>> + ti,nand-ecc-opt = "bch8";
>>> + ti,elm-id=<&elm>;
>>> + linux,mtd-name = "micron,nand";
>>>
>>>
>>> I think that's all the info you're looking for. Let me know if I missed
>>> something.
>>
>> Yes this is all I was looking for.
>>
>> Is CONFIG_NAND_OMAP_ECCSCHEME_BCH8_CODE_HW set in your u-boot config?
>
> Yes, it is set. I've attached our .config file. I just made a change to
> CONFIG_NAND_OMAP_GPMC_PREFETCH as a test, which didn't fix the issue.
>
> And as another sanity check, I reverted the patch and have functionality
> again:
>
>
> """
> U-Boot SPL 2023.04-00029-g316faf4c46-dirty (May 12 2023 - 09:02:58 -0700)
> OMAP4460-GP ES1.1
> Trying to boot from NAND
>
>
> U-Boot 2023.04-00029-g316faf4c46-dirty (May 12 2023 - 09:02:58 -0700)
>
> CPU : OMAP4460-GP ES1.1
> """
>
>
OK. next step is to dump calculated ECC values while reading a block
and see if it is different in failing case and then debug why.
Let me prepare a patch for that.
--
cheers,
-roger
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-12 16:05 ` Colin Foster
2023-05-13 5:59 ` Roger Quadros
@ 2023-05-17 13:30 ` Roger Quadros
2023-05-17 19:39 ` Colin Foster
1 sibling, 1 reply; 14+ messages in thread
From: Roger Quadros @ 2023-05-17 13:30 UTC (permalink / raw)
To: Colin Foster; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
Hi Colin,
On 12/05/2023 19:05, Colin Foster wrote:
> Hi Roger,
>
> On Fri, May 12, 2023 at 02:53:07PM +0300, Roger Quadros wrote:
>>
>>
>> On 10/05/2023 18:38, Colin Foster wrote:
>>>
>>> This is still out-of-U-Boot. I have an include/configs/our_product.h
>>> file with this:
>>>
>>> """
>>> #define CFG_SYS_NAND_ECCPOS {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \
>>> 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, \
>>> 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, \
>>> 33, 34, 35, 36, 37, 38, 39, 40, 41, \
>>> 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
>>> 52, 53, 54, 55, 56, 57}
>>>
>>> #define CFG_SYS_NAND_ECCBYTES 14
>>> #define CFG_SYS_NAND_MAX_ECCPOS 57
>>
>> This should be 56 i.e. (57 - 2 + 1)
>> But it won't fix the issue you are facing. :P
>
> Oh, good catch. I know when I was trying to get this working I had to
> play with these values quite a bit. I must have missed changing this at
> one point.
>
>>
>>> #define CFG_SYS_NAND_ECCSIZE 512
>>> #define CFG_SYS_NAND_MAX_OOBFREE 2
>>> """
>>>
>>>
>>>> Can you please point me to the Linux device tree file if it exists?
>>>
>>> This is the latest submission. Still not accepted - I need to find time
>>> to button everything up and resubmit. My plan of attack was Kernel
>>> Acceptance, then U-Boot. Unfortunately my company lets the pesky
>>> "Shipping products" step get in the way :-)
>>>
>>> https://lkml.org/lkml/2023/2/22/939
>>>
>>> Or if you just want the ECC part:
>>>
>>> + nandflash: nand@0,0 {
>>> + compatible = "ti,omap2-nand";
>>> + reg = <0 0 4>;
>>> + interrupt-parent = <&gpmc>;
>>> +
>>> + nand-bus-width = <16>;
>>> + ti,nand-ecc-opt = "bch8";
>>> + ti,elm-id=<&elm>;
>>> + linux,mtd-name = "micron,nand";
>>>
>>>
>>> I think that's all the info you're looking for. Let me know if I missed
>>> something.
>>
>> Yes this is all I was looking for.
>>
>> Is CONFIG_NAND_OMAP_ECCSCHEME_BCH8_CODE_HW set in your u-boot config?
>
> Yes, it is set. I've attached our .config file. I just made a change to
> CONFIG_NAND_OMAP_GPMC_PREFETCH as a test, which didn't fix the issue.
>
> And as another sanity check, I reverted the patch and have functionality
> again:
>
I just tested this on AM335x EVM which uses BCH8_CODE_HW but 8-bit NAND part.
I see that you are using 16-bit NAND.
One more difference in u-boot configuration. For me:
CONFIG_NAND_OMAP_GPMC_PREFETCH=y
Not sure if that matters but let's keep it set for now.
For debug can you please apply the patch (at end) to u-boot at commit a95410696d21
(before breakage) and run the test.
Test procedure:
> nand dump 0
> mmc dev 0
#replace 0 with whatever points to SD-card
> nand read $loadaddr 0 800
#loadaddr is any address in RAM which is free for use.
> fatwrite mmc 0:1 $loadaddr nand.org 800
- restore NAND page 0
> fatload mmc 0:1 $loadaddr nand.org
> nand write $loadaddr 0 800
Now please run the below test on the offending commit 04fcd25873 after applying
the patch (at end).
> nand dump 0
> mmc dev 0
#replace 0 with whatever points to SD-card
> fatload mmc 0:1 $loadaddr nand.org
> nand write $loadaddr 0 800
Please send me the logs of both tests and the nand.org file so I can try it out here. Thanks!
--- patch starts---
diff --git a/drivers/mtd/nand/raw/omap_gpmc.c b/drivers/mtd/nand/raw/omap_gpmc.c
index be3cb3c601..ac06d5f019 100644
--- a/drivers/mtd/nand/raw/omap_gpmc.c
+++ b/drivers/mtd/nand/raw/omap_gpmc.c
@@ -300,6 +300,7 @@ static int omap_calculate_ecc(struct mtd_info *mtd, const uint8_t *dat,
ecc_code[i++] = (val >> 0) & 0xFF;
ptr--;
}
+ printf("ecc: %x\n", val);
break;
case OMAP_ECC_BCH16_CODE_HW:
val = readl(&gpmc_cfg->bch_result_4_6[0].bch_result_x[2]);
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-17 13:30 ` Roger Quadros
@ 2023-05-17 19:39 ` Colin Foster
2023-05-18 10:55 ` Roger Quadros
0 siblings, 1 reply; 14+ messages in thread
From: Colin Foster @ 2023-05-17 19:39 UTC (permalink / raw)
To: Roger Quadros; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
[-- Attachment #1: Type: text/plain, Size: 19485 bytes --]
Hi Roger,
Thanks for the tests. I attached the files and commented in line... but
at the bottom of this email I have some findings...
On Wed, May 17, 2023 at 04:30:55PM +0300, Roger Quadros wrote:
> Hi Colin,
>
> I just tested this on AM335x EVM which uses BCH8_CODE_HW but 8-bit NAND part.
> I see that you are using 16-bit NAND.
>
> One more difference in u-boot configuration. For me:
> CONFIG_NAND_OMAP_GPMC_PREFETCH=y
>
> Not sure if that matters but let's keep it set for now.
>
> For debug can you please apply the patch (at end) to u-boot at commit a95410696d21
> (before breakage) and run the test.
>
> Test procedure:
>
> > nand dump 0
=> nand dump 0
Page 00000000 dump:
40 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 43 48 53 45 54 54 49 4e 47 53 00 00
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c1 c0 c0 c0 00 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
dc 99 00 00 00 00 30 40 ff ff ff ea 1a 06 00 ea
00 00 0f e1 1f 10 00 e2 1a 00 31 e3 1f 00 c0 13
13 00 80 13 c0 00 80 e3 00 f0 29 e1 06 00 00 eb
1d 00 00 eb 8a 06 00 eb 15 0f 07 ee 9a 0f 07 ee
95 0f 07 ee 1e ff 2f e1 f0 ff ff ea 00 00 a0 e3
17 0f 08 ee 15 0f 07 ee d5 0f 07 ee 9a 0f 07 ee
95 0f 07 ee 10 0f 11 ee 02 0a c0 e3 07 00 c0 e3
02 00 80 e3 02 0b 80 e3 01 0a 80 e3 10 0f 01 ee
0e 50 a0 e1 10 1f 10 ee 21 3a a0 e1 0f 30 03 e2
0f 40 01 e2 03 22 a0 e1 02 20 84 e1 0c 00 9f e5
07 00 c0 e3 00 d0 a0 e1 05 f0 a0 e1 64 06 00 ea
00 df 30 40 06 4b 1b 68 1b 68 1b 68 1b 68 bf f3
5f 8f 04 4a 03 f0 1f 03 52 f8 23 00 70 47 00 bf
90 92 30 40 68 6f 30 40 01 4b 03 60 70 47 00 bf
28 86 30 40 00 20 70 47 30 b5 47 4b 19 68 03 f1
80 63 a3 f5 3b 43 99 42 79 d0 44 4a 91 42 0c bf
4f f0 9e 32 4f f0 7c 32 bf f3 5f 8f 40 4b 18 68
00 68 d0 f8 e4 00 02 60 bf f3 5f 8f 18 68 22 f4
c0 24 00 68 d0 f8 e8 00 02 60 bf f3 5f 8f 18 68
00 68 d0 f8 ec 00 04 60 bf f3 5f 8f 18 68 00 68
d0 f8 f0 50 33 48 28 60 bf f3 5f 8f 1d 68 2d 68
d5 f8 f4 50 2a 60 bf f3 5f 8f 1d 68 2d 68 d5 f8
f8 50 2a 60 bf f3 5f 8f 1a 68 12 68 d2 f8 fc 20
14 60 bf f3 5f 8f 1a 68 12 68 d2 f8 00 21 10 60
1a 68 12 68 92 6c 12 68 bf f3 5f 8f 92 b2 92 b9
bf f3 5f 8f 1a 68 12 68 d0 6c 1f 4a 02 60 bf f3
5f 8f 18 68 00 68 00 6d 02 60 bf f3 5f 8f 18 68
00 68 40 6d 02 60 1a 68 12 68 d2 f8 84 21 12 68
bf f3 5f 8f 3a b9 bf f3 5f 8f 1a 68 13 48 12 68
d2 f8 84 21 10 60 12 4a 91 42 0b d8 bf f3 5f 8f
1b 68 10 4a 1b 68 d3 f8 88 31 1a 60 30 bd 4f f0
1c 32 89 e7 1a 68 12 68 d2 f8 88 21 12 68 bf f3
5f 8f 00 2a ea d0 f1 e7 00 bc 30 40 00 02 30 44
90 92 30 40 0f 8c 88 a0 0f 04 01 04 10 01 4d 1c
ff 00 60 44 00 40 08 99 08 b5 00 f0 50 fa 1f 4b
98 42 a3 f5 6f 03 a3 f2 93 43 31 d0 0a d8 1c 4a
90 42 19 d0 02 f5 80 12 01 32 90 42 17 d0 4f f0
ff 32 12 e0 17 4a 90 42 f9 d1 17 4a 12 68 bf f3
5f 8f 16 49 8a 42 1d d0 01 f1 00 51 a1 f5 1c 31
8a 42 19 d0 12 4a 00 e0 12 4a 1a 60 08 bd 0e 4a
12 68 bf f3 5f 8f 10 49 8a 42 05 d0 01 f1 80 51
8a 42 03 d0 0d 4a f0 e7 0d 4a ee e7 0d 4a ec e7
0d 4a ea e7 0d 4a e8 e7 0d 4a e6 e7 93 c0 1f 41
91 c0 0f 41 9a c0 2f 41 04 22 00 4a 2f 50 97 0b
00 01 60 44 00 01 30 44 2f c0 95 3b 00 02 30 44
10 02 30 44 20 02 30 44 30 02 30 44 00 01 70 44
10 01 60 44 10 4b 1a 68 12 68 d2 f8 30 21 12 68
bf f3 5f 8f 22 f0 88 62 bf f3 5f 8f 19 68 09 68
d1 f8 30 11 0a 60 1a 68 12 68 d2 f8 30 21 12 68
bf f3 5f 8f 42 f0 8c 62 bf f3 5f 8f 1b 68 1b 68
d3 f8 30 31 1a 60 70 47 90 92 30 40 00 b5 4f 4a
9d b0 13 68 19 68 d1 f8 1c 13 01 91 19 68 d1 f8
dc 12 02 91 19 68 d1 f8 38 12 03 91 19 68 d1 f8
74 12 04 91 00 21 05 91 18 68 d0 f8 10 02 06 90
18 68 d0 f8 44 02 07 90 18 68 d0 f8 48 02 08 90
18 68 d0 f8 7c 02 09 90 18 68 d0 f8 14 04 0a 90
18 68 d0 f8 44 03 0b 90 18 68 d0 f8 48 03 0c 90
18 68 d0 f8 4c 03 0d 90 18 68 d0 f8 50 03 0e 90
18 68 10 91 d0 f8 54 03 0f 90 18 68 d0 f8 18 04
11 90 18 68 d0 f8 e0 02 12 90 18 68 d0 f8 e4 02
13 90 18 68 d0 f8 30 03 14 90 18 68 d0 f8 10 04
15 90 18 68 d0 f8 b8 03 16 90 18 68 d0 f8 64 03
17 90 18 68 d0 f8 68 03 18 90 18 68 d0 f8 6c 03
19 90 18 68 1b 91 d0 f8 70 03 1a 90 1b 68 01 a8
d3 f8 4c 13 0b 68 43 f4 80 73 0b 60 13 68 1b 68
d3 f8 e0 12 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 e4 12 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 18 14 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 bc 14 0b 68 43 f4 80 73 0b 60 13 68 06 a9
1b 68 d3 f8 e0 21 13 68 43 f4 80 73 13 60 01 23
11 aa 00 f0 1f fd 1d b0 5d f8 04 fb bc 97 30 40
08 b5 27 4a 27 4b 12 68 1b 68 27 49 1b 68 11 60
26 4a 93 42 40 d0 0d d8 20 3a 93 42 34 d0 10 32
93 42 39 d0 a2 f5 88 72 93 42 20 d0 20 48 02 f0
09 fb 24 e0 1f 4a 93 42 06 d0 0d d8 1e 4a 93 42
2a d0 1e 4a 93 42 f1 d1 1d 4b 1e 4a 1b 68 1a 60
1d 4b 1e 4a 1b 68 11 e0 1d 4a 93 42 e6 d1 18 4b
1c 4a 1b 68 1a 60 18 4b 1b 4a 1b 68 06 e0 14 4b
1a 4a 1b 68 1a 60 14 4b 19 4a 1b 68 1a 60 19 4b
19 4a 1b 68 1a 60 08 bd 0d 4b 18 4a 1b 68 1a 60
0d 4b 17 4a 1b 68 f1 e7 09 4b 16 4a 1b 68 f6 e7
bc 97 30 40 bc 70 30 40 88 72 30 40 20 02 30 44
2d 86 30 40 10 01 60 44 30 02 30 44 00 01 60 44
94 92 30 40 38 95 30 40 b8 97 30 40 58 95 30 40
00 01 70 44 78 96 30 40 98 96 30 40 b8 92 30 40
18 94 30 40 90 92 30 40 c0 70 30 40 d8 92 30 40
f8 92 30 40 98 92 30 40 04 4b 18 68 bf f3 5f 8f
20 f0 15 00 40 05 40 0d 70 47 00 bf 04 7b 30 4a
70 47 00 00 10 b5 0f 4b 98 6a bf f3 5f 8f 0e 4b
d9 f8 c4 20 a0 fb 03 01 b2 eb 51 2f 4f ea 51 24
d9 f8 c4 10 d9 f8 c0 20 22 44 84 bf 02 f5 5a 22
02 f5 e8 62 52 1a c9 f8 c0 20 c9 f8 c4 40 d9 f8
c0 00 10 bd 00 20 03 48 b5 81 4e 1b bf f3 5f 8f
00 20 03 4b d8 62 bf f3 5f 8f 2b 22 5a 62 70 47
00 20 03 48 10 b5 04 46 ff f7 cc ff 00 1b 10 bd
4f f4 96 53 58 43 09 4b 09 4a a0 fb 03 01 8b 09
OOB:
ff ff c8 b0 e8 12 b2 4a
63 70 83 0f c6 76 57 00
0d 20 e0 06 66 b6 1a b4
03 f7 8e d4 44 00 8d 04
79 b3 3c e6 30 0f bf da
d5 af 87 00 ef a4 e7 b4
07 db 1e b0 1c 2d bc 31
3b 00 ff ff ff ff ff ff
>
> > mmc dev 0
> #replace 0 with whatever points to SD-card
=> mmc dev 0
switch to partitions #0, OK
mmc0 is current device
> > nand read $loadaddr 0 800
> #loadaddr is any address in RAM which is free for use.
=> nand read $loadaddr 0 800
NAND read: device 0 offset 0x0, size 0x800
Scanning device for bad blocks
ecc: 0
ecc: 0
ecc: 0
ecc: 0
2048 bytes read: OK
> > fatwrite mmc 0:1 $loadaddr nand.org 800
=> fatwrite mmc 0:1 $loadaddr nand.org 800
2048 bytes written in 3 ms (666 KiB/s)
> > fatload mmc 0:1 $loadaddr nand.org
=> fatload mmc 0:1 $loadaddr nand.org
2048 bytes read in 10 ms (199.2 KiB/s)
> > nand write $loadaddr 0 800
=> nand write $loadaddr 0 800
NAND write: device 0 offset 0x0, size 0x800
ecc: fc67657
ecc: f78ed444
ecc: dad5af87
ecc: 2dbc313b
ecc: 0
ecc: 0
ecc: 0
ecc: 0
2048 bytes written: OK
> Now please run the below test on the offending commit 04fcd25873 after applying
> the patch (at end).
> > nand dump 0
=> nand dump 0
Page 00000000 dump:
40 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 43 48 53 45 54 54 49 4e 47 53 00 00
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c1 c0 c0 c0 00 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
dc 99 00 00 00 00 30 40 ff ff ff ea 1a 06 00 ea
00 00 0f e1 1f 10 00 e2 1a 00 31 e3 1f 00 c0 13
13 00 80 13 c0 00 80 e3 00 f0 29 e1 06 00 00 eb
1d 00 00 eb 8a 06 00 eb 15 0f 07 ee 9a 0f 07 ee
95 0f 07 ee 1e ff 2f e1 f0 ff ff ea 00 00 a0 e3
17 0f 08 ee 15 0f 07 ee d5 0f 07 ee 9a 0f 07 ee
95 0f 07 ee 10 0f 11 ee 02 0a c0 e3 07 00 c0 e3
02 00 80 e3 02 0b 80 e3 01 0a 80 e3 10 0f 01 ee
0e 50 a0 e1 10 1f 10 ee 21 3a a0 e1 0f 30 03 e2
0f 40 01 e2 03 22 a0 e1 02 20 84 e1 0c 00 9f e5
07 00 c0 e3 00 d0 a0 e1 05 f0 a0 e1 64 06 00 ea
00 df 30 40 06 4b 1b 68 1b 68 1b 68 1b 68 bf f3
5f 8f 04 4a 03 f0 1f 03 52 f8 23 00 70 47 00 bf
90 92 30 40 68 6f 30 40 01 4b 03 60 70 47 00 bf
28 86 30 40 00 20 70 47 30 b5 47 4b 19 68 03 f1
80 63 a3 f5 3b 43 99 42 79 d0 44 4a 91 42 0c bf
4f f0 9e 32 4f f0 7c 32 bf f3 5f 8f 40 4b 18 68
00 68 d0 f8 e4 00 02 60 bf f3 5f 8f 18 68 22 f4
c0 24 00 68 d0 f8 e8 00 02 60 bf f3 5f 8f 18 68
00 68 d0 f8 ec 00 04 60 bf f3 5f 8f 18 68 00 68
d0 f8 f0 50 33 48 28 60 bf f3 5f 8f 1d 68 2d 68
d5 f8 f4 50 2a 60 bf f3 5f 8f 1d 68 2d 68 d5 f8
f8 50 2a 60 bf f3 5f 8f 1a 68 12 68 d2 f8 fc 20
14 60 bf f3 5f 8f 1a 68 12 68 d2 f8 00 21 10 60
1a 68 12 68 92 6c 12 68 bf f3 5f 8f 92 b2 92 b9
bf f3 5f 8f 1a 68 12 68 d0 6c 1f 4a 02 60 bf f3
5f 8f 18 68 00 68 00 6d 02 60 bf f3 5f 8f 18 68
00 68 40 6d 02 60 1a 68 12 68 d2 f8 84 21 12 68
bf f3 5f 8f 3a b9 bf f3 5f 8f 1a 68 13 48 12 68
d2 f8 84 21 10 60 12 4a 91 42 0b d8 bf f3 5f 8f
1b 68 10 4a 1b 68 d3 f8 88 31 1a 60 30 bd 4f f0
1c 32 89 e7 1a 68 12 68 d2 f8 88 21 12 68 bf f3
5f 8f 00 2a ea d0 f1 e7 00 bc 30 40 00 02 30 44
90 92 30 40 0f 8c 88 a0 0f 04 01 04 10 01 4d 1c
ff 00 60 44 00 40 08 99 08 b5 00 f0 50 fa 1f 4b
98 42 a3 f5 6f 03 a3 f2 93 43 31 d0 0a d8 1c 4a
90 42 19 d0 02 f5 80 12 01 32 90 42 17 d0 4f f0
ff 32 12 e0 17 4a 90 42 f9 d1 17 4a 12 68 bf f3
5f 8f 16 49 8a 42 1d d0 01 f1 00 51 a1 f5 1c 31
8a 42 19 d0 12 4a 00 e0 12 4a 1a 60 08 bd 0e 4a
12 68 bf f3 5f 8f 10 49 8a 42 05 d0 01 f1 80 51
8a 42 03 d0 0d 4a f0 e7 0d 4a ee e7 0d 4a ec e7
0d 4a ea e7 0d 4a e8 e7 0d 4a e6 e7 93 c0 1f 41
91 c0 0f 41 9a c0 2f 41 04 22 00 4a 2f 50 97 0b
00 01 60 44 00 01 30 44 2f c0 95 3b 00 02 30 44
10 02 30 44 20 02 30 44 30 02 30 44 00 01 70 44
10 01 60 44 10 4b 1a 68 12 68 d2 f8 30 21 12 68
bf f3 5f 8f 22 f0 88 62 bf f3 5f 8f 19 68 09 68
d1 f8 30 11 0a 60 1a 68 12 68 d2 f8 30 21 12 68
bf f3 5f 8f 42 f0 8c 62 bf f3 5f 8f 1b 68 1b 68
d3 f8 30 31 1a 60 70 47 90 92 30 40 00 b5 4f 4a
9d b0 13 68 19 68 d1 f8 1c 13 01 91 19 68 d1 f8
dc 12 02 91 19 68 d1 f8 38 12 03 91 19 68 d1 f8
74 12 04 91 00 21 05 91 18 68 d0 f8 10 02 06 90
18 68 d0 f8 44 02 07 90 18 68 d0 f8 48 02 08 90
18 68 d0 f8 7c 02 09 90 18 68 d0 f8 14 04 0a 90
18 68 d0 f8 44 03 0b 90 18 68 d0 f8 48 03 0c 90
18 68 d0 f8 4c 03 0d 90 18 68 d0 f8 50 03 0e 90
18 68 10 91 d0 f8 54 03 0f 90 18 68 d0 f8 18 04
11 90 18 68 d0 f8 e0 02 12 90 18 68 d0 f8 e4 02
13 90 18 68 d0 f8 30 03 14 90 18 68 d0 f8 10 04
15 90 18 68 d0 f8 b8 03 16 90 18 68 d0 f8 64 03
17 90 18 68 d0 f8 68 03 18 90 18 68 d0 f8 6c 03
19 90 18 68 1b 91 d0 f8 70 03 1a 90 1b 68 01 a8
d3 f8 4c 13 0b 68 43 f4 80 73 0b 60 13 68 1b 68
d3 f8 e0 12 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 e4 12 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 18 14 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 bc 14 0b 68 43 f4 80 73 0b 60 13 68 06 a9
1b 68 d3 f8 e0 21 13 68 43 f4 80 73 13 60 01 23
11 aa 00 f0 1f fd 1d b0 5d f8 04 fb bc 97 30 40
08 b5 27 4a 27 4b 12 68 1b 68 27 49 1b 68 11 60
26 4a 93 42 40 d0 0d d8 20 3a 93 42 34 d0 10 32
93 42 39 d0 a2 f5 88 72 93 42 20 d0 20 48 02 f0
09 fb 24 e0 1f 4a 93 42 06 d0 0d d8 1e 4a 93 42
2a d0 1e 4a 93 42 f1 d1 1d 4b 1e 4a 1b 68 1a 60
1d 4b 1e 4a 1b 68 11 e0 1d 4a 93 42 e6 d1 18 4b
1c 4a 1b 68 1a 60 18 4b 1b 4a 1b 68 06 e0 14 4b
1a 4a 1b 68 1a 60 14 4b 19 4a 1b 68 1a 60 19 4b
19 4a 1b 68 1a 60 08 bd 0d 4b 18 4a 1b 68 1a 60
0d 4b 17 4a 1b 68 f1 e7 09 4b 16 4a 1b 68 f6 e7
bc 97 30 40 bc 70 30 40 88 72 30 40 20 02 30 44
2d 86 30 40 10 01 60 44 30 02 30 44 00 01 60 44
94 92 30 40 38 95 30 40 b8 97 30 40 58 95 30 40
00 01 70 44 78 96 30 40 98 96 30 40 b8 92 30 40
18 94 30 40 90 92 30 40 c0 70 30 40 d8 92 30 40
f8 92 30 40 98 92 30 40 04 4b 18 68 bf f3 5f 8f
20 f0 15 00 40 05 40 0d 70 47 00 bf 04 7b 30 4a
70 47 00 00 10 b5 0f 4b 98 6a bf f3 5f 8f 0e 4b
d9 f8 c4 20 a0 fb 03 01 b2 eb 51 2f 4f ea 51 24
d9 f8 c4 10 d9 f8 c0 20 22 44 84 bf 02 f5 5a 22
02 f5 e8 62 52 1a c9 f8 c0 20 c9 f8 c4 40 d9 f8
c0 00 10 bd 00 20 03 48 b5 81 4e 1b bf f3 5f 8f
00 20 03 4b d8 62 bf f3 5f 8f 2b 22 5a 62 70 47
00 20 03 48 10 b5 04 46 ff f7 cc ff 00 1b 10 bd
4f f4 96 53 58 43 09 4b 09 4a a0 fb 03 01 8b 09
OOB:
ff ff c8 b0 e8 12 b2 4a
63 70 83 0f c6 76 57 00
0d 20 e0 06 66 b6 1a b4
03 f7 8e d4 44 00 8d 04
79 b3 3c e6 30 0f bf da
d5 af 87 00 ef a4 e7 b4
07 db 1e b0 1c 2d bc 31
3b 00 ff ff ff ff ff ff
> > mmc dev 0
> #replace 0 with whatever points to SD-card
=> mmc dev 0
switch to partitions #0, OK
mmc0 is current device
""" NOTE """
# Here I did a nand read, and re-write to the "nand.post" file. It
# shouldn't affect the results, but I kept the commands and output for
# transparency.
=> nand read $loadaddr 0 800
NAND read: device 0 offset 0x0, size 0x800
Scanning device for bad blocks
ecc: 0
ecc: 0
ecc: 0
ecc: 0
2048 bytes read: OK
=> fatwrite mmc 0:1 $loadaddr nand.post 800
2048 bytes written in 3 ms (666 KiB/s)
> > fatload mmc 0:1 $loadaddr nand.org
=> fatload mmc 0:1 $loadaddr nand.org
2048 bytes read in 10 ms (199.2 KiB/s)
> > nand write $loadaddr 0 800
=> nand write $loadaddr 0 800
NAND write: device 0 offset 0x0, size 0x800
ecc: fc67657
ecc: f78ed444
ecc: dad5af87
ecc: 2dbc313b
ecc: 0
ecc: 0
ecc: 0
ecc: 0
2048 bytes written: OK
> Please send me the logs of both tests and the nand.org file so I can try it out here. Thanks!
All are attached.
However I have some other initial findings:
I swapped in just U-Boot (not the SPL) with your patch, and everything
seems to work!
The issue of Uncorrectable ECC errors spam came from the SPL. Here's a
snippet of the boot log with the "ecc" print as well as your patch:
U-Boot SPL 2023.04-00029-g26a9ce5314-dirty (May 17 2023 - 12:06:49 -0700)
OMAP4460-GP ES1.1
Trying to boot from NAND
ecc: 2420106
ecc: ebd922f6
ecc: 333f844f
ecc: ab812f72
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
ecc: 2420106
ecc: ebd922f6
ecc: 333f844f
ecc: ab812f72
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
omap-elm: uncorrectable ECC errors
Historically when I saw "uncorrectable ECC errors" that meant I should
grab a cup of coffee, problems were going to happen. However, in this
scenario, if I let the SPL spew the ECC error prints, it eventually
loads U-Boot from NAND. And U-Boot successfully loads the kernel, DTB,
and boots the filesystem (with the "ecc: %x" prints slowing things down
right now)
Here's where U-Boot loads the DTB:
Loading file 'boot/omap4-ia-decoder-card.dtb' to addr 0x88000000...
ecc: 0
... Repeated over and over ...
ecc: 0
Done
Unmounting UBIFS volume rootfs-a!
So I'm thinking either:
1. I'm doing something horribly wrong and have been getting away with
it. The patch simply highlights this. Or...
2. There's an issue with how the SPL is determining ECC errors, and it
is incorrectly reporting errors.
I hope this information is useful, and let me know if there are any
other tests I can run.
Many thanks,
Colin Foster
[-- Attachment #2: both_boots.log --]
[-- Type: text/plain, Size: 17709 bytes --]
U-Boot SPL 2023.04-00029-g26a9ce5314 (May 17 2023 - 09:59:34 -0700)
OMAP4460-GP ES1.1
Trying to boot from MMC1
U-Boot 2023.04-00029-g26a9ce5314-dirty (May 17 2023 - 10:04:13 -0700)
CPU : OMAP4460-GP ES1.1
Model: Phytec PCM-959 Eval Board
Board: OMAP4 PCM959
DRAM: 1 GiB
Core: 110 devices, 10 uclasses, devicetree: separate
NAND: device found, Manufacturer ID: 0x2c, Chip ID: 0xb3
Micron MT29F8G16ADBDAH4
1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
1024 MiB
MMC: OMAP SD/MMC: 0
Loading Environment from FAT... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment
Net: No ethernet found.
Hit any key to stop autoboot: 0
=> nand dump 0
Page 00000000 dump:
40 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 43 48 53 45 54 54 49 4e 47 53 00 00
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c1 c0 c0 c0 00 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
dc 99 00 00 00 00 30 40 ff ff ff ea 1a 06 00 ea
00 00 0f e1 1f 10 00 e2 1a 00 31 e3 1f 00 c0 13
13 00 80 13 c0 00 80 e3 00 f0 29 e1 06 00 00 eb
1d 00 00 eb 8a 06 00 eb 15 0f 07 ee 9a 0f 07 ee
95 0f 07 ee 1e ff 2f e1 f0 ff ff ea 00 00 a0 e3
17 0f 08 ee 15 0f 07 ee d5 0f 07 ee 9a 0f 07 ee
95 0f 07 ee 10 0f 11 ee 02 0a c0 e3 07 00 c0 e3
02 00 80 e3 02 0b 80 e3 01 0a 80 e3 10 0f 01 ee
0e 50 a0 e1 10 1f 10 ee 21 3a a0 e1 0f 30 03 e2
0f 40 01 e2 03 22 a0 e1 02 20 84 e1 0c 00 9f e5
07 00 c0 e3 00 d0 a0 e1 05 f0 a0 e1 64 06 00 ea
00 df 30 40 06 4b 1b 68 1b 68 1b 68 1b 68 bf f3
5f 8f 04 4a 03 f0 1f 03 52 f8 23 00 70 47 00 bf
90 92 30 40 68 6f 30 40 01 4b 03 60 70 47 00 bf
28 86 30 40 00 20 70 47 30 b5 47 4b 19 68 03 f1
80 63 a3 f5 3b 43 99 42 79 d0 44 4a 91 42 0c bf
4f f0 9e 32 4f f0 7c 32 bf f3 5f 8f 40 4b 18 68
00 68 d0 f8 e4 00 02 60 bf f3 5f 8f 18 68 22 f4
c0 24 00 68 d0 f8 e8 00 02 60 bf f3 5f 8f 18 68
00 68 d0 f8 ec 00 04 60 bf f3 5f 8f 18 68 00 68
d0 f8 f0 50 33 48 28 60 bf f3 5f 8f 1d 68 2d 68
d5 f8 f4 50 2a 60 bf f3 5f 8f 1d 68 2d 68 d5 f8
f8 50 2a 60 bf f3 5f 8f 1a 68 12 68 d2 f8 fc 20
14 60 bf f3 5f 8f 1a 68 12 68 d2 f8 00 21 10 60
1a 68 12 68 92 6c 12 68 bf f3 5f 8f 92 b2 92 b9
bf f3 5f 8f 1a 68 12 68 d0 6c 1f 4a 02 60 bf f3
5f 8f 18 68 00 68 00 6d 02 60 bf f3 5f 8f 18 68
00 68 40 6d 02 60 1a 68 12 68 d2 f8 84 21 12 68
bf f3 5f 8f 3a b9 bf f3 5f 8f 1a 68 13 48 12 68
d2 f8 84 21 10 60 12 4a 91 42 0b d8 bf f3 5f 8f
1b 68 10 4a 1b 68 d3 f8 88 31 1a 60 30 bd 4f f0
1c 32 89 e7 1a 68 12 68 d2 f8 88 21 12 68 bf f3
5f 8f 00 2a ea d0 f1 e7 00 bc 30 40 00 02 30 44
90 92 30 40 0f 8c 88 a0 0f 04 01 04 10 01 4d 1c
ff 00 60 44 00 40 08 99 08 b5 00 f0 50 fa 1f 4b
98 42 a3 f5 6f 03 a3 f2 93 43 31 d0 0a d8 1c 4a
90 42 19 d0 02 f5 80 12 01 32 90 42 17 d0 4f f0
ff 32 12 e0 17 4a 90 42 f9 d1 17 4a 12 68 bf f3
5f 8f 16 49 8a 42 1d d0 01 f1 00 51 a1 f5 1c 31
8a 42 19 d0 12 4a 00 e0 12 4a 1a 60 08 bd 0e 4a
12 68 bf f3 5f 8f 10 49 8a 42 05 d0 01 f1 80 51
8a 42 03 d0 0d 4a f0 e7 0d 4a ee e7 0d 4a ec e7
0d 4a ea e7 0d 4a e8 e7 0d 4a e6 e7 93 c0 1f 41
91 c0 0f 41 9a c0 2f 41 04 22 00 4a 2f 50 97 0b
00 01 60 44 00 01 30 44 2f c0 95 3b 00 02 30 44
10 02 30 44 20 02 30 44 30 02 30 44 00 01 70 44
10 01 60 44 10 4b 1a 68 12 68 d2 f8 30 21 12 68
bf f3 5f 8f 22 f0 88 62 bf f3 5f 8f 19 68 09 68
d1 f8 30 11 0a 60 1a 68 12 68 d2 f8 30 21 12 68
bf f3 5f 8f 42 f0 8c 62 bf f3 5f 8f 1b 68 1b 68
d3 f8 30 31 1a 60 70 47 90 92 30 40 00 b5 4f 4a
9d b0 13 68 19 68 d1 f8 1c 13 01 91 19 68 d1 f8
dc 12 02 91 19 68 d1 f8 38 12 03 91 19 68 d1 f8
74 12 04 91 00 21 05 91 18 68 d0 f8 10 02 06 90
18 68 d0 f8 44 02 07 90 18 68 d0 f8 48 02 08 90
18 68 d0 f8 7c 02 09 90 18 68 d0 f8 14 04 0a 90
18 68 d0 f8 44 03 0b 90 18 68 d0 f8 48 03 0c 90
18 68 d0 f8 4c 03 0d 90 18 68 d0 f8 50 03 0e 90
18 68 10 91 d0 f8 54 03 0f 90 18 68 d0 f8 18 04
11 90 18 68 d0 f8 e0 02 12 90 18 68 d0 f8 e4 02
13 90 18 68 d0 f8 30 03 14 90 18 68 d0 f8 10 04
15 90 18 68 d0 f8 b8 03 16 90 18 68 d0 f8 64 03
17 90 18 68 d0 f8 68 03 18 90 18 68 d0 f8 6c 03
19 90 18 68 1b 91 d0 f8 70 03 1a 90 1b 68 01 a8
d3 f8 4c 13 0b 68 43 f4 80 73 0b 60 13 68 1b 68
d3 f8 e0 12 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 e4 12 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 18 14 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 bc 14 0b 68 43 f4 80 73 0b 60 13 68 06 a9
1b 68 d3 f8 e0 21 13 68 43 f4 80 73 13 60 01 23
11 aa 00 f0 1f fd 1d b0 5d f8 04 fb bc 97 30 40
08 b5 27 4a 27 4b 12 68 1b 68 27 49 1b 68 11 60
26 4a 93 42 40 d0 0d d8 20 3a 93 42 34 d0 10 32
93 42 39 d0 a2 f5 88 72 93 42 20 d0 20 48 02 f0
09 fb 24 e0 1f 4a 93 42 06 d0 0d d8 1e 4a 93 42
2a d0 1e 4a 93 42 f1 d1 1d 4b 1e 4a 1b 68 1a 60
1d 4b 1e 4a 1b 68 11 e0 1d 4a 93 42 e6 d1 18 4b
1c 4a 1b 68 1a 60 18 4b 1b 4a 1b 68 06 e0 14 4b
1a 4a 1b 68 1a 60 14 4b 19 4a 1b 68 1a 60 19 4b
19 4a 1b 68 1a 60 08 bd 0d 4b 18 4a 1b 68 1a 60
0d 4b 17 4a 1b 68 f1 e7 09 4b 16 4a 1b 68 f6 e7
bc 97 30 40 bc 70 30 40 88 72 30 40 20 02 30 44
2d 86 30 40 10 01 60 44 30 02 30 44 00 01 60 44
94 92 30 40 38 95 30 40 b8 97 30 40 58 95 30 40
00 01 70 44 78 96 30 40 98 96 30 40 b8 92 30 40
18 94 30 40 90 92 30 40 c0 70 30 40 d8 92 30 40
f8 92 30 40 98 92 30 40 04 4b 18 68 bf f3 5f 8f
20 f0 15 00 40 05 40 0d 70 47 00 bf 04 7b 30 4a
70 47 00 00 10 b5 0f 4b 98 6a bf f3 5f 8f 0e 4b
d9 f8 c4 20 a0 fb 03 01 b2 eb 51 2f 4f ea 51 24
d9 f8 c4 10 d9 f8 c0 20 22 44 84 bf 02 f5 5a 22
02 f5 e8 62 52 1a c9 f8 c0 20 c9 f8 c4 40 d9 f8
c0 00 10 bd 00 20 03 48 b5 81 4e 1b bf f3 5f 8f
00 20 03 4b d8 62 bf f3 5f 8f 2b 22 5a 62 70 47
00 20 03 48 10 b5 04 46 ff f7 cc ff 00 1b 10 bd
4f f4 96 53 58 43 09 4b 09 4a a0 fb 03 01 8b 09
OOB:
ff ff c8 b0 e8 12 b2 4a
63 70 83 0f c6 76 57 00
0d 20 e0 06 66 b6 1a b4
03 f7 8e d4 44 00 8d 04
79 b3 3c e6 30 0f bf da
d5 af 87 00 ef a4 e7 b4
07 db 1e b0 1c 2d bc 31
3b 00 ff ff ff ff ff ff
=> mmc dev 0
switch to partitions #0, OK
mmc0 is current device
=> nand read $loadaddr 0 800
NAND read: device 0 offset 0x0, size 0x800
Scanning device for bad blocks
ecc: 0
ecc: 0
ecc: 0
ecc: 0
2048 bytes read: OK
=> fatwrite mmc 0:1 $loadaddr nand.org 800
2048 bytes written in 3 ms (666 KiB/s)
=> fatload mmc 0:1 $loadaddr nand.org
2048 bytes read in 10 ms (199.2 KiB/s)
=> nand write $loadaddr 0 800
NAND write: device 0 offset 0x0, size 0x800
ecc: fc67657
ecc: f78ed444
ecc: dad5af87
ecc: 2dbc313b
ecc: 0
ecc: 0
ecc: 0
ecc: 0
2048 bytes written: OK
=>
=>
=>
U-Boot SPL 2023.04-00029-g26a9ce5314 (May 17 2023 - 09:59:34 -0700)
OMAP4460-GP ES1.1
Trying to boot from MMC1
U-Boot 2023.04-00029-g26a9ce5314-dirty (May 17 2023 - 10:12:21 -0700)
CPU : OMAP4460-GP ES1.1
Model: Phytec PCM-959 Eval Board
Board: OMAP4 PCM959
DRAM: 1 GiB
Core: 110 devices, 10 uclasses, devicetree: separate
NAND: device found, Manufacturer ID: 0x2c, Chip ID: 0xb3
Micron MT29F8G16ADBDAH4
1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
1024 MiB
MMC: OMAP SD/MMC: 0
Loading Environment from FAT... *** Error - No Valid Environment Area found
*** Warning - bad env area, using default environment
Net: No ethernet found.
Hit any key to stop autoboot: 0
=>
=> nand dump 0
Page 00000000 dump:
40 00 00 00 0c 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 43 48 53 45 54 54 49 4e 47 53 00 00
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
c1 c0 c0 c0 00 01 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
dc 99 00 00 00 00 30 40 ff ff ff ea 1a 06 00 ea
00 00 0f e1 1f 10 00 e2 1a 00 31 e3 1f 00 c0 13
13 00 80 13 c0 00 80 e3 00 f0 29 e1 06 00 00 eb
1d 00 00 eb 8a 06 00 eb 15 0f 07 ee 9a 0f 07 ee
95 0f 07 ee 1e ff 2f e1 f0 ff ff ea 00 00 a0 e3
17 0f 08 ee 15 0f 07 ee d5 0f 07 ee 9a 0f 07 ee
95 0f 07 ee 10 0f 11 ee 02 0a c0 e3 07 00 c0 e3
02 00 80 e3 02 0b 80 e3 01 0a 80 e3 10 0f 01 ee
0e 50 a0 e1 10 1f 10 ee 21 3a a0 e1 0f 30 03 e2
0f 40 01 e2 03 22 a0 e1 02 20 84 e1 0c 00 9f e5
07 00 c0 e3 00 d0 a0 e1 05 f0 a0 e1 64 06 00 ea
00 df 30 40 06 4b 1b 68 1b 68 1b 68 1b 68 bf f3
5f 8f 04 4a 03 f0 1f 03 52 f8 23 00 70 47 00 bf
90 92 30 40 68 6f 30 40 01 4b 03 60 70 47 00 bf
28 86 30 40 00 20 70 47 30 b5 47 4b 19 68 03 f1
80 63 a3 f5 3b 43 99 42 79 d0 44 4a 91 42 0c bf
4f f0 9e 32 4f f0 7c 32 bf f3 5f 8f 40 4b 18 68
00 68 d0 f8 e4 00 02 60 bf f3 5f 8f 18 68 22 f4
c0 24 00 68 d0 f8 e8 00 02 60 bf f3 5f 8f 18 68
00 68 d0 f8 ec 00 04 60 bf f3 5f 8f 18 68 00 68
d0 f8 f0 50 33 48 28 60 bf f3 5f 8f 1d 68 2d 68
d5 f8 f4 50 2a 60 bf f3 5f 8f 1d 68 2d 68 d5 f8
f8 50 2a 60 bf f3 5f 8f 1a 68 12 68 d2 f8 fc 20
14 60 bf f3 5f 8f 1a 68 12 68 d2 f8 00 21 10 60
1a 68 12 68 92 6c 12 68 bf f3 5f 8f 92 b2 92 b9
bf f3 5f 8f 1a 68 12 68 d0 6c 1f 4a 02 60 bf f3
5f 8f 18 68 00 68 00 6d 02 60 bf f3 5f 8f 18 68
00 68 40 6d 02 60 1a 68 12 68 d2 f8 84 21 12 68
bf f3 5f 8f 3a b9 bf f3 5f 8f 1a 68 13 48 12 68
d2 f8 84 21 10 60 12 4a 91 42 0b d8 bf f3 5f 8f
1b 68 10 4a 1b 68 d3 f8 88 31 1a 60 30 bd 4f f0
1c 32 89 e7 1a 68 12 68 d2 f8 88 21 12 68 bf f3
5f 8f 00 2a ea d0 f1 e7 00 bc 30 40 00 02 30 44
90 92 30 40 0f 8c 88 a0 0f 04 01 04 10 01 4d 1c
ff 00 60 44 00 40 08 99 08 b5 00 f0 50 fa 1f 4b
98 42 a3 f5 6f 03 a3 f2 93 43 31 d0 0a d8 1c 4a
90 42 19 d0 02 f5 80 12 01 32 90 42 17 d0 4f f0
ff 32 12 e0 17 4a 90 42 f9 d1 17 4a 12 68 bf f3
5f 8f 16 49 8a 42 1d d0 01 f1 00 51 a1 f5 1c 31
8a 42 19 d0 12 4a 00 e0 12 4a 1a 60 08 bd 0e 4a
12 68 bf f3 5f 8f 10 49 8a 42 05 d0 01 f1 80 51
8a 42 03 d0 0d 4a f0 e7 0d 4a ee e7 0d 4a ec e7
0d 4a ea e7 0d 4a e8 e7 0d 4a e6 e7 93 c0 1f 41
91 c0 0f 41 9a c0 2f 41 04 22 00 4a 2f 50 97 0b
00 01 60 44 00 01 30 44 2f c0 95 3b 00 02 30 44
10 02 30 44 20 02 30 44 30 02 30 44 00 01 70 44
10 01 60 44 10 4b 1a 68 12 68 d2 f8 30 21 12 68
bf f3 5f 8f 22 f0 88 62 bf f3 5f 8f 19 68 09 68
d1 f8 30 11 0a 60 1a 68 12 68 d2 f8 30 21 12 68
bf f3 5f 8f 42 f0 8c 62 bf f3 5f 8f 1b 68 1b 68
d3 f8 30 31 1a 60 70 47 90 92 30 40 00 b5 4f 4a
9d b0 13 68 19 68 d1 f8 1c 13 01 91 19 68 d1 f8
dc 12 02 91 19 68 d1 f8 38 12 03 91 19 68 d1 f8
74 12 04 91 00 21 05 91 18 68 d0 f8 10 02 06 90
18 68 d0 f8 44 02 07 90 18 68 d0 f8 48 02 08 90
18 68 d0 f8 7c 02 09 90 18 68 d0 f8 14 04 0a 90
18 68 d0 f8 44 03 0b 90 18 68 d0 f8 48 03 0c 90
18 68 d0 f8 4c 03 0d 90 18 68 d0 f8 50 03 0e 90
18 68 10 91 d0 f8 54 03 0f 90 18 68 d0 f8 18 04
11 90 18 68 d0 f8 e0 02 12 90 18 68 d0 f8 e4 02
13 90 18 68 d0 f8 30 03 14 90 18 68 d0 f8 10 04
15 90 18 68 d0 f8 b8 03 16 90 18 68 d0 f8 64 03
17 90 18 68 d0 f8 68 03 18 90 18 68 d0 f8 6c 03
19 90 18 68 1b 91 d0 f8 70 03 1a 90 1b 68 01 a8
d3 f8 4c 13 0b 68 43 f4 80 73 0b 60 13 68 1b 68
d3 f8 e0 12 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 e4 12 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 18 14 0b 68 43 f0 80 73 0b 60 13 68 1b 68
d3 f8 bc 14 0b 68 43 f4 80 73 0b 60 13 68 06 a9
1b 68 d3 f8 e0 21 13 68 43 f4 80 73 13 60 01 23
11 aa 00 f0 1f fd 1d b0 5d f8 04 fb bc 97 30 40
08 b5 27 4a 27 4b 12 68 1b 68 27 49 1b 68 11 60
26 4a 93 42 40 d0 0d d8 20 3a 93 42 34 d0 10 32
93 42 39 d0 a2 f5 88 72 93 42 20 d0 20 48 02 f0
09 fb 24 e0 1f 4a 93 42 06 d0 0d d8 1e 4a 93 42
2a d0 1e 4a 93 42 f1 d1 1d 4b 1e 4a 1b 68 1a 60
1d 4b 1e 4a 1b 68 11 e0 1d 4a 93 42 e6 d1 18 4b
1c 4a 1b 68 1a 60 18 4b 1b 4a 1b 68 06 e0 14 4b
1a 4a 1b 68 1a 60 14 4b 19 4a 1b 68 1a 60 19 4b
19 4a 1b 68 1a 60 08 bd 0d 4b 18 4a 1b 68 1a 60
0d 4b 17 4a 1b 68 f1 e7 09 4b 16 4a 1b 68 f6 e7
bc 97 30 40 bc 70 30 40 88 72 30 40 20 02 30 44
2d 86 30 40 10 01 60 44 30 02 30 44 00 01 60 44
94 92 30 40 38 95 30 40 b8 97 30 40 58 95 30 40
00 01 70 44 78 96 30 40 98 96 30 40 b8 92 30 40
18 94 30 40 90 92 30 40 c0 70 30 40 d8 92 30 40
f8 92 30 40 98 92 30 40 04 4b 18 68 bf f3 5f 8f
20 f0 15 00 40 05 40 0d 70 47 00 bf 04 7b 30 4a
70 47 00 00 10 b5 0f 4b 98 6a bf f3 5f 8f 0e 4b
d9 f8 c4 20 a0 fb 03 01 b2 eb 51 2f 4f ea 51 24
d9 f8 c4 10 d9 f8 c0 20 22 44 84 bf 02 f5 5a 22
02 f5 e8 62 52 1a c9 f8 c0 20 c9 f8 c4 40 d9 f8
c0 00 10 bd 00 20 03 48 b5 81 4e 1b bf f3 5f 8f
00 20 03 4b d8 62 bf f3 5f 8f 2b 22 5a 62 70 47
00 20 03 48 10 b5 04 46 ff f7 cc ff 00 1b 10 bd
4f f4 96 53 58 43 09 4b 09 4a a0 fb 03 01 8b 09
OOB:
ff ff c8 b0 e8 12 b2 4a
63 70 83 0f c6 76 57 00
0d 20 e0 06 66 b6 1a b4
03 f7 8e d4 44 00 8d 04
79 b3 3c e6 30 0f bf da
d5 af 87 00 ef a4 e7 b4
07 db 1e b0 1c 2d bc 31
3b 00 ff ff ff ff ff ff
=> mmc dev 0
switch to partitions #0, OK
mmc0 is current device
=> nand read $loadaddr 0 800
NAND read: device 0 offset 0x0, size 0x800
Scanning device for bad blocks
ecc: 0
ecc: 0
ecc: 0
ecc: 0
2048 bytes read: OK
=> fatwrite mmc 0:1 $loadaddr nand.post 800
2048 bytes written in 3 ms (666 KiB/s)
=> fatload mmc 0:1 $loadaddr nand.org
2048 bytes read in 10 ms (199.2 KiB/s)
=> nand write $loadaddr 0 800
NAND write: device 0 offset 0x0, size 0x800
ecc: fc67657
ecc: f78ed444
ecc: dad5af87
ecc: 2dbc313b
ecc: 0
ecc: 0
ecc: 0
ecc: 0
2048 bytes written: OK
[-- Attachment #3: nand.org --]
[-- Type: application/octet-stream, Size: 2048 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-17 19:39 ` Colin Foster
@ 2023-05-18 10:55 ` Roger Quadros
2023-05-18 23:19 ` Colin Foster
0 siblings, 1 reply; 14+ messages in thread
From: Roger Quadros @ 2023-05-18 10:55 UTC (permalink / raw)
To: Colin Foster; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
Hi Colin,
On 17/05/2023 22:39, Colin Foster wrote:
> Hi Roger,
>
> Thanks for the tests. I attached the files and commented in line... but
> at the bottom of this email I have some findings...
>
> On Wed, May 17, 2023 at 04:30:55PM +0300, Roger Quadros wrote:
>> Hi Colin,
>>
>> I just tested this on AM335x EVM which uses BCH8_CODE_HW but 8-bit NAND part.
>> I see that you are using 16-bit NAND.
>>
>> One more difference in u-boot configuration. For me:
>> CONFIG_NAND_OMAP_GPMC_PREFETCH=y
>>
>> Not sure if that matters but let's keep it set for now.
>>
>> For debug can you please apply the patch (at end) to u-boot at commit a95410696d21
>> (before breakage) and run the test.
>>
> All are attached.
>
> However I have some other initial findings:
>
> I swapped in just U-Boot (not the SPL) with your patch, and everything
> seems to work!
>
> The issue of Uncorrectable ECC errors spam came from the SPL. Here's a
> snippet of the boot log with the "ecc" print as well as your patch:
>
Thanks for the tests. Glad to hear issue is narrowed down to SPL.
> U-Boot SPL 2023.04-00029-g26a9ce5314-dirty (May 17 2023 - 12:06:49 -0700)
> OMAP4460-GP ES1.1
> Trying to boot from NAND
> ecc: 2420106
> ecc: ebd922f6
> ecc: 333f844f
> ecc: ab812f72
This is clearly the issue. They should all have been 0.
> omap-elm: uncorrectable ECC errors
> omap-elm: uncorrectable ECC errors
> omap-elm: uncorrectable ECC errors
> omap-elm: uncorrectable ECC errors
> ecc: 2420106
> ecc: ebd922f6
> ecc: 333f844f
> ecc: ab812f72
> omap-elm: uncorrectable ECC errors
> omap-elm: uncorrectable ECC errors
> omap-elm: uncorrectable ECC errors
> omap-elm: uncorrectable ECC errors
Can you please share your spl/u-boot.cfg?
We have a stripped down driver "am335x_spl_bch.c"
that deals with NAND at SPL.
I haven't really looked much at that driver but
it relies on omap_gpmc.c for
ecc.hwctl()
read_buf()
ecc.calculate()
We didn't do any functional change to these functions in commit 04fcd25873
unless something slipped through the cracks.
It seems to rely on following config options
CFG_SYS_NAND_ECCPOS
CONFIG_SYS_NAND_PAGE_COUNT
CONFIG_SYS_NAND_PAGE_SIZE
CONFIG_SYS_NAND_5_ADDR_CYCLE
CFG_SYS_NAND_ECCSIZE
CFG_SYS_NAND_ECCBYTES
CONFIG_SYS_NAND_OOBSIZE
Could you please share what they are set to
for your SPL build?
Meanwhile, I'll try to reproduce this on AM335x-EVM.
--
cheers,
-roger
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-18 10:55 ` Roger Quadros
@ 2023-05-18 23:19 ` Colin Foster
2023-05-19 12:41 ` Roger Quadros
0 siblings, 1 reply; 14+ messages in thread
From: Colin Foster @ 2023-05-18 23:19 UTC (permalink / raw)
To: Roger Quadros; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
[-- Attachment #1: Type: text/plain, Size: 3592 bytes --]
Hi Roger,
I really appreciate the help!
On Thu, May 18, 2023 at 01:55:38PM +0300, Roger Quadros wrote:
> Hi Colin,
>
> On 17/05/2023 22:39, Colin Foster wrote:
> >
> > I swapped in just U-Boot (not the SPL) with your patch, and everything
> > seems to work!
> >
> > The issue of Uncorrectable ECC errors spam came from the SPL. Here's a
> > snippet of the boot log with the "ecc" print as well as your patch:
> >
>
> Thanks for the tests. Glad to hear issue is narrowed down to SPL.
I can "fix" the issue by just commenting out the "ECC uncorrectable
errors" print :-)
>
> > U-Boot SPL 2023.04-00029-g26a9ce5314-dirty (May 17 2023 - 12:06:49 -0700)
> > OMAP4460-GP ES1.1
> > Trying to boot from NAND
> > ecc: 2420106
> > ecc: ebd922f6
> > ecc: 333f844f
> > ecc: ab812f72
>
> This is clearly the issue. They should all have been 0.
Interesting. With the "ecc" prints in U-Boot I also get some non-zero
values:
ecc: 0
ecc: 6bff997b
ecc: 6bff997b
ecc: 6bff997b
Once I'm booted, I can use nanddump. It seems like everything is correct
from the Linux side of things:
# nanddump -f mlo_dump /dev/mtd0
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00020000...
# nanddump -f uboot1_dump /dev/mtd1
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00180000...
# nanddump -f uboot2_dump /dev/mtd2
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00180000...
# nanddump -f /dev/null /dev/mtd3
ECC failed: 0
ECC corrected: 6
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x1fce0000...
ECC: 1 corrected bitflip(s) at offset 0x0ab30800
ECC: 1 corrected bitflip(s) at offset 0x0b008800
ECC: 1 corrected bitflip(s) at offset 0x0deaa000
ECC: 1 corrected bitflip(s) at offset 0x0ea5b000
ECC: 1 corrected bitflip(s) at offset 0x0ecbc000
ECC: 1 corrected bitflip(s) at offset 0x0ed61800
> Can you please share your spl/u-boot.cfg?
Attached
> We have a stripped down driver "am335x_spl_bch.c"
> that deals with NAND at SPL.
> I haven't really looked much at that driver but
> it relies on omap_gpmc.c for
>
> ecc.hwctl()
> read_buf()
> ecc.calculate()
>
> We didn't do any functional change to these functions in commit 04fcd25873
> unless something slipped through the cracks.
I'll take a look at am335x_spl_bch.c and look at what I'm doing different.
I was sad to see that `dump_stack()` didn't work off the bat for me.
>
> It seems to rely on following config options
>
> CFG_SYS_NAND_ECCPOS
{2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, \
13, 14, 15, 16, 17, 18, 19, 20, 21, 22, \
23, 24, 25, 26, 27, 28, 29, 30, 31, 32, \
33, 34, 35, 36, 37, 38, 39, 40, 41, \
42, 43, 44, 45, 46, 47, 48, 49, 50, 51, \
52, 53, 54, 55, 56, 57}
> CONFIG_SYS_NAND_PAGE_COUNT
0x40
> CONFIG_SYS_NAND_PAGE_SIZE
0x800
> CONFIG_SYS_NAND_5_ADDR_CYCLE
1
> CFG_SYS_NAND_ECCSIZE
512
> CFG_SYS_NAND_ECCBYTES
14
> CONFIG_SYS_NAND_OOBSIZE
0x40
> Could you please share what they are set to
> for your SPL build?
All the CFG_* values should be identical for the SPL and U-Boot.
>
> Meanwhile, I'll try to reproduce this on AM335x-EVM.
If you find anything let me know. I'll keep digging on my side as well.
Colin
[-- Attachment #2: u-boot.cfg --]
[-- Type: text/plain, Size: 15811 bytes --]
#define CONFIG_CMD_MTD 1
#define CONFIG_ETH 1
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
#define CONFIG_CMD_FAT 1
#define CONFIG_TOOLS_SHA1 1
#define CONFIG_HAVE_TEXT_BASE 1
#define CONFIG_EFI_DEVICE_PATH_UTIL 1
#define CONFIG_CMD_FDT 1
#define CONFIG_OMAP_SERIAL 1
#define CONFIG_NAND_OMAP_GPMC 1
#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x20000
#define CONFIG_BOOTMETH_VBE_SIMPLE 1
#define CONFIG_CMD_ITEST 1
#define CONFIG_ENV_UBI_PART "main"
#define CONFIG_ERR_PTR_OFFSET 0x0
#define CONFIG_BOOTMETH_SCRIPT 1
#define CONFIG_CMD_EDITENV 1
#define CONFIG_SPL_SPRINTF 1
#define CONFIG_NAND_OMAP_ELM 1
#define CONFIG_CMD_MTDPARTS 1
#define CONFIG_EFI_PLATFORM_LANG_CODES "en-US"
#define CONFIG_SPL_NAND_SUPPORT 1
#define CONFIG_CMD_SETEXPR 1
#define CONFIG_TOOLS_SHA384 1
#define CONFIG_SYS_MAX_NAND_DEVICE 1
#define CONFIG_TOOLS_OF_LIBFDT 1
#define CONFIG_CMD_BOOTP 1
#define CONFIG_SYS_MEM_TOP_HIDE 0x0
#define CONFIG_CMD_PART 1
#define CONFIG_SPL_LEGACY_IMAGE_FORMAT 1
#define CONFIG_ENV_SUPPORT 1
#define CONFIG_SPL_LOGLEVEL 7
#define CONFIG_SPL_USE_ARCH_MEMSET 1
#define CONFIG_SYS_NAND_DRIVER_ECC_LAYOUT 1
#define CONFIG_HAS_VBAR 1
#define CONFIG_CMD_ENV_EXISTS 1
#define CONFIG_VERSION_VARIABLE 1
#define CONFIG_CMD_CRC32 1
#define CONFIG_SYS_LONGHELP 1
#define CONFIG_SYS_NAND_5_ADDR_CYCLE 1
#define CONFIG_GCC_VERSION 90400
#define CONFIG_SYS_LOAD_ADDR 0x82000000
#define CONFIG_HASH 1
#define CONFIG_USE_ARCH_MEMSET 1
#define CONFIG_DISPLAY_BOARDINFO 1
#define CONFIG_CMD_XIMG 1
#define CONFIG_EXPERT 1
#define CONFIG_SYS_EMIF_PRECALCULATED_TIMING_REGS 1
#define CONFIG_CMDLINE 1
#define CONFIG_BOOTDELAY 2
#define CONFIG_BOOTSTD_FULL 1
#define CONFIG_ARCH_OMAP2PLUS 1
#define CONFIG_CMD_BOOTMETH 1
#define CONFIG_SPL_FS_FAT 1
#define CONFIG_BCH 1
#define CONFIG_NR_DRAM_BANKS 4
#define CONFIG_EFI_PARTITION 1
#define CONFIG_SPL_BSS_LIMIT 1
#define CONFIG_SPL_SEPARATE_BSS 1
#define CONFIG_FS_FAT 1
#define CONFIG_SYS_ARM_CACHE_CP15 1
#define CONFIG_SYS_CBSIZE 1024
#define CONFIG_CMD_UBI 1
#define CONFIG_DM_I2C 1
#define CONFIG_SYS_NAND_ONFI_DETECTION 1
#define CONFIG_FWU_NUM_IMAGES_PER_BANK 2
#define CONFIG_SYS_MONITOR_LEN 0
#define CONFIG_SMC911X_32_BIT 1
#define CONFIG_MD5 1
#define CONFIG_BOOTM_LINUX 1
#define CONFIG_DEFAULT_FDT_FILE "omap4-ia-decoder-card.dtb"
#define CONFIG_OMAP44XX 1
#define CONFIG_CREATE_ARCH_SYMLINK 1
#define CONFIG_CMD_CONSOLE 1
#define CONFIG_SUPPORT_OF_CONTROL 1
#define CONFIG_SPL_STRTO 1
#define CONFIG_BLK 1
#define CONFIG_SYS_CPU "armv7"
#define CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR 1
#define CONFIG_SPL_BOARD_INIT 1
#define CONFIG_SYS_SPD_BUS_NUM 0
#define CONFIG_SPL_STACK_R_ADDR 0x82000000
#define CONFIG_BOOTP_PXE_CLIENTARCH 0x15
#define CONFIG_DM_ETH_PHY 1
#define CONFIG_SUPPORT_ACPI 1
#define CONFIG_SYS_THUMB_BUILD 1
#define CONFIG_SYS_CACHELINE_SIZE 64
#define CONFIG_MMC 1
#define CONFIG_DM_ETH 1
#define CONFIG_MTD_PARTITIONS 1
#define CONFIG_BOOTMETH_GLOBAL 1
#define CONFIG_NFS_TIMEOUT 2000
#define CONFIG_SPL_DISPLAY_PRINT 1
#define CONFIG_SYS_ARM_CACHE_WRITEBACK 1
#define CONFIG_TOOLS_MD5 1
#define CONFIG_EFI_EBBR_2_1_CONFORMANCE 1
#define CONFIG_SYS_XTRACE 1
#define CONFIG_FIT 1
#define CONFIG_MTD 1
#define CONFIG_SPL_LIBCOMMON_SUPPORT 1
#define CONFIG_DYNAMIC_SYS_CLK_FREQ 1
#define CONFIG_TOOLS_FIT_SIGNATURE 1
#define CONFIG_BOOTMETH_VBE_SIMPLE_OS 1
#define CONFIG_MISC_INIT_R 1
#define CONFIG_DISTRO_DEFAULTS 1
#define CONFIG_DM_DEVICE_REMOVE 1
#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
#define CONFIG_MMC_WRITE 1
#define CONFIG_SYS_SRAM_BASE 0x0
#define CONFIG_ENV_OVERWRITE 1
#define CONFIG_CMD_NET 1
#define CONFIG_SPL_BSS_MAX_SIZE 0x80000
#define CONFIG_SPL_SIZE_LIMIT 0xc000
#define CONFIG_USB_GADGET_VBUS_DRAW 2
#define CONFIG_CMD_NFS 1
#define CONFIG_SPL_SYS_THUMB_BUILD 1
#define CONFIG_ENV_SIZE 0x40000
#define CONFIG_TOOLS_CRC32 1
#define CONFIG_SUPPORT_RAW_INITRD 1
#define CONFIG_NAND_OMAP_GPMC_PREFETCH 1
#define CONFIG_CMD_FS_GENERIC 1
#define CONFIG_CMD_PING 1
#define CONFIG_SPL_GPIO 1
#define CONFIG_SYS_L2_PL310 1
#define CONFIG_SPL_BUILD 1
#define CONFIG_SPL_PARTITIONS 1
#define CONFIG_SYS_MALLOC_LEN 0x2000000
#define CONFIG_EFI_VAR_BUF_SIZE 16384
#define CONFIG_SYS_I2C_SPEED 100000
#define CONFIG_SERVERIP_FROM_PROXYDHCP_DELAY_MS 100
#define CONFIG_SPL_LIBDISK_SUPPORT 1
#define CONFIG_LOCALVERSION ""
#define CONFIG_USB_EHCI_OMAP 1
#define CONFIG_CMD_MEMINFO 1
#define CONFIG_CUSTOM_SYS_INIT_SP_ADDR 0x4030df00
#define CONFIG_SYS_BOOTM_LEN 0x800000
#define CONFIG_ARCH_SUPPORTS_LTO 1
#define CONFIG_CC_OPTIMIZE_FOR_SIZE 1
#define CONFIG_TFTP_WINDOWSIZE 1
#define CONFIG_REGEX 1
#define CONFIG_EFI_PARTITION_ENTRIES_NUMBERS 128
#define CONFIG_SYS_CONFIG_NAME "ia_decoder_card"
#define CONFIG_TOOLS_FIT 1
#define CONFIG_SPL_SYS_MALLOC_SIMPLE 1
#define CONFIG_SYS_NAND_OOBSIZE 0x40
#define CONFIG_CMD_FLASH 1
#define CONFIG_SPL_SHA1 1
#define CONFIG_USB_OMAP3 1
#define CONFIG_TOOLS_FIT_SIGNATURE_MAX_SIZE 0x10000000
#define CONFIG_CMD_SAVEENV 1
#define CONFIG_SPL_SYS_I2C_LEGACY 1
#define CONFIG_MKIMAGE_DTC_PATH "dtc"
#define CONFIG_SYS_ARM_MMU 1
#define CONFIG_OF_REAL 1
#define CONFIG_USB_HUB_DEBOUNCE_TIMEOUT 1000
#define CONFIG_SPL_TEXT_BASE 0x40300000
#define CONFIG_SYS_NAND_U_BOOT_LOCATIONS 1
#define CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2 1
#define CONFIG_SERIAL_PRESENT 1
#define CONFIG_TOOLS_FIT_PRINT 1
#define CONFIG_SYS_NAND_PAGE_COUNT 0x40
#define CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN 0x100000
#define CONFIG_DM_MMC 1
#define CONFIG_SYS_CONSOLE_INFO_QUIET 1
#define CONFIG_SPL_NAND_DRIVERS 1
#define CONFIG_CMD_NAND 1
#define CONFIG_SPL_EFI_PARTITION 1
#define CONFIG_BUILD_TARGET ""
#define CONFIG_OF_LIST "omap4-ia-decoder-card"
#define CONFIG_SPL_SHARES_INIT_SP_ADDR 1
#define CONFIG_SPL_CRC32 1
#define CONFIG_DM_DEV_READ_INLINE 1
#define CONFIG_DM_MTD 1
#define CONFIG_ENV_UBI_VID_OFFSET 0
#define CONFIG_DM_WARN 1
#define CONFIG_GPIO_EXTRA_HEADER 1
#define CONFIG_BOOTP_DNS 1
#define CONFIG_TOOLS_FIT_FULL_CHECK 1
#define CONFIG_CMD_MEMORY 1
#define CONFIG_SYS_MAXARGS 16
#define CONFIG_MMC_HW_PARTITIONING 1
#define CONFIG_SPL_MTD_SUPPORT 1
#define CONFIG_SUPPORT_SPL 1
#define CONFIG_CMD_RUN 1
#define CONFIG_LMB_USE_MAX_REGIONS 1
#define CONFIG_SYS_PBSIZE 1044
#define CONFIG_ENV_VARS_UBOOT_CONFIG 1
#define CONFIG_SPL_SYS_STACK_F_CHECK_BYTE 0xaa
#define CONFIG_USB 1
#define CONFIG_BOOTP_HOSTNAME 1
#define CONFIG_CMD_SLEEP 1
#define CONFIG_LMB_MAX_REGIONS 16
#define CONFIG_USB_EHCI_HCD 1
#define CONFIG_CMD_SPL_WRITE_SIZE 0x2000
#define CONFIG_POWER 1
#define CONFIG_CPU_V7A 1
#define CONFIG_ENV_MIN_ENTRIES 64
#define CONFIG_NET 1
#define CONFIG_BLOCK_CACHE 1
#define CONFIG_TARGET_OMAP4_IA_DECODER 1
#define CONFIG_SPL_NAND_AM33XX_BCH 1
#define CONFIG_OF_LIBFDT 1
#define CONFIG_TFTP_BLOCKSIZE 1468
#define CONFIG_PHYLIB 1
#define CONFIG_GENERATE_SMBIOS_TABLE 1
#define CONFIG_CMDLINE_EDITING 1
#define CONFIG_CMD_USB 1
#define CONFIG_SPL_TARGET ""
#define CONFIG_DM_SERIAL 1
#define CONFIG_SYS_CONSOLE_IS_IN_ENV 1
#define CONFIG_CMD_EXT2 1
#define CONFIG_CMD_EXT4 1
#define CONFIG_ARCH_FIXUP_FDT_MEMORY 1
#define CONFIG_USB_GADGET_VENDOR_NUM 0x0
#define CONFIG_BOOT_DEFAULTS 1
#define CONFIG_EFI_DT_FIXUP 1
#define CONFIG_SPL_NAND_BASE 1
#define CONFIG_SOC_DEVICE 1
#define CONFIG_ISO_PARTITION 1
#define CONFIG_SYS_MALLOC_CLEAR_ON_INIT 1
#define CONFIG_NET_RETRY_COUNT 5
#define CONFIG_CMD_RANDOM 1
#define CONFIG_STANDALONE_LOAD_ADDR 0x80300000
#define CONFIG_SYS_NAND_MAX_CHIPS 1
#define CONFIG_NOP_PHY 1
#define CONFIG_HUSH_PARSER 1
#define CONFIG_BOOTP_VCI_STRING "U-Boot.armv7"
#define CONFIG_SYS_MMC_MAX_BLK_COUNT 65535
#define CONFIG_DM 1
#define CONFIG_ZLIB 1
#define CONFIG_OF_LIBFDT_ASSUME_MASK 0x0
#define CONFIG_LIB_UUID 1
#define CONFIG_SYS_I2C_OMAP24XX 1
#define CONFIG_CMD_GO 1
#define CONFIG_SDP_LOADADDR 0x0
#define CONFIG_USB_HOST 1
#define CONFIG_CMD_BOOTD 1
#define CONFIG_CMD_BOOTM 1
#define CONFIG_EFI_LOADER_HII 1
#define CONFIG_CMD_BOOTZ 1
#define CONFIG_SYS_NS16550 1
#define CONFIG_SYS_MALLOC_F 1
#define CONFIG_SYS_SRAM_SIZE 0x0
#define CONFIG_CMD_BOOTFLOW 1
#define CONFIG_SPL_MMC 1
#define CONFIG_SYS_RX_ETH_BUFFER 4
#define CONFIG_AUTO_COMPLETE 1
#define CONFIG_EFI_LOAD_FILE2_INITRD 1
#define CONFIG_SPRINTF 1
#define CONFIG_CMD_SYSBOOT 1
#define CONFIG_SYS_SOC "omap4"
#define CONFIG_FWU_NUM_BANKS 2
#define CONFIG_SMC911X 1
#define CONFIG_SYS_HZ 1000
#define CONFIG_SYS_MALLOC_F_LEN 0x4000
#define CONFIG_BOOTMETH_DISTRO 1
#define CONFIG_DOS_PARTITION 1
#define CONFIG_GZIP 1
#define CONFIG_SYS_VENDOR "ia"
#define CONFIG_CLANG_VERSION 0
#define CONFIG_MMC_OMAP_HS 1
#define CONFIG_IMX_DCD_ADDR 0x00910000
#define CONFIG_DM_USB 1
#define CONFIG_USB_ETHER_SMSC95XX 1
#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS 0
#define CONFIG_REQUIRE_SERIAL_CONSOLE 1
#define CONFIG_TOOLS_LIBCRYPTO 1
#define CONFIG_IDENT_STRING ""
#define CONFIG_SYS_NAND_MAX_OOBFREE 32
#define CONFIG_SPL_PRINTF 1
#define CONFIG_MTDIDS_DEFAULT "nand0=nandflash"
#define CONFIG_ENV_SOURCE_FILE ""
#define CONFIG_PRINTF 1
#define CONFIG_SPL_SERIAL 1
#define CONFIG_TOOLS_SHA512 1
#define CONFIG_SERIAL 1
#define CONFIG_CMD_SPL_NAND_OFS 0x0
#define CONFIG_CMD_BOOTFLOW_FULL 1
#define CONFIG_PHY_RESET_DELAY 0
#define CONFIG_SPL_LIBGENERIC_SUPPORT 1
#define CONFIG_DM_STDIO 1
#define CONFIG_LOCALVERSION_AUTO 1
#define CONFIG_SPL_LEGACY_BLOCK 1
#define CONFIG_EFI_ECPT 1
#define CONFIG_SOC_TI 1
#define CONFIG_CMD_DDR3 1
#define CONFIG_SYS_BOOT_RAMDISK_HIGH 1
#define CONFIG_MMC_VERBOSE 1
#define CONFIG_BOOTSTD 1
#define CONFIG_COUNTER_FREQUENCY 0
#define CONFIG_DM_EVENT 1
#define CONFIG_HAS_NAND_LARGE_BADBLOCK_POS 1
#define CONFIG_NET_TFTP_VARS 1
#define CONFIG_SPL_LDSCRIPT "arch/arm/mach-omap2/u-boot-spl.lds"
#define CONFIG_STACK_SIZE 0x1000000
#define CONFIG_USE_PRIVATE_LIBGCC 1
#define CONFIG_CMD_SPL 1
#define CONFIG_CC_IS_GCC 1
#define CONFIG_CMD_DHCP 1
#define CONFIG_LEGACY_IMAGE_FORMAT 1
#define CONFIG_EFI_VARIABLE_FILE_STORE 1
#define CONFIG_BOOTP_GATEWAY 1
#define CONFIG_SYS_PROMPT_HUSH_PS2 "> "
#define CONFIG_CMD_ECHO 1
#define CONFIG_TOOLS_FIT_RSASSA_PSS 1
#define CONFIG_STRTO 1
#define CONFIG_PLATFORM_ELFENTRY "_start"
#define CONFIG_FAT_WRITE 1
#define CONFIG_SYS_CACHE_SHIFT_6 1
#define CONFIG_SYS_FDT_PAD 0x3000
#define CONFIG_SPL_IMAGE "spl/u-boot-spl.bin"
#define CONFIG_USE_ARCH_MEMCPY 1
#define CONFIG_ENV_IS_IN_UBI 1
#define CONFIG_CHARSET 1
#define CONFIG_CMD_MTDPARTS_SHOW_NET_SIZES 1
#define CONFIG_SPL_BSS_START_ADDR 0x80a00000
#define CONFIG_SPL_PAD_TO 0x0
#define CONFIG_FIT_PRINT 1
#define CONFIG_LINKER_LIST_ALIGN 4
#define CONFIG_ENV_UBI_VOLUME_REDUND "env2"
#define CONFIG_OF_CONTROL 1
#define CONFIG_EFI_PARTITION_ENTRIES_OFF 0
#define CONFIG_SPL_OF_LIBFDT_ASSUME_MASK 0xff
#define CONFIG_USE_BOOTFILE 1
#define CONFIG_BOOTFILE "boot/zImage"
#define CONFIG_BOOTP_PXE 1
#define CONFIG_INPUT 1
#define CONFIG_MTD_UBI 1
#define CONFIG_SPL_USE_TINY_PRINTF 1
#define CONFIG_HAS_THUMB2 1
#define CONFIG_FIT_EXTERNAL_OFFSET 0x0
#define CONFIG_TFTP_TSIZE 1
#define CONFIG_SYS_ARCH "arm"
#define CONFIG_NAND_OMAP_ECCSCHEME 6
#define CONFIG_CMD_ASKENV 1
#define CONFIG_MTD_UBI_WL_THRESHOLD 4096
#define CONFIG_SPL_PARTITION_UUIDS 1
#define CONFIG_SYS_BOARD "ia_decoder_card"
#define CONFIG_PARTITION_UUIDS 1
#define CONFIG_MTDPARTS_DEFAULT "mtdparts=nandflash:0x20000(xload_raw),0x180000(u-boot),0x180000(u-boot-2),0x1fce0000(main)"
#define CONFIG_BOOTMETH_DISTRO_PXE 1
#define CONFIG_SPL_NAND_ECC 1
#define CONFIG_DEVICE_TREE_INCLUDES ""
#define CONFIG_SYS_ARM_ARCH 7
#define CONFIG_SPL_USE_ARCH_MEMCPY 1
#define CONFIG_BOOTSTAGE_STASH_SIZE 0x1000
#define CONFIG_MTD_UBI_BEB_LIMIT 20
#define CONFIG_PXE_UTILS 1
#define CONFIG_OF_LIBFDT_OVERLAY 1
#define CONFIG_TEXT_BASE 0x80800000
#define CONFIG_CMD_IMPORTENV 1
#define CONFIG_MMC_QUIRKS 1
#define CONFIG_HAVE_PRIVATE_LIBGCC 1
#define CONFIG_IMX_CONTAINER_CFG ""
#define CONFIG_CMD_EXPORTENV 1
#define CONFIG_USB_HOST_ETHER 1
#define CONFIG_PARTITIONS 1
#define CONFIG_SPL_DOS_PARTITION 1
#define CONFIG_OMAP_GPIO 1
#define CONFIG_OF_TRANSLATE 1
#define CONFIG_SPL_STACK_R 1
#define CONFIG_SYS_NS16550_REG_SIZE -4
#define CONFIG_SYS_MEMTEST_END 0x1000
#define CONFIG_CMD_I2C 1
#define CONFIG_TOOLS_SHA256 1
#define CONFIG_CMD_UBIFS 1
#define CONFIG_MULTI_DTB_FIT_UNCOMPRESS_SZ 0x8000
#define CONFIG_EFI_GRUB_ARM32_WORKAROUND 1
#define CONFIG_CMD_ELF 1
#define CONFIG_CMD_MDIO 1
#define CONFIG_CMD_UBI_RENAME 1
#define CONFIG_SYS_NAND_PAGE_SIZE 0x800
#define CONFIG_WATCHDOG_TIMEOUT_MSECS 60000
#define CONFIG_BOOTP_MAX_ROOT_PATH_LEN 64
#define CONFIG_EFI_LOADER 1
#define CONFIG_CMD_EFICONFIG 1
#define CONFIG_CMD_MEMTEST 1
#define CONFIG_CMD_BOOTEFI_BOOTMGR 1
#define CONFIG_ARP_TIMEOUT 5000
#define CONFIG_SPL_SIZE_LIMIT_PROVIDE_STACK 0x0
#define CONFIG_DM_SEQ_ALIAS 1
#define CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND 0x1a0000
#define CONFIG_GPIO 1
#define CONFIG_EVENT_DYNAMIC 1
#define CONFIG_EVENT 1
#define CONFIG_SYS_RELOC_GD_ENV_ADDR 1
#define CONFIG_FS_EXT4 1
#define CONFIG_CONSOLE_FLUSH_SUPPORT 1
#define CONFIG_CMD_LOADXY_TIMEOUT 90
#define CONFIG_SPL_MAX_SIZE 0xbc00
#define CONFIG_SPL_FRAMEWORK 1
#define CONFIG_SYS_I2C_SLAVE 0xfe
#define CONFIG_SPL_HAS_BSS_LINKER_SECTION 1
#define CONFIG_MTD_RAW_NAND 1
#define CONFIG_BOOTSTAGE_STASH_ADDR 0x0
#define CONFIG_EFI_DEVICE_PATH_TO_TEXT 1
#define CONFIG_SPL 1
#define CONFIG_SPL_NAND_IDENT 1
#define CONFIG_SPL_SYS_NO_VECTOR_TABLE 1
#define CONFIG_ENV_UBI_VOLUME "env1"
#define CONFIG_CMD_SOURCE 1
#define CONFIG_SYS_PROMPT "=> "
#define CONFIG_CMD_MTDPARTS_SPREAD 1
#define CONFIG_MMC_OMAP_HS_ADMA 1
#define CONFIG_BOOTP_BOOTPATH 1
#define CONFIG_USB_STORAGE 1
#define CONFIG_CMD_PXE 1
#define CONFIG_DISPLAY_CPUINFO 1
#define CONFIG_LOGLEVEL 7
#define CONFIG_SYS_REDUNDAND_ENVIRONMENT 1
#define CONFIG_BOOTDEV_ETH 1
#define CONFIG_BAUDRATE 115200
#define CONFIG_SHA1 1
#define CONFIG_SAVEENV 1
#define CONFIG_CRC32 1
#define CONFIG_SPL_SYS_NS16550_SERIAL 1
#define CONFIG_EXT4_WRITE 1
#define CONFIG_MTD_UBI_MODULE 1
#define CONFIG_CMD_ERASEENV 1
#define CONFIG_SYS_MEMTEST_START 0x0
#define CONFIG_SPL_SYS_MALLOC_F_LEN 0x4000
#define CONFIG_CMD_LOADB 1
#define CONFIG_CMD_LOADS 1
#define CONFIG_FS_FAT_MAX_CLUSTSIZE 65536
#define CONFIG_CMD_IMI 1
#define CONFIG_TOOLS_FIT_VERBOSE 1
#define CONFIG_SPL_PAYLOAD "u-boot.img"
#define CONFIG_SPL_POWER 1
#define CONFIG_CMD_EXT4_WRITE 1
#define CONFIG_CONS_INDEX 3
#define CONFIG_LMB 1
#define CONFIG_AUTOBOOT 1
#define CONFIG_CRC8 1
#define CONFIG_CMD_BOOTDEV 1
#define CONFIG_SPL_BANNER_PRINT 1
#define CONFIG_ARM 1
#define CONFIG_RBTREE 1
#define CONFIG_SYS_NAND_BUSWIDTH_16BIT 1
#define CONFIG_EFI_UNICODE_CAPITALIZATION 1
#define CONFIG_CMD_BLOCK_CACHE 1
#define CONFIG_OF_SEPARATE 1
#define CONFIG_CMD_GPIO 1
#define CONFIG_CMD_BDI 1
#define CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG 1
#define CONFIG_EFI_CAPSULE_MAX 15
#define CONFIG_SPL_SHA256 1
#define CONFIG_SHA256 1
#define CONFIG_BOOTP_SUBNETMASK 1
#define CONFIG_CC_HAS_ASM_INLINE 1
#define CONFIG_LIB_ELF 1
#define CONFIG_LZO 1
#define CONFIG_ENV_MAX_ENTRIES 512
#define CONFIG_MENU 1
#define CONFIG_NETDEVICES 1
#define CONFIG_DEFAULT_DEVICE_TREE "omap4-ia-decoder-card"
#define CONFIG_USB_GADGET_MANUFACTURER "U-Boot"
#define CONFIG_CMD_MII 1
#define CONFIG_USB_GADGET 1
#define CONFIG_I2C 1
#define CONFIG_LIB_RAND 1
#define CONFIG_SIMPLE_BUS 1
#define CONFIG_TI_SYSC 1
#define CONFIG_BOOTARGS_SUBST 1
#define CONFIG_PHY 1
#define CONFIG_USB_GADGET_PRODUCT_NUM 0x0
#define CONFIG_ARM_ASM_UNIFIED 1
#define CONFIG_SYS_NAND_MAX_ECCPOS 680
#define CONFIG_CMD_MMC 1
#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0
#define CONFIG_CMD_TFTPBOOT 1
#define CONFIG_FIT_FULL_CHECK 1
#define CONFIG_BOOTMETH_VBE 1
#define CONFIG_SPECIFY_CONSOLE_INDEX 1
#define CONFIG_SPL_OF_LIBFDT 1
#define CONFIG_NAND_OMAP_ECCSCHEME_BCH8_CODE_HW 1
#define CONFIG_SYS_I2C_BUS_MAX 4
#define CONFIG_SPL_SERIAL_PRESENT 1
#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-18 23:19 ` Colin Foster
@ 2023-05-19 12:41 ` Roger Quadros
2023-05-20 17:27 ` Colin Foster
0 siblings, 1 reply; 14+ messages in thread
From: Roger Quadros @ 2023-05-19 12:41 UTC (permalink / raw)
To: Colin Foster; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
Hi Colin,
On 19/05/2023 02:19, Colin Foster wrote:
> Hi Roger,
>
> I really appreciate the help!
>
> On Thu, May 18, 2023 at 01:55:38PM +0300, Roger Quadros wrote:
>> Hi Colin,
>>
>> On 17/05/2023 22:39, Colin Foster wrote:
>>>
>>> I swapped in just U-Boot (not the SPL) with your patch, and everything
>>> seems to work!
>>>
>>> The issue of Uncorrectable ECC errors spam came from the SPL. Here's a
>>> snippet of the boot log with the "ecc" print as well as your patch:
>>>
>>
>> Thanks for the tests. Glad to hear issue is narrowed down to SPL.
>
> I can "fix" the issue by just commenting out the "ECC uncorrectable
> errors" print :-)
lol
>
>>
>>> U-Boot SPL 2023.04-00029-g26a9ce5314-dirty (May 17 2023 - 12:06:49 -0700)
>>> OMAP4460-GP ES1.1
>>> Trying to boot from NAND
>>> ecc: 2420106
>>> ecc: ebd922f6
>>> ecc: 333f844f
>>> ecc: ab812f72
>>
>> This is clearly the issue. They should all have been 0.
>
> Interesting. With the "ecc" prints in U-Boot I also get some non-zero
> values:
>
> ecc: 0
> ecc: 6bff997b
> ecc: 6bff997b
> ecc: 6bff997b
>
>
> Once I'm booted, I can use nanddump. It seems like everything is correct
> from the Linux side of things:
>
> # nanddump -f mlo_dump /dev/mtd0
> ECC failed: 0
> ECC corrected: 0
> Number of bad blocks: 0
> Number of bbt blocks: 0
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x00000000 and ending at 0x00020000...
>
> # nanddump -f uboot1_dump /dev/mtd1
> ECC failed: 0
> ECC corrected: 0
> Number of bad blocks: 0
> Number of bbt blocks: 0
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x00000000 and ending at 0x00180000...
>
> # nanddump -f uboot2_dump /dev/mtd2
> ECC failed: 0
> ECC corrected: 0
> Number of bad blocks: 0
> Number of bbt blocks: 0
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x00000000 and ending at 0x00180000...
>
> # nanddump -f /dev/null /dev/mtd3
> ECC failed: 0
> ECC corrected: 6
> Number of bad blocks: 0
> Number of bbt blocks: 0
> Block size 131072, page size 2048, OOB size 64
> Dumping data starting at 0x00000000 and ending at 0x1fce0000...
> ECC: 1 corrected bitflip(s) at offset 0x0ab30800
> ECC: 1 corrected bitflip(s) at offset 0x0b008800
> ECC: 1 corrected bitflip(s) at offset 0x0deaa000
> ECC: 1 corrected bitflip(s) at offset 0x0ea5b000
> ECC: 1 corrected bitflip(s) at offset 0x0ecbc000
> ECC: 1 corrected bitflip(s) at offset 0x0ed61800
>
>
>> Can you please share your spl/u-boot.cfg?
>
> Attached
Couple of questions there
1) CONFIG_MTDPARTS_DEFAULT "mtdparts=nandflash:0x20000(xload_raw),0x180000(u-boot),0x180000(u-boot-2),0x1fce0000(main)"
Is this correct and matches with what kernel sees?
I couldn't see the NAND partition table in the Kernel Device tree patch.
2)
#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x20000
#define CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND 0x1a0000
These don't seem to match what you have defined in MTDPARTS_DEFAULT.
Which one is correct?
How do you flash the MLO and u-boot image to NAND?
I tried on AM335x-EVM and it works fine both before and after commit 04fcd25873.
Once change I had to do was to increase the u-boot partition size
as u-boot image does not fit in original partition size.
-----boot log follows-----
U-Boot SPL 2023.01-rc4-00381-g04fcd25873-dirty (May 19 2023 - 15:10:15 +0300)
Trying to boot from NAND
U-Boot 2023.01-rc4-00381-g04fcd25873-dirty (May 19 2023 - 15:10:15 +0300)
CPU : AM335X-GP rev 1.0
Model: TI AM335x EVM
DRAM: 512 MiB
Core: 156 devices, 17 uclasses, devicetree: separate
WDT: Started wdt@44e35000 with servicing every 1000ms (60s timeout)
NAND: 256 MiB
MMC: OMAP SD/MMC: 0
Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
<ethaddr> not set. Validating first E-fuse MAC
Net: eth2: ethernet@4a100000, eth3: usb_ether
Hit any key to stop autoboot: 0
=>
=> mtd
device nand0 <nand.0>, # parts = 10
#: name size offset mask_flags
0: NAND.SPL 0x00020000 0x00000000 0
1: NAND.SPL.backup1 0x00020000 0x00020000 0
2: NAND.SPL.backup2 0x00020000 0x00040000 0
3: NAND.SPL.backup3 0x00020000 0x00060000 0
4: NAND.u-boot-spl-os 0x00040000 0x00080000 0
5: NAND.u-boot 0x00200000 0x000c0000 0
6: NAND.u-boot-env 0x00020000 0x002c0000 0
7: NAND.u-boot-env.backup10x00020000 0x002e0000 0
8: NAND.kernel 0x00700000 0x00300000 0
9: NAND.file-system 0x0f600000 0x00a00000 0
--
cheers,
-roger
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-19 12:41 ` Roger Quadros
@ 2023-05-20 17:27 ` Colin Foster
2023-06-26 5:03 ` Michael Nazzareno Trimarchi
0 siblings, 1 reply; 14+ messages in thread
From: Colin Foster @ 2023-05-20 17:27 UTC (permalink / raw)
To: Roger Quadros; +Cc: Michael Trimarchi, Dario Binacchi, u-boot
On Fri, May 19, 2023 at 03:41:34PM +0300, Roger Quadros wrote:
> Hi Colin,
>
> On 19/05/2023 02:19, Colin Foster wrote:
> > Hi Roger,
> >
> >> Can you please share your spl/u-boot.cfg?
> >
> > Attached
>
> Couple of questions there
>
> 1) CONFIG_MTDPARTS_DEFAULT "mtdparts=nandflash:0x20000(xload_raw),0x180000(u-boot),0x180000(u-boot-2),0x1fce0000(main)"
> Is this correct and matches with what kernel sees?
> I couldn't see the NAND partition table in the Kernel Device tree patch.
Yes, this is correct. I intentionally left my MTD Partitions out of the
kernel patch, since I don't want any changes I might make to the flash
partitions to require further patches. I'm currently at this structure
(SPL, 2x U-Boot, and main UBI with A/B partitions and 2x U-Boot Envs)
The SD Boot version of U-Boot doesn't use NAND, so it might have a stale
partition layout that I'll need to remove / modify.
>
> 2)
> #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x20000
> #define CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND 0x1a0000
>
> These don't seem to match what you have defined in MTDPARTS_DEFAULT.
> Which one is correct?
This matches the above partition layout. 0x180000 + 0x20000 = 0x1a0000.
It wasn't until recently I realized I needed to remove
CONFIG_SPL_RAW_IMAGE_SUPPORT in order for this fallback to succeed.
>
> How do you flash the MLO and u-boot image to NAND?
I boot to from SD card, then run a commissioning script that contains:
```
echo "Erasing MLO partition $MLO_PART"
flash_erase $MLO_PART 0 0
echo "Programming MLO partition"
nandwrite -a -p $MLO_PART $MLO_FILE
echo "Erasing U-Boot partition $U_BOOT_PART"
flash_erase $U_BOOT_PART 0 0
echo "Programming U-Boot partition"
nandwrite -a -p $U_BOOT_PART $U_BOOT_FILE
echo "Erasing U-Boot redundant partition $U_BOOT_PART_REDUND"
flash_erase $U_BOOT_PART_REDUND 0 0
echo "Programming U-Boot redund partition"
nandwrite -a -p $U_BOOT_PART_REDUND $U_BOOT_FILE
echo "Clearing UBI partition"
flash_erase $UBI_PART 0 0
echo "Formatting UBI partition"
ubiformat $UBI_PART -y
ubiattach -p $UBI_PART
echo "Making UBI volumes"
ubimkvol /dev/ubi0 -N env1 -s 0x40000
ubimkvol /dev/ubi0 -N env2 -s 0x40000
ubimkvol /dev/ubi0 -N rootfs-a -s 0xc000000
ubimkvol /dev/ubi0 -N rootfs-b -s 0xc000000
echo "Writing rootfs partitions"
ubiupdatevol /dev/ubi0_2 $ROOTFS_FILE
ubiupdatevol /dev/ubi0_3 $ROOTFS_FILE
```
For all these tests I've been manually running the flash_erase /
nandwrite process for the SPL / U-Boot partitions.
>
> I tried on AM335x-EVM and it works fine both before and after commit 04fcd25873.
>
> Once change I had to do was to increase the u-boot partition size
> as u-boot image does not fit in original partition size.
>
> -----boot log follows-----
>
> U-Boot SPL 2023.01-rc4-00381-g04fcd25873-dirty (May 19 2023 - 15:10:15 +0300)
> Trying to boot from NAND
>
>
> U-Boot 2023.01-rc4-00381-g04fcd25873-dirty (May 19 2023 - 15:10:15 +0300)
>
> CPU : AM335X-GP rev 1.0
> Model: TI AM335x EVM
> DRAM: 512 MiB
> Core: 156 devices, 17 uclasses, devicetree: separate
> WDT: Started wdt@44e35000 with servicing every 1000ms (60s timeout)
> NAND: 256 MiB
> MMC: OMAP SD/MMC: 0
> Loading Environment from FAT... Unable to read "uboot.env" from mmc0:1...
> <ethaddr> not set. Validating first E-fuse MAC
> Net: eth2: ethernet@4a100000, eth3: usb_ether
> Hit any key to stop autoboot: 0
> =>
>
> => mtd
>
> device nand0 <nand.0>, # parts = 10
> #: name size offset mask_flags
> 0: NAND.SPL 0x00020000 0x00000000 0
> 1: NAND.SPL.backup1 0x00020000 0x00020000 0
> 2: NAND.SPL.backup2 0x00020000 0x00040000 0
> 3: NAND.SPL.backup3 0x00020000 0x00060000 0
I need to go back to the 4460 datasheet. I looked and don't remember
seeing anything about an SPL search. I'd sleep better at night knowing
that when the day comes I need to update the SPL, I can do so with some
redundancy. Sorry - I'm getting off topic.
I'll be back with hardware on Monday to keep looking at this.
> 4: NAND.u-boot-spl-os 0x00040000 0x00080000 0
> 5: NAND.u-boot 0x00200000 0x000c0000 0
> 6: NAND.u-boot-env 0x00020000 0x002c0000 0
> 7: NAND.u-boot-env.backup10x00020000 0x002e0000 0
> 8: NAND.kernel 0x00700000 0x00300000 0
> 9: NAND.file-system 0x0f600000 0x00a00000 0
>
>
> --
> cheers,
> -roger
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-05-20 17:27 ` Colin Foster
@ 2023-06-26 5:03 ` Michael Nazzareno Trimarchi
2023-06-27 5:42 ` Colin Foster
0 siblings, 1 reply; 14+ messages in thread
From: Michael Nazzareno Trimarchi @ 2023-06-26 5:03 UTC (permalink / raw)
To: Colin Foster; +Cc: Roger Quadros, Dario Binacchi, U-Boot-Denx
Hi all
Il sab 20 mag 2023, 19:28 Colin Foster <colin.foster@in-advantage.com> ha
scritto:
> On Fri, May 19, 2023 at 03:41:34PM +0300, Roger Quadros wrote:
> > Hi Colin,
> >
> > On 19/05/2023 02:19, Colin Foster wrote:
> > > Hi Roger,
> > >
> > >> Can you please share your spl/u-boot.cfg?
> > >
> > > Attached
> >
> > Couple of questions there
> >
> > 1) CONFIG_MTDPARTS_DEFAULT
> "mtdparts=nandflash:0x20000(xload_raw),0x180000(u-boot),0x180000(u-boot-2),0x1fce0000(main)"
> > Is this correct and matches with what kernel sees?
> > I couldn't see the NAND partition table in the Kernel Device tree patch.
>
> Yes, this is correct. I intentionally left my MTD Partitions out of the
> kernel patch, since I don't want any changes I might make to the flash
> partitions to require further patches. I'm currently at this structure
> (SPL, 2x U-Boot, and main UBI with A/B partitions and 2x U-Boot Envs)
>
> The SD Boot version of U-Boot doesn't use NAND, so it might have a stale
> partition layout that I'll need to remove / modify.
>
Was any end up here?
Michael
>
> >
> > 2)
> > #define CONFIG_SYS_NAND_U_BOOT_OFFS 0x20000
> > #define CONFIG_SYS_NAND_U_BOOT_OFFS_REDUND 0x1a0000
> >
> > These don't seem to match what you have defined in MTDPARTS_DEFAULT.
> > Which one is correct?
>
> This matches the above partition layout. 0x180000 + 0x20000 = 0x1a0000.
>
> It wasn't until recently I realized I needed to remove
> CONFIG_SPL_RAW_IMAGE_SUPPORT in order for this fallback to succeed.
>
> >
> > How do you flash the MLO and u-boot image to NAND?
>
> I boot to from SD card, then run a commissioning script that contains:
>
> ```
> echo "Erasing MLO partition $MLO_PART"
> flash_erase $MLO_PART 0 0
>
> echo "Programming MLO partition"
> nandwrite -a -p $MLO_PART $MLO_FILE
>
> echo "Erasing U-Boot partition $U_BOOT_PART"
> flash_erase $U_BOOT_PART 0 0
>
> echo "Programming U-Boot partition"
> nandwrite -a -p $U_BOOT_PART $U_BOOT_FILE
>
> echo "Erasing U-Boot redundant partition $U_BOOT_PART_REDUND"
> flash_erase $U_BOOT_PART_REDUND 0 0
>
> echo "Programming U-Boot redund partition"
> nandwrite -a -p $U_BOOT_PART_REDUND $U_BOOT_FILE
>
> echo "Clearing UBI partition"
> flash_erase $UBI_PART 0 0
>
> echo "Formatting UBI partition"
> ubiformat $UBI_PART -y
> ubiattach -p $UBI_PART
>
> echo "Making UBI volumes"
> ubimkvol /dev/ubi0 -N env1 -s 0x40000
> ubimkvol /dev/ubi0 -N env2 -s 0x40000
> ubimkvol /dev/ubi0 -N rootfs-a -s 0xc000000
> ubimkvol /dev/ubi0 -N rootfs-b -s 0xc000000
>
> echo "Writing rootfs partitions"
> ubiupdatevol /dev/ubi0_2 $ROOTFS_FILE
> ubiupdatevol /dev/ubi0_3 $ROOTFS_FILE
> ```
>
> For all these tests I've been manually running the flash_erase /
> nandwrite process for the SPL / U-Boot partitions.
>
> >
> > I tried on AM335x-EVM and it works fine both before and after commit
> 04fcd25873.
> >
> > Once change I had to do was to increase the u-boot partition size
> > as u-boot image does not fit in original partition size.
> >
> > -----boot log follows-----
> >
> > U-Boot SPL 2023.01-rc4-00381-g04fcd25873-dirty (May 19 2023 - 15:10:15
> +0300)
> > Trying to boot from NAND
> >
> >
> > U-Boot 2023.01-rc4-00381-g04fcd25873-dirty (May 19 2023 - 15:10:15 +0300)
> >
> > CPU : AM335X-GP rev 1.0
> > Model: TI AM335x EVM
> > DRAM: 512 MiB
> > Core: 156 devices, 17 uclasses, devicetree: separate
> > WDT: Started wdt@44e35000 with servicing every 1000ms (60s timeout)
> > NAND: 256 MiB
> > MMC: OMAP SD/MMC: 0
> > Loading Environment from FAT... Unable to read "uboot.env" from
> mmc0:1...
> > <ethaddr> not set. Validating first E-fuse MAC
> > Net: eth2: ethernet@4a100000, eth3: usb_ether
> > Hit any key to stop autoboot: 0
> > =>
> >
> > => mtd
> >
> > device nand0 <nand.0>, # parts = 10
> > #: name size offset mask_flags
> > 0: NAND.SPL 0x00020000 0x00000000 0
> > 1: NAND.SPL.backup1 0x00020000 0x00020000 0
> > 2: NAND.SPL.backup2 0x00020000 0x00040000 0
> > 3: NAND.SPL.backup3 0x00020000 0x00060000 0
>
> I need to go back to the 4460 datasheet. I looked and don't remember
> seeing anything about an SPL search. I'd sleep better at night knowing
> that when the day comes I need to update the SPL, I can do so with some
> redundancy. Sorry - I'm getting off topic.
>
> I'll be back with hardware on Monday to keep looking at this.
>
> > 4: NAND.u-boot-spl-os 0x00040000 0x00080000 0
> > 5: NAND.u-boot 0x00200000 0x000c0000 0
> > 6: NAND.u-boot-env 0x00020000 0x002c0000 0
> > 7: NAND.u-boot-env.backup10x00020000 0x002e0000 0
> > 8: NAND.kernel 0x00700000 0x00300000 0
> > 9: NAND.file-system 0x0f600000 0x00a00000 0
> >
> >
> > --
> > cheers,
> > -roger
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: U-Boot OMAP GPMC ECC change
2023-06-26 5:03 ` Michael Nazzareno Trimarchi
@ 2023-06-27 5:42 ` Colin Foster
0 siblings, 0 replies; 14+ messages in thread
From: Colin Foster @ 2023-06-27 5:42 UTC (permalink / raw)
To: Michael Nazzareno Trimarchi; +Cc: Roger Quadros, Dario Binacchi, U-Boot-Denx
Hi Michael,
On Mon, Jun 26, 2023 at 07:03:19AM +0200, Michael Nazzareno Trimarchi wrote:
> Hi all
>
> Il sab 20 mag 2023, 19:28 Colin Foster <colin.foster@in-advantage.com> ha
> scritto:
>
> > On Fri, May 19, 2023 at 03:41:34PM +0300, Roger Quadros wrote:
> > > Hi Colin,
> > >
> > > On 19/05/2023 02:19, Colin Foster wrote:
> > > > Hi Roger,
> > > >
> > > >> Can you please share your spl/u-boot.cfg?
> > > >
> > > > Attached
> > >
> > > Couple of questions there
> > >
> > > 1) CONFIG_MTDPARTS_DEFAULT
> > "mtdparts=nandflash:0x20000(xload_raw),0x180000(u-boot),0x180000(u-boot-2),0x1fce0000(main)"
> > > Is this correct and matches with what kernel sees?
> > > I couldn't see the NAND partition table in the Kernel Device tree patch.
> >
> > Yes, this is correct. I intentionally left my MTD Partitions out of the
> > kernel patch, since I don't want any changes I might make to the flash
> > partitions to require further patches. I'm currently at this structure
> > (SPL, 2x U-Boot, and main UBI with A/B partitions and 2x U-Boot Envs)
> >
> > The SD Boot version of U-Boot doesn't use NAND, so it might have a stale
> > partition layout that I'll need to remove / modify.
> >
>
>
> Was any end up here?
I got pulled away from this before I could figure it out, but I have an
idea.
I suspect the ECC calculation is working as expected. It is just that
now it is pre-calculating the ECC for regions that my flash writing was
simply ignroing (just leaving erased). Previously the ECC would only be
calculated for pages that were correctly written, so wouldn't cause any
issues.
I do need to verify this hypothesis, but admittedly don't know how soon
that'll be. (I won't be near hardware for at least a week)
>
> Michael
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-06-27 5:42 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-09 15:31 U-Boot OMAP GPMC ECC change Colin Foster
2023-05-10 9:42 ` Roger Quadros
2023-05-10 15:38 ` Colin Foster
2023-05-12 11:53 ` Roger Quadros
2023-05-12 16:05 ` Colin Foster
2023-05-13 5:59 ` Roger Quadros
2023-05-17 13:30 ` Roger Quadros
2023-05-17 19:39 ` Colin Foster
2023-05-18 10:55 ` Roger Quadros
2023-05-18 23:19 ` Colin Foster
2023-05-19 12:41 ` Roger Quadros
2023-05-20 17:27 ` Colin Foster
2023-06-26 5:03 ` Michael Nazzareno Trimarchi
2023-06-27 5:42 ` Colin Foster
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox