xref: /openbmc/linux/arch/mips/include/asm/mach-rc32434/rb.h (revision 8fa5723aa7e053d498336b48448b292fc2e0458b)
1 /*
2  *  This program is free software; you can redistribute it and/or modify
3  *  it under the terms of the GNU General Public License as published by
4  *  the Free Software Foundation; either version 2 of the License, or
5  *  (at your option) any later version.
6  *
7  *  This program is distributed in the hope that it will be useful,
8  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  *  GNU General Public License for more details.
11  *
12  *  Copyright (C) 2004 IDT Inc.
13  *  Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
14  */
15 #ifndef __ASM_RC32434_RB_H
16 #define __ASM_RC32434_RB_H
17 
18 #include <linux/genhd.h>
19 
20 #define REGBASE		0x18000000
21 #define IDT434_REG_BASE	((volatile void *) KSEG1ADDR(REGBASE))
22 #define UART0BASE	0x58000
23 #define RST		(1 << 15)
24 #define DEV0BASE	0x010000
25 #define DEV0MASK	0x010004
26 #define DEV0C		0x010008
27 #define DEV0T		0x01000C
28 #define DEV1BASE	0x010010
29 #define DEV1MASK	0x010014
30 #define DEV1C		0x010018
31 #define DEV1TC		0x01001C
32 #define DEV2BASE	0x010020
33 #define DEV2MASK	0x010024
34 #define DEV2C		0x010028
35 #define DEV2TC		0x01002C
36 #define DEV3BASE	0x010030
37 #define DEV3MASK	0x010034
38 #define DEV3C		0x010038
39 #define DEV3TC		0x01003C
40 #define BTCS		0x010040
41 #define BTCOMPARE	0x010044
42 #define GPIOBASE	0x050000
43 #define GPIOCFG		0x050004
44 #define GPIOD		0x050008
45 #define GPIOILEVEL	0x05000C
46 #define GPIOISTAT	0x050010
47 #define GPIONMIEN	0x050014
48 #define IMASK6		0x038038
49 #define LO_WPX		(1 << 0)
50 #define LO_ALE		(1 << 1)
51 #define LO_CLE		(1 << 2)
52 #define LO_CEX		(1 << 3)
53 #define LO_FOFF		(1 << 5)
54 #define LO_SPICS	(1 << 6)
55 #define LO_ULED		(1 << 7)
56 
57 #define BIT_TO_MASK(x)	(1 << x)
58 
59 struct dev_reg {
60 	u32	base;
61 	u32	mask;
62 	u32	ctl;
63 	u32	timing;
64 };
65 
66 struct korina_device {
67 	char *name;
68 	unsigned char mac[6];
69 	struct net_device *dev;
70 };
71 
72 struct cf_device {
73 	int gpio_pin;
74 	void *dev;
75 	struct gendisk *gd;
76 };
77 
78 struct mpmc_device {
79 	unsigned char	state;
80 	spinlock_t	lock;
81 	void __iomem 	*base;
82 };
83 
84 #endif  /* __ASM_RC32434_RB_H */
85