86 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /****************************************************************************
 | |
| 
 | |
| Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
 | |
| 
 | |
| This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
 | |
| be copied by any method or incorporated into another program without
 | |
| the express written consent of Aerospace C.Power. This Information or any portion
 | |
| thereof remains the property of Aerospace C.Power. The Information contained herein
 | |
| is believed to be accurate and Aerospace C.Power assumes no responsibility or
 | |
| liability for its use in any way and conveys no license or title under
 | |
| any patent or copyright and makes no representation or warranty that this
 | |
| Information is free from patent or copyright infringement.
 | |
| 
 | |
| ****************************************************************************/
 | |
| #ifndef __COMMON_H
 | |
| #define __COMMON_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| #define CMD_BOOT_DELAY "Press any key to stop AutoBoot \r\n"
 | |
| #define CMD_PROMPT "kunlun v1.0 > "
 | |
| #define CMD_BOOT_TIME "Timeout: "
 | |
| #define CMD_MAXARGS   5
 | |
| #define CMD_CBSIZE 80
 | |
| #define PARAM_MAXARGS 2
 | |
| #define PARAM_BOOT_CNT 5
 | |
| #define PARAM_NAME_LEN_MAX  11
 | |
| #define PARAM_VAL_LEN_MAX   19
 | |
| #define PARAM_END_CHAR      0x0A
 | |
| #define PARAM_EQUAL_CHAR    0x3D
 | |
| #define PARAM_MAX_LENGTH    0x20
 | |
| 
 | |
| #define SBL_DEBUG_CMD_ENABLE    (0)
 | |
| 
 | |
| #define CMD_DELAY_TIME_CHAR     '1'
 | |
| #define CMD_DELAY_TIME_INT      1
 | |
| #define CMD_DELAY_TIME_COUNT    (1 * 1000000) /* 1 * gptiemr0 clk */
 | |
| 
 | |
| #define REG32(a)        (*((volatile uint32_t *)(a)))
 | |
| 
 | |
| typedef struct cmd_tbl_s {
 | |
|     char *name;     /* command name */
 | |
|     int minargs;    /* minimum number of arguments */
 | |
|     int maxargs;    /* maximum number of arguments */
 | |
|     int (*cmd)(struct cmd_tbl_s *, int, int, char *[]);
 | |
|     char *desc;     /* command description */
 | |
|     char *usage;    /* usage message (short) */
 | |
| } cmd_tbl_t;
 | |
| 
 | |
| typedef struct {
 | |
|     char name[PARAM_NAME_LEN_MAX];
 | |
|     char equal;
 | |
|     char value[PARAM_VAL_LEN_MAX];
 | |
|     char end;
 | |
| } sbl_param_cmd_t;
 | |
| 
 | |
| /* stdin stdout */
 | |
| #if SBL_DEBUG_CMD_ENABLE
 | |
| int do_get(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| int do_rm(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| int do_go_at_adr(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| #endif
 | |
| 
 | |
| int do_mem_print(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| int do_set(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| int do_saveenv(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| int do_print(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| int do_help(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| int do_bootm(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 | |
| 
 | |
| int sbl_param_load();
 | |
| void sbl_main_loop(void);
 | |
| void sbl_get_start_part(void);
 | |
| 
 | |
| int sbl_info_print(void);
 | |
| void sbl_fw_uncp_success(void);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* __COMMON_H */
 | |
| 
 |