exynos-linux-stable/include/linux/uh.h
FAROVITUS 2b92eefa41 import G965FXXU7DTAA OSRC
*First release for Android (Q).

Signed-off-by: FAROVITUS <farovitus@gmail.com>
2020-02-04 13:50:09 +02:00

49 lines
1 KiB
C

#ifndef __UH_H__
#define __UH_H__
#ifndef __ASSEMBLY__
/* For uH Command */
#define APP_INIT 0
#define APP_SAMPLE 1
#define APP_RKP 2
#define UH_PREFIX UL(0xc300c000)
#define UH_APPID(APP_ID) ((UL(APP_ID) & UL(0xFF)) | UH_PREFIX)
enum __UH_APP_ID {
UH_APP_INIT = UH_APPID(APP_INIT),
UH_APP_SAMPLE = UH_APPID(APP_SAMPLE),
UH_APP_RKP = UH_APPID(APP_RKP),
};
struct test_case_struct {
int (* fn)(void); //test case func
char * describe;
};
/* For uH Memory */
#define UH_NUM_MEM 0x00
#define UH_START 0xB0500000
#define UH_SIZE (1UL<<20)
#define UH_LOG_START 0xB0600000
#define UH_LOG_SIZE (1UL<<18)
#define UH_HEAP_START UH_LOG_START + UH_LOG_SIZE
#define UH_HEAP_SIZE (1UL<<18)
int uh_init(void);
int uh_disable(void);
int _uh_goto_EL2(int magic, void *label, int offset, int mode, void *base, int size);
int uh_call(u64 app_id, u64 command, u64 arg0, u64 arg1, u64 arg2, u64 arg3);
extern char _start_uh;
extern char _end_uh;
extern char _uh_disable;
#endif //__ASSEMBLY__
#endif //__UH_H__