This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

NAND Support Kernel Compile Error

I am trying to configure NAND to be compiled in the kernel for an AM335x processor, but am encountering an issue. I am using the ti-sdk-am335x-evm-05.04.-1.00 SDK . The compile error below occurs after I have enabled Device Drivers > Memory Technology Device (MTD) support > NAND Device Support > NAND Flash device on OMAP2, OMAP3 and OMAP4 as a module using make menuconfig.

user@ubuntu-dev:~/src/project/board-support/linux-3.2-psp04.06.00.07.sdk$ make ARCH=arm CROSS_COMPILE=arm-arago-linux-gnueabi- uImage
scripts/kconfig/conf --silentoldconfig Kconfig
warning: (USB_WUSB) selects UWB which has unmet direct dependencies (EXPERIMENTAL && PCI)
warning: (USB_WUSB) selects UWB which has unmet direct dependencies (EXPERIMENTAL && PCI)
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: `include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
CC arch/arm/mach-omap2/board-omap3evm.o
arch/arm/mach-omap2/board-omap3evm.c: In function 'omap3_evm_init':
arch/arm/mach-omap2/board-omap3evm.c:677:17: error: 'omap3_evm_nand_partitions' undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:677:17: note: each undeclared identifier is reported only once for each function it appears in
arch/arm/mach-omap2/board-omap3evm.c:678:4: warning: type defaults to 'int' in type name
arch/arm/mach-omap2/board-omap3evm.c:678:4: warning: type defaults to 'int' in type name
arch/arm/mach-omap2/board-omap3evm.c:678:4: error: negative width in bit-field '<anonymous>'
arch/arm/mach-omap2/board-omap3evm.c:679:7: error: 'NAND_BUSWIDTH_16' undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:680:2: error: implicit declaration of function 'board_onenand_init'
arch/arm/mach-omap2/board-omap3evm.c:680:21: error: 'omap3_evm_onenand_partitions' undeclared (first use in this function)
arch/arm/mach-omap2/board-omap3evm.c:681:4: warning: type defaults to 'int' in type name
arch/arm/mach-omap2/board-omap3evm.c:681:4: warning: type defaults to 'int' in type name
arch/arm/mach-omap2/board-omap3evm.c:681:4: error: negative width in bit-field '<anonymous>'
make[1]: *** [arch/arm/mach-omap2/board-omap3evm.o] Error 1
make: *** [arch/arm/mach-omap2] Error 2

I have grep'd for "omap3_evm_nand_partitions" recursively on the entire SDK and it only finds it being used in two instances in board-support/linux-3.2-psp04.06.00.07.sdk/arch/arm/mach-omap2/board-omap3evm.c, but no definition in any file. Are there missing sources in the SDK that I'm unaware of? Is there something else I need to enable in the kernel config?

  • Hi,

    You should use am335x_evm_defconfig to build kernel for AM335x EVM.

    With this defconfig omap3evm.c won't compile.

    If you want to compile for omap3evm, this is not the right source.

    If possible can you try with clean source (make clean or make distclean)

    Thanks,

    Avinash