Jetpack/kernel/kernel-4.9/include/media/mcu_firmware.h
dchvs 31faf4d851 cti_kernel: Add CTI sources
Elroy L4T r32.4.4 – JetPack 4.4.1
2021-03-15 20:15:11 -06:00

92 lines
2.0 KiB
C

#ifndef _MCU_FIRMWARE_H
#define _MCU_FIRMWARE_H
/* Local Defines */
#define MAX_BUF_LEN 2048
#define MAX_PAGES 512
#define TOTAL_PAGES 1536
#define NUM_ERASE_CYCLES (TOTAL_PAGES / MAX_PAGES)
#define FLASH_START_ADDRESS 0x08000000
#define FLASH_SIZE 192*1024
#define FLASH_READ_LEN 256
#define CR 13 /* Carriage return */
#define LF 10 /* Line feed */
/*MCU Buffer size increased - Fix for loading menu based controls */
#define MCU_BUFFER_SIZE 1024
/* TODO: Only necessary commands added */
enum _i2c_cmds
{
BL_GET_VERSION = 0x01,
BL_GO = 0x21,
BL_READ_MEM = 0x11,
BL_WRITE_MEM = 0x31,
BL_WRITE_MEM_NS = 0x32,
BL_ERASE_MEM = 0x44,
BL_ERASE_MEM_NS = 0x45,
};
enum _i2c_resp
{
RESP_ACK = 0x79,
RESP_NACK = 0x1F,
RESP_BUSY = 0x76,
};
enum
{
NUM_LANES_1 = 0x01,
NUM_LANES_2 = 0x02,
NUM_LANES_3 = 0x02,
NUM_LANES_4 = 0x04,
NUM_LANES_UNKWN = 0xFF,
};
enum _ihex_rectype
{
/* Normal data */
REC_TYPE_DATA = 0x00,
/* End of File */
REC_TYPE_EOF = 0x01,
/* Extended Segment Address */
REC_TYPE_ESA = 0x02,
/* Start Segment Address */
REC_TYPE_SSA = 0x03,
/* Extended Linear Address */
REC_TYPE_ELA = 0x04,
/* Start Linear Address */
REC_TYPE_SLA = 0x05,
};
typedef struct __attribute__ ((packed)) _ihex_rec {
unsigned char datasize;
unsigned short int addr;
unsigned char rectype;
unsigned char recdata[];
} IHEX_RECORD;
unsigned int g_bload_flashaddr = 0x0000;
uint8_t *fw_version = NULL;
/* MCU communication variables */
unsigned char mc_data[MCU_BUFFER_SIZE];
unsigned char mc_ret_data[MCU_BUFFER_SIZE];
/* Buffer to Send Bootloader CMDs */
unsigned char g_bload_buf[MAX_BUF_LEN] = { 0 };
unsigned short int g_bload_crc16 = 0x0000;
const char g_mcu_fw_buf[] =
#include "ecam30_gmsl_mcu_fw.txt"
;
#endif //_MCU_FIRMWARE_H