In moving from DVRRDK_V03.00.00.00 to DVRRDK_03.50.00.05, the included (pre-built) Linux Kenel is no longer able to identify the NAND (MT29F2G16AA) when using the included pre-built (or built) u-boot from 3.50. Using the same pre-built DVRRDK_03.50.00.05 kernel and the u-boot built with DVRRDK_V03.00.00.00, the NAND is correctly identified and the Kernel is able to setup the MTD devices, etc, etc.
Specifically, the Kernel fails in [drivers/mtd/nand/nand_base.c] nand_get_flash_type() where it uses chip->read_byte(mtd) to read the maf_id + dev_id as both are read back as 0xFF which is invalid in 'nand_flash_ids' (and hence these is not type->name which results in -ENODEV).
In both cases, u-boot itself is able to identify the NAND correctly. Please also note that in both cases I have flashed u-boot and am booting from NAND.
KERNEL == DVRRDK_03.50.00.05/pre_built_binary/ti816x_evm/uImage_DM816X_TI_EVM
WORKING U-BOOT (DVRRDK_V03.00.00.00)
/ti_tools/linux_lsp/linux-psp-dvr-04.04.00.01/src/u-boot-04.04.00.01
BROKEN U-BOOT (DVRRDK_03.50.00.05)
/ti_tools/linux_lsp/uboot/u-boot-dvr-rdk
/pre_built_binary/ti816x_evm/uboot_NAND_DM816X_TI_EVM
--Leon Kok | VOCAL Technologies