[iMX8][ENVIRONMENT] Add firmware management through environment
The i.MX8 SOCs need to load some firmware for video I/F. These firmware have to be load via specific commands at u-boot command shell. This patch introduces the managemnt of these fw:
- where are placed them;
- how to load them in RAM;
- when to perform these actions. The management is done with seco_config tool and is an add-on to the already present video management. When a video interface is selected, also the relative fw is selected and loaded befor the boot. To associate the video I/F with a firmware, a set of data structures has been added. The updated structure is video_mode_t where the following implementation is now allowed:
{ ... .has_fw = 2, .fw = { [0] = { .file_name = ENV_FW_HDMI_FILE, .address = ENV_FW_HDP_ADDRESS, .cmd_laod_fw = ENV_FW_CMD_LOAD, }, [1] = { .file_name = ENV_FW_HDMIRX_FILE, .address = ENV_FW_HDMIRX_ADDRESS, .cmd_laod_fw = ENV_FW_CMD_LOAD, }, }, },
- has_fw is the number of fw to load when the relative video I/F is selected;
- for each fw the following parameters must be adressed:
- file_name: file name of the fw
- address: RAM address to load the fw
- cmd_load_fw: command to execute for load the fw.
For each sub-field there is a set of commands to use (see file include/configs/seco_mx8_env.h)