blob: c904c24550f619e6ed0919c69ac279cd8cfe8f8f [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 */
Ralf Baechle70342282013-01-22 12:59:30 +010023#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/*
Linus Torvalds1da177e2005-04-16 15:20:36 -070027 * Revision register.
28 */
Ralf Baechle70342282013-01-22 12:59:30 +010029#define MIPS_REVISION_REG 0x1fc00010
30#define MIPS_REVISION_CORID_QED_RM5261 0
31#define MIPS_REVISION_CORID_CORE_LV 1
32#define MIPS_REVISION_CORID_BONITO64 2
33#define MIPS_REVISION_CORID_CORE_20K 3
34#define MIPS_REVISION_CORID_CORE_FPGA 4
35#define MIPS_REVISION_CORID_CORE_MSC 5
36#define MIPS_REVISION_CORID_CORE_EMUL 6
37#define MIPS_REVISION_CORID_CORE_FPGA2 7
38#define MIPS_REVISION_CORID_CORE_FPGAR2 8
39#define MIPS_REVISION_CORID_CORE_FPGA3 9
40#define MIPS_REVISION_CORID_CORE_24K 10
41#define MIPS_REVISION_CORID_CORE_FPGA4 11
42#define MIPS_REVISION_CORID_CORE_FPGA5 12
Linus Torvalds1da177e2005-04-16 15:20:36 -070043
44/**** Artificial corid defines ****/
45/*
46 * CoreEMUL with Bonito System Controller is treated like a Core20K
47 * CoreEMUL with SOC-it 101 System Controller is treated like a CoreMSC
48 */
Chris Dearmanb72c0522007-04-27 15:58:41 +010049#define MIPS_REVISION_CORID_CORE_EMUL_BON -1
50#define MIPS_REVISION_CORID_CORE_EMUL_MSC -2
Linus Torvalds1da177e2005-04-16 15:20:36 -070051
52#define MIPS_REVISION_CORID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 10) & 0x3f)
53
Chris Dearmanb72c0522007-04-27 15:58:41 +010054#define MIPS_REVISION_SCON_OTHER 0
55#define MIPS_REVISION_SCON_SOCITSC 1
56#define MIPS_REVISION_SCON_SOCITSCP 2
57
58/* Artificial SCON defines for MIPS_REVISION_SCON_OTHER */
59#define MIPS_REVISION_SCON_UNKNOWN -1
60#define MIPS_REVISION_SCON_GT64120 -2
61#define MIPS_REVISION_SCON_BONITO -3
62#define MIPS_REVISION_SCON_BRTL -4
63#define MIPS_REVISION_SCON_SOCIT -5
64#define MIPS_REVISION_SCON_ROCIT -6
65
66#define MIPS_REVISION_SCONID (((*(volatile u32 *)ioremap(MIPS_REVISION_REG, 4)) >> 24) & 0xff)
67
68extern int mips_revision_sconid;
Linus Torvalds1da177e2005-04-16 15:20:36 -070069
Ralf Baechlec83cfc92005-06-21 13:56:30 +000070#ifdef CONFIG_PCI
71extern void mips_pcibios_init(void);
72#else
73#define mips_pcibios_init() do { } while (0)
74#endif
75
Steven J. Hill98ffcf62013-03-25 14:24:42 -050076extern void mips_scroll_message(void);
77extern void mips_display_message(const char *str);
78
Ralf Baechle70342282013-01-22 12:59:30 +010079#endif /* __ASM_MIPS_BOARDS_GENERIC_H */