The AM1808/OMAP-L138 silicon of revision 2.0+ does not boot with the Linux kernel code, why not?
A: The new revision EVM boards were getting stuck in setup_arch() when the CPU ID is determined. There were accommodations in 2.6.33 for silicon revisions up to 1.1 but not for 2.0+ as there are in 2.6.37. To account for this, Below is a patch for the following change:
In kernel linux-2.6.33/arch/arm/mach-davinci/da850.c, add a definition to da850_id list which is needed for OMAP-L138 silicon revision 2.0+
/* Contents of JTAG ID register used to identify exact cpu type */ static struct davinci_id da850_ids[] = { { .variant = 0x0, .part_no = 0xb7d1, .manufacturer = 0x017, /* 0x02f >> 1 */ .cpu_id = DAVINCI_CPU_ID_DA850, .name = "da850/omap-l138", }, /* Added definition for variant 0x01 which is needed for silicon revision 2.0+ */ { .variant = 0x1, .part_no = 0xb7d1, .manufacturer = 0x017, /* 0x02f >> 1 */ .cpu_id = DAVINCI_CPU_ID_DA850, .name = "da850/omap-l138/am18x", },