1088eec1192a0ae60fc218796027e622008af36c0Roy Huang/*
296f1050d3df105c9ae6c6ac224f370199ea82fcdRobin Getz * Copyright 2007-2009 Analog Devices Inc.
3088eec1192a0ae60fc218796027e622008af36c0Roy Huang *
496f1050d3df105c9ae6c6ac224f370199ea82fcdRobin Getz * Licensed under the GPL-2 or later.
5088eec1192a0ae60fc218796027e622008af36c0Roy Huang */
6088eec1192a0ae60fc218796027e622008af36c0Roy Huang
7088eec1192a0ae60fc218796027e622008af36c0Roy Huang#ifndef __MACH_BF548_H__
8088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define __MACH_BF548_H__
9088eec1192a0ae60fc218796027e622008af36c0Roy Huang
10088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define OFFSET_(x) ((x) & 0x0000FFFF)
11088eec1192a0ae60fc218796027e622008af36c0Roy Huang
12088eec1192a0ae60fc218796027e622008af36c0Roy Huang/*some misc defines*/
13088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG15		0x8000
14088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG14		0x4000
15088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG13		0x2000
16088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG12		0x1000
17088eec1192a0ae60fc218796027e622008af36c0Roy Huang
18088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG11		0x0800
19088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG10		0x0400
20088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG9		0x0200
21088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG8		0x0100
22088eec1192a0ae60fc218796027e622008af36c0Roy Huang
23088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVG7		0x0080
24088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVGTMR	0x0040
25088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define IMASK_IVGHW		0x0020
26088eec1192a0ae60fc218796027e622008af36c0Roy Huang
27088eec1192a0ae60fc218796027e622008af36c0Roy Huang/***************************/
28088eec1192a0ae60fc218796027e622008af36c0Roy Huang
29088eec1192a0ae60fc218796027e622008af36c0Roy Huang
303bebca2d20796dd3dc62c5d3e74148087c7ce5bdRobin Getz#define BFIN_DSUBBANKS	4
313bebca2d20796dd3dc62c5d3e74148087c7ce5bdRobin Getz#define BFIN_DWAYS		2
323bebca2d20796dd3dc62c5d3e74148087c7ce5bdRobin Getz#define BFIN_DLINES		64
333bebca2d20796dd3dc62c5d3e74148087c7ce5bdRobin Getz#define BFIN_ISUBBANKS	4
343bebca2d20796dd3dc62c5d3e74148087c7ce5bdRobin Getz#define BFIN_IWAYS		4
353bebca2d20796dd3dc62c5d3e74148087c7ce5bdRobin Getz#define BFIN_ILINES		32
36088eec1192a0ae60fc218796027e622008af36c0Roy Huang
37088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define WAY0_L			0x1
38088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define WAY1_L			0x2
39088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define WAY01_L			0x3
40088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define WAY2_L			0x4
41088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define WAY02_L			0x5
42088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY12_L			0x6
43088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY012_L		0x7
44088eec1192a0ae60fc218796027e622008af36c0Roy Huang
45088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY3_L			0x8
46088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY03_L			0x9
47088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY13_L			0xA
48088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY013_L		0xB
49088eec1192a0ae60fc218796027e622008af36c0Roy Huang
50088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY32_L			0xC
51088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY320_L		0xD
52088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAY321_L		0xE
53088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define	WAYALL_L		0xF
54088eec1192a0ae60fc218796027e622008af36c0Roy Huang
55088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define DMC_ENABLE (2<<2)	/*yes, 2, not 1 */
56088eec1192a0ae60fc218796027e622008af36c0Roy Huang
57088eec1192a0ae60fc218796027e622008af36c0Roy Huang/********************************* EBIU Settings ************************************/
58088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define AMBCTL0VAL	((CONFIG_BANK_1 << 16) | CONFIG_BANK_0)
59088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define AMBCTL1VAL	((CONFIG_BANK_3 << 16) | CONFIG_BANK_2)
60088eec1192a0ae60fc218796027e622008af36c0Roy Huang
61088eec1192a0ae60fc218796027e622008af36c0Roy Huang#ifdef CONFIG_C_AMBEN_ALL
62088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define V_AMBEN AMBEN_ALL
63088eec1192a0ae60fc218796027e622008af36c0Roy Huang#endif
64088eec1192a0ae60fc218796027e622008af36c0Roy Huang#ifdef CONFIG_C_AMBEN
65088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define V_AMBEN 0x0
66088eec1192a0ae60fc218796027e622008af36c0Roy Huang#endif
67088eec1192a0ae60fc218796027e622008af36c0Roy Huang#ifdef CONFIG_C_AMBEN_B0
68088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define V_AMBEN AMBEN_B0
69088eec1192a0ae60fc218796027e622008af36c0Roy Huang#endif
70088eec1192a0ae60fc218796027e622008af36c0Roy Huang#ifdef CONFIG_C_AMBEN_B0_B1
71088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define V_AMBEN AMBEN_B0_B1
72088eec1192a0ae60fc218796027e622008af36c0Roy Huang#endif
73088eec1192a0ae60fc218796027e622008af36c0Roy Huang#ifdef CONFIG_C_AMBEN_B0_B1_B2
74088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define V_AMBEN AMBEN_B0_B1_B2
75088eec1192a0ae60fc218796027e622008af36c0Roy Huang#endif
76088eec1192a0ae60fc218796027e622008af36c0Roy Huang#ifdef CONFIG_C_AMCKEN
77088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define V_AMCKEN AMCKEN
78088eec1192a0ae60fc218796027e622008af36c0Roy Huang#else
79088eec1192a0ae60fc218796027e622008af36c0Roy Huang#define V_AMCKEN 0x0
80088eec1192a0ae60fc218796027e622008af36c0Roy Huang#endif
81088eec1192a0ae60fc218796027e622008af36c0Roy Huang
829be343c5bcd1cf285c2150f363bc9dd7aab8b7fbMichael Hennerich#define AMGCTLVAL	(V_AMBEN | V_AMCKEN)
83088eec1192a0ae60fc218796027e622008af36c0Roy Huang
84b5f87aa41db4d5cd64ca77f10b33fdfba61a47d7Mike Frysinger#if defined(CONFIG_BF542)
85b5f87aa41db4d5cd64ca77f10b33fdfba61a47d7Mike Frysinger# define CPU   "BF542"
86e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPUID 0x27de
87b5f87aa41db4d5cd64ca77f10b33fdfba61a47d7Mike Frysinger#elif defined(CONFIG_BF544)
88e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPU   "BF544"
89e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPUID 0x27de
90b5f87aa41db4d5cd64ca77f10b33fdfba61a47d7Mike Frysinger#elif defined(CONFIG_BF547)
91e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPU   "BF547"
92e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPUID 0x27de
93b5f87aa41db4d5cd64ca77f10b33fdfba61a47d7Mike Frysinger#elif defined(CONFIG_BF548)
94e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPU   "BF548"
95e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPUID 0x27de
96b5f87aa41db4d5cd64ca77f10b33fdfba61a47d7Mike Frysinger#elif defined(CONFIG_BF549)
97e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPU   "BF549"
98e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz# define CPUID 0x27de
99e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz#endif
100e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz
101e482cad241c0b7108cbc94959307a73d19ba17d5Robin Getz#ifndef CPU
1022563265bdb5fb21396cdc2125c8260e57f7c3991Mike Frysinger#error "Unknown CPU type - This kernel doesn't seem to be configured properly"
103088eec1192a0ae60fc218796027e622008af36c0Roy Huang#endif
104088eec1192a0ae60fc218796027e622008af36c0Roy Huang
105088eec1192a0ae60fc218796027e622008af36c0Roy Huang#endif	/* __MACH_BF48_H__  */
106