Module Name: src Committed By: macallan Date: Fri Aug 7 17:37:54 UTC 2015
Modified Files: src/sys/arch/mips/ingenic: ingenic_regs.h Log Message: - sprinkle volatile - add RNG registers - fix some comments To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/sys/arch/mips/ingenic/ingenic_regs.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mips/ingenic/ingenic_regs.h diff -u src/sys/arch/mips/ingenic/ingenic_regs.h:1.20 src/sys/arch/mips/ingenic/ingenic_regs.h:1.21 --- src/sys/arch/mips/ingenic/ingenic_regs.h:1.20 Sat Jul 11 18:54:03 2015 +++ src/sys/arch/mips/ingenic/ingenic_regs.h Fri Aug 7 17:37:54 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: ingenic_regs.h,v 1.20 2015/07/11 18:54:03 macallan Exp $ */ +/* $NetBSD: ingenic_regs.h,v 1.21 2015/08/07 17:37:54 macallan Exp $ */ /*- * Copyright (c) 2014 Michael Lorenz @@ -118,7 +118,7 @@ static inline void writereg(uint32_t reg, uint32_t val) { - *(int32_t *)MIPS_PHYS_TO_KSEG1(reg) = val; + *(volatile int32_t *)MIPS_PHYS_TO_KSEG1(reg) = val; wbflush(); } @@ -126,7 +126,7 @@ static inline uint32_t readreg(uint32_t reg) { wbflush(); - return *(int32_t *)MIPS_PHYS_TO_KSEG1(reg); + return *(volatile int32_t *)MIPS_PHYS_TO_KSEG1(reg); } /* extra CP0 registers */ @@ -223,8 +223,8 @@ MFC0(uint32_t r, uint32_t s) #define OPCR_L2CM_ON 0x00000000 /* L2 stays on in sleep */ #define OPCR_L2CM_RET 0x04000000 /* L2 retention mode in sleep */ #define OPCR_L2CM_OFF 0x08000000 /* L2 powers down in sleep */ - #define OPCR_SPENDN0 0x00000080 /* OTG port forced down */ - #define OPCR_SPENDN1 0x00000040 /* UHC port forced down */ + #define OPCR_SPENDN0 0x00000080 /* 0 - OTG port forced down */ + #define OPCR_SPENDN1 0x00000040 /* 0 - UHC port forced down */ #define OPCR_BUS_MODE 0x00000020 /* 1 - bursts */ #define OPCR_O1SE 0x00000010 /* EXTCLK on in sleep */ #define OPCR_PD 0x00000008 /* P0 down in sleep */ @@ -320,6 +320,15 @@ MFC0(uint32_t r, uint32_t s) #define JZ_MSC1CDR 0x100000a4 #define JZ_MSC2CDR 0x100000a8 +/* + * random number generator + * + * Its function currently isn't documented by Ingenic. + * However, testing suggests that it works as expected. + */ +#define JZ_ERNG 0x100000d8 +#define JZ_RNG 0x100000dc + /* interrupt controller */ #define JZ_ICSR0 0x10001000 /* raw IRQ line status */ #define JZ_ICMR0 0x10001004 /* IRQ mask, 1 masks IRQ */