blob: fa188ff08e5a42a2384d1e894a12980c35af077f [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Steven J. Hill127993e2012-12-07 04:15:03 +00002 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
Linus Torvalds1da177e2005-04-16 15:20:36 -07004 * for more details.
5 *
Linus Torvalds1da177e2005-04-16 15:20:36 -07006 * Defines of the MIPS boards specific address-MAP, registers, etc.
Steven J. Hill127993e2012-12-07 04:15:03 +00007 *
8 * Copyright (C) 2000,2012 MIPS Technologies, Inc.
9 * All rights reserved.
10 * Authors: Carsten Langgaard <carstenl@mips.com>
11 * Steven J. Hill <sjhill@mips.com>
Linus Torvalds1da177e2005-04-16 15:20:36 -070012 */
13#ifndef __ASM_MIPS_BOARDS_GENERIC_H
14#define __ASM_MIPS_BOARDS_GENERIC_H
15
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#include <asm/addrspace.h>
17#include <asm/byteorder.h>
18#include <asm/mips-boards/bonito64.h>
19
20/*
21 * Display register base.
22 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070023#define ASCII_DISPLAY_WORD_BASE 0x1f000410
24#define ASCII_DISPLAY_POS_BASE 0x1f000418
Linus Torvalds1da177e2005-04-16 15:20:36 -070025
Linus Torvalds1da177e2005-04-16 15:20:36 -070026/*
27 * Reset register.
28 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070029#define SOFTRES_REG 0x1f000500
30#define GORESET 0x42
Linus Torvalds1da177e2005-04-16 15:20:36 -070031
32/*
33 * Revision register.
34 */
35#define MIPS_REVISION_REG 0x1fc00010
36#define MIPS_REVISION_CORID_QED_RM5261 0
37#define MIPS_REVISION_CORID_CORE_LV 1
38#define MIPS_REVISION_CORID_BONITO64 2
39#define MIPS_REVISION_CORID_CORE_20K 3
40#define MIPS_REVISION_CORID_CORE_FPGA 4
41#define MIPS_REVISION_CORID_CORE_MSC 5
42#define MIPS_REVISION_CORID_CORE_EMUL 6
43#define MIPS_REVISION_CORID_CORE_FPGA2 7
44#define MIPS_REVISION_CORID_CORE_FPGAR2 8
Ralf Baechle479a0e32005-08-16 15:44:06 +000045#define MIPS_REVISION_CORID_CORE_FPGA3 9
Chris Dearman7a834192006-04-15 00:31:16 +010046#define MIPS_REVISION_CORID_CORE_24K 10
Chris Dearmana11b18e2007-07-27 20:02:00 +010047#define MIPS_REVISION_CORID_CORE_FPGA4 11
Chris Dearman30840242007-09-21 14:50:08 +010048#define MIPS_REVISION_CORID_CORE_FPGA5 12
Linus Torvalds1da177e2005-04-16 15:20:36 -070049
50/**** Artificial corid defines ****/
51/*
52 * CoreEMUL with Bonito System Controller is treated like a Core20K
53 * CoreEMUL with SOC-it 101 System Controller is treated like a CoreMSC
54 */
Chris Dearmanb72c0522007-04-27 15:58:41 +010055#define MIPS_REVISION_CORID_CORE_EMUL_BON -1
56#define MIPS_REVISION_CORID_CORE_EMUL_MSC -2
Linus Torvalds1da177e2005-04-16 15:20:36 -070057
58#define MIPS_REVISION_CORID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 10) & 0x3f)
59
Chris Dearmanb72c0522007-04-27 15:58:41 +010060#define MIPS_REVISION_SCON_OTHER 0
61#define MIPS_REVISION_SCON_SOCITSC 1
62#define MIPS_REVISION_SCON_SOCITSCP 2
63
64/* Artificial SCON defines for MIPS_REVISION_SCON_OTHER */
65#define MIPS_REVISION_SCON_UNKNOWN -1
66#define MIPS_REVISION_SCON_GT64120 -2
67#define MIPS_REVISION_SCON_BONITO -3
68#define MIPS_REVISION_SCON_BRTL -4
69#define MIPS_REVISION_SCON_SOCIT -5
70#define MIPS_REVISION_SCON_ROCIT -6
71
72#define MIPS_REVISION_SCONID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 24) & 0xff)
73
74extern int mips_revision_sconid;
Linus Torvalds1da177e2005-04-16 15:20:36 -070075
Ralf Baechlec83cfc92005-06-21 13:56:30 +000076#ifdef CONFIG_PCI
77extern void mips_pcibios_init(void);
78#else
79#define mips_pcibios_init() do { } while (0)
80#endif
81
Linus Torvalds1da177e2005-04-16 15:20:36 -070082#endif /* __ASM_MIPS_BOARDS_GENERIC_H */