| /* |
| * (C) Copyright Marvell Semiconductors,Inc 2006 All rightes reserved |
| */ |
| |
| #ifndef __UTIL_H__ |
| #define __UTIL_H__ |
| |
| #include <stddef.h> |
| |
| void * UtilMemSet(void *s, int c, int n); |
| void * UtilMemCpy(void *s1, const void *s2, int n); |
| int UtilMemCmp(const void *s1, const void *s2, int n); |
| void * UtilMemAlloc(int size); |
| void * UtilMemAllocZ(int size); |
| void UtilMemReset(void); |
| |
| //used for bitmaps that could be more than 32 bits wide |
| #define BITMASK(b) (1 << ((b) % 8)) |
| #define BITSLOT(b) ((b) / 8) |
| #define BITSET(a, b) ((a)[BITSLOT(b)] |= BITMASK(b)) |
| #define BITCLEAR(a, b) ((a)[BITSLOT(b)] &= ~BITMASK(b)) |
| #define BITTEST(a, b) ((a)[BITSLOT(b)] & BITMASK(b)) |
| #define BITNSLOTS(nb) ((nb + 8 - 1) / 8) |
| |
| #define BFM_HOST_Bus_Write32(offset, val) ((*(UNSG32*)(offset))=val) |
| #define BFM_HOST_Bus_Read32(offset, holder) ((*(UNSG32*)(holder))=(*(UNSG32*)(offset))) |
| #define BFM_HOST_Bus_Write16(offset, val) ((*(unsigned short*)(offset))=val) |
| #define BFM_HOST_Bus_Read16(offset, holder) ((*(unsigned short*)(holder))=(*(unsigned short*)(offset))) |
| #define BFM_HOST_Bus_Write8(offset, val) ((*(unsigned char*)(offset))=val) |
| #define BFM_HOST_Bus_Read8(offset, holder) ((*(unsigned char*)(holder))=(*(unsigned char*)(offset))) |
| |
| |
| #define CMD_BUF_SIZE 2048 |
| #define CMD_LINE_BUFFER_SIZE CMD_BUF_SIZE |
| |
| #define PROMPT "BerlinDebug>" |
| |
| #define malloc UtilMemAlloc |
| |
| enum led_chip_model_t { |
| LED_MODEL_PCA9956B, |
| LED_MODEL_PCA9955B, |
| LED_MODEL_CNT, |
| }; |
| |
| |
| #if 0 |
| void * UtilMemMove(void *dest, const void *src, int n); |
| #endif |
| |
| /* defined in uish.S */ |
| extern void *__user_read_heap_top(void); |
| extern void *__user_read_heap_bottom(void); |
| void __reset_cpu(unsigned int, int, int); |
| |
| /* defined in cache.S */ |
| void flush_dcache_range(void *start, void *end); |
| void invalidate_dcache_range(unsigned int, unsigned int); |
| int diag_i2c_vcore_control(int master_id, int volt_index); |
| int diag_i2c_led_init(int master_id, unsigned char slave_addr, |
| enum led_chip_model_t model); |
| int diag_i2c_led_set_frame(int master_id, unsigned char slave_addr, |
| unsigned char *frame, size_t size, |
| enum led_chip_model_t model); |
| int diag_i2c_check_sy21202(int master_id); |
| int diag_i2c_check_pg86x(int master_id); |
| void initMPGIC(void); |
| int diag_GICSetInt(int MPid, int intId, int enable); |
| #endif /* __UTIL_H__ */ |