Skip to content
Snippets Groups Projects
Commit 71c4ae3f authored by Michael Jones's avatar Michael Jones Committed by Tom Rini
Browse files

omap3: mvblx: select fpgafilename according to orientation


Rather than load the FPGA file from the FAT partition, look
at entry in system EEPROM to decide which file to retrieve directly
from the EXT3 partition.

Signed-off-by: default avatarMichael Jones <michael.jones@matrix-vision.de>
parent 661bb0f8
No related branches found
No related tags found
No related merge requests found
...@@ -326,10 +326,28 @@ int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) ...@@ -326,10 +326,28 @@ int do_mac(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
return 0; return 0;
} }
static inline int is_portrait(void)
{
int i;
unsigned int orient_index = 0; /* idx of char which determines orientation */
for (i = sizeof(e.id)/sizeof(*e.id) - 1; i>=0; i--) {
if (e.id[i] == '-') {
orient_index = i+1;
break;
}
}
return (orient_index &&
(e.id[orient_index] >= '5') && (e.id[orient_index] <= '8'));
}
int mac_read_from_eeprom(void) int mac_read_from_eeprom(void)
{ {
u32 crc, crc_offset = offsetof(struct eeprom, crc); u32 crc, crc_offset = offsetof(struct eeprom, crc);
u32 *crcp; /* Pointer to the CRC in the data read from the EEPROM */ u32 *crcp; /* Pointer to the CRC in the data read from the EEPROM */
#define FILENAME_LANDSCAPE "mvBlueLynx_X.rbf"
#define FILENAME_PORTRAIT "mvBlueLynx_X_sensor_cd.rbf"
if (read_eeprom()) { if (read_eeprom()) {
printf("EEPROM Read failed.\n"); printf("EEPROM Read failed.\n");
...@@ -374,6 +392,12 @@ int mac_read_from_eeprom(void) ...@@ -374,6 +392,12 @@ int mac_read_from_eeprom(void)
setenv("serial#", serial_num); setenv("serial#", serial_num);
} }
/* decide which fpga file to load depending on orientation */
if (is_portrait())
setenv("fpgafilename", FILENAME_PORTRAIT);
else
setenv("fpgafilename", FILENAME_LANDSCAPE);
/* TODO should I calculate CRC here? */ /* TODO should I calculate CRC here? */
return 0; return 0;
} }
......
...@@ -170,8 +170,8 @@ ...@@ -170,8 +170,8 @@
"vram=12M\0" \ "vram=12M\0" \
"dvimode=1024x768-24@60\0" \ "dvimode=1024x768-24@60\0" \
"defaultdisplay=dvi\0" \ "defaultdisplay=dvi\0" \
"fpgafilename=mvbluelynx_x.rbf\0" \ "loadfpga=if ext2load mmc ${mmcdev}:2 ${loadaddr} "\
"loadfpga=if fatload mmc ${mmcdev} ${loadaddr} ${fpgafilename}; then " \ "/lib/firmware/mvblx/${fpgafilename}; then " \
"fpga load 0 ${loadaddr} ${filesize}; " \ "fpga load 0 ${loadaddr} ${filesize}; " \
"fi;\0" \ "fi;\0" \
"mmcdev=0\0" \ "mmcdev=0\0" \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment