Carlos, thanks for the hints. I found where U-Boot is checking the board's revision and serial number, and I tossed in a little code to check the results in U-Boot:
int ret = 0;
struct tag_serialnr serialnr;
rev = get_board_rev();
printf("\nboard revision: %lu\n", rev);
get_board_serial(&serialnr);
printf("\nboard serial: %lu %lu\n", serialnr.low, serialnr.high);
When I booted up I was able to see some values showing up:
board revision: 397331
board serial: 1324543428 3961
So it looks like that's working, but when I get to the kernel, /proc/cpuinfo reports all 0's for revision and serial. Does this information need to be passed from the bootloader to the kernel somehow?
This is a custom board, so perhaps we missed some changes in the bootloader/kernel required to pass information.