Files
SDK_SG200x_V2/osdrv/interdrv/v2/base/reg.h
carbon 0545e9dc6d init version 2024-05-07
commit d1edce71135cc6d98c0a4b5729774542b676e769
Author: sophgo-forum-service <forum_service@sophgo.com>
Date:   Fri Mar 15 16:07:33 2024 +0800

    [fix] recommend using ssh method to clone repo.
    [fix] fix sensor driver repo branch name.
2024-05-07 19:36:36 +08:00

35 lines
847 B
C

#ifndef _CVI_REG_H_
#define _CVI_REG_H_
#ifdef ENV_CVITEST
#define _reg_read(addr) readl((uintptr_t)addr)
#define _reg_write(addr, data) writel((uintptr_t)addr, data)
void _reg_write_mask(uintptr_t addr, u32 mask, u32 data);
#elif defined(ENV_EMU)
u32 _reg_read(uintptr_t addr);
void _reg_write(uintptr_t addr, u32 data);
void _reg_write_mask(uintptr_t addr, u32 mask, u32 data);
#else
#include <linux/io.h>
extern int dump_reg;
#define _reg_read(addr) readl((void __iomem *)addr)
#if 1
#define _reg_write(addr, data) writel(data, (void __iomem *)addr)
#else
#define _reg_write(addr, data) \
{ \
writel(data, (void __iomem *)addr); \
if (dump_reg) \
CVI_TRACE_BASE(CVI_BASE_DBG_INFO, "MWriteS32 %#x %#x\n", (u32)(addr), (u32)(data)); \
}
#endif
void _reg_write_mask(uintptr_t addr, u32 mask, u32 data);
#endif
#endif //_CVI_REG_H_