blob: 4d36473dbd213849e3027a0aac7b4b0d786e53ef [file] [log] [blame]
/*
* (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__ */