diff options
author | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
---|---|---|
committer | Adam <you@example.com> | 2020-05-17 05:51:50 +0200 |
commit | e611b132f9b8abe35b362e5870b74bce94a1e58e (patch) | |
tree | a5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/fw/ppc/j4reset.h | |
download | NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2 NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip |
Diffstat (limited to 'private/ntos/fw/ppc/j4reset.h')
-rw-r--r-- | private/ntos/fw/ppc/j4reset.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/private/ntos/fw/ppc/j4reset.h b/private/ntos/fw/ppc/j4reset.h new file mode 100644 index 000000000..4a543dc5c --- /dev/null +++ b/private/ntos/fw/ppc/j4reset.h @@ -0,0 +1,115 @@ +/*++ + +Copyright (c) 1990 Microsoft Corporation + +Module Name: + + j4reset.h + +Abstract: + + This module defines various parameters for the reset module. + +Author: + + Lluis Abello (lluis) 10-Jan-1991 + +Revision History: + +--*/ + +#ifndef _J4RESET_ +#define _J4RESET_ + +//TEMPTEMP +#define SECONDARY_CACHE_SIZE (1 << 20) +#define SECONDARY_CACHE_INVALID 0x0 +#define TAGLO_SSTATE 0xA +#define INDEX_FILL_I 0x14 // ****** temp ****** this must be moved to kxmips.h +#define HIT_WRITEBACK_I 0x18 // ****** temp ****** this must be moved to kxmips.h + +// +// redefine bal to be a relative branch and link instead of jal as it's +// defined in kxmips.h. This allows calling routines when running in either +// ROM_VIRT Addresses or ResetVector Addresses. +// The cpp will issue a redefinition warning message. +// +#define bal bgezal zero, + +// +// #define MCTADR register values. +// + +// +// Mctadr register reset values. +// +#ifndef DUO +#define CONFIG_RESET_MCTADR_REV1 0x104 +#define CONFIG_RESET_MCTADR_REV2 0x410 +#define REMSPEED_RESET 0x7 +#define REFRRATE_RESET 0x18186 +#define SECURITY_RESET 0x7 +#else +#define CONFIG_RESET_MP_ADR_REV1 0x4 +#define REMSPEED_RESET 0x7 +#define REFRRATE_RESET 0x18186 +#define SECURITY_RESET 0x7 +#endif + +// +// Define remspeed registers. +// +#ifndef DUO +#define REMSPEED0 7 // reserved +#define REMSPEED1 0 // Ethernet +#define REMSPEED2 1 // scsi +#define REMSPEED3 2 // floppy +#define REMSPEED4 7 // rtc +#define REMSPEED5 3 // kbd/mouse +#define REMSPEED6 2 // serial 1 +#define REMSPEED7 2 // serial 2 +#define REMSPEED8 2 // parallel +#define REMSPEED9 4 // nvram +#define REMSPEED10 1 // interrupt src +#define REMSPEED11 2 // PROM (should be 4) +#define REMSPEED12 1 // sound +#define REMSPEED13 7 // new device +#define REMSPEED14 1 // EISA latch +#define REMSPEED15 1 // led +#else +#define REMSPEED0 7 // reserved +#define REMSPEED1 0 // Ethernet +#define REMSPEED2 0 // scsi +#define REMSPEED3 0 // scsi +#define REMSPEED4 7 // rtc +#define REMSPEED5 3 // kbd/mouse +#define REMSPEED6 2 // serial 1 +#define REMSPEED7 2 // serial 2 +#define REMSPEED8 2 // parallel +#define REMSPEED9 4 // nvram +#define REMSPEED10 3 // interrupt src +#define REMSPEED11 3 // PROM (should be 4) +#define REMSPEED12 7 // new device +#define REMSPEED13 7 // new device +#define REMSPEED14 1 // LED +#endif + + +// +// Define the refresh rate. This value is 32/50th of the the reset value +// because we are currently running at 32MHz +// +#ifndef DUO +#define MEMORY_REFRESH_RATE 0x18186 +#else +#define MEMORY_REFRESH_RATE 0x38186 +#endif + + +#define PROM_BASE (KSEG1_BASE | 0x1fc00000) +#define PROM_ENTRY(x) (PROM_BASE + ((x) * 8)) + +#define DMA_CHANNEL_GAP 0x20 // distance beetwen DMA channels + + +#endif // _J4RESET_ |