EEPROM contents
BeagleY-AI EEPROM contents should be as below
- Please increment the build_week, build_year and serial_number
- We'll want to change schem_bom_rev, ddr record and/or name if we change the board (please review)
00000000 aa 55 33 ee 01 37 00 10 2e 00 42 45 41 47 4c 45 |.U3..7....BEAGLE|
00000010 59 2d 41 49 2d 41 30 2d 4b 34 42 30 30 30 37 38 |Y-AI-A0-K4A00078|
00000020 30 31 42 30 30 30 30 31 33 34 32 34 32 32 42 42 |01B00001642422BB|
00000030 42 42 42 42 30 32 38 35 11 02 00 a8 12 fe ff ff |BBBB0285........|
00000040 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
struct {
char[4] magic header = 0xaa, 0x55, 0x33, 0xee
char[3] board id header = 0x01, 0x37, 0x00 (total len = 0x37 bytes)
char[3] board info header = 0x10, 0x2e, 0x00 (board info len = 0x2e bytes)
char[16] name = "BEAGLEY-AI-A0-K4" ("A0" is initial production version, "K4" is for Kingston 4GB DDR)
char[2] schem_bom_rev = "A0" (change with schematic updates)
char[2] sw_rev = "00" (ignore)
char[2] vid = "01" (BeagleBoard.org)
char[2] build_week = "34" (*change* per the week)
char[2] build_year = "24" (*change* per the year)
char[10] serial_number = "22BBBB0285" (*change* to make unique)
char[3] ddr_ctrl header = 0x11, 0x02, 0x00
int16[1] ddr_ctrl = ddr_ctrl = (0) ECC(0) DENS(4GB=010) RANKS_2(??=0) DEV_WIDTH(32=10) IF_WIDTH(32=10) TYPE(LPDDR4=10) SPD(BOARDID=10) INST(0=00) = 0b0001 0010 1010 1000 = 0x12a8
char[1] termination = 0xfe
}
Reference:
- header and board id definition - https://github.com/u-boot/u-boot/blob/master/board/ti/common/board_detect.h#L65-L68
- board info definition - https://github.com/u-boot/u-boot/blob/master/board/ti/common/board_detect.h#L84-L97
- ddr header definition - https://github.com/u-boot/u-boot/blob/master/board/ti/common/board_detect.h#L134-L136
- ddr control definition - https://github.com/u-boot/u-boot/blob/master/board/ti/common/board_detect.h#L104-L132