rb.h 2.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/*
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 *  GNU General Public License for more details.
 *
 *  Copyright (C) 2004 IDT Inc.
 *  Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org>
 */
#ifndef __ASM_RC32434_RB_H
#define __ASM_RC32434_RB_H

#include <linux/genhd.h>

20 21
#define REGBASE		0x18000000
#define IDT434_REG_BASE	((volatile void *) KSEG1ADDR(REGBASE))
22 23
#define UART0BASE	0x58000
#define RST		(1 << 15)
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
#define DEV0BASE	0x010000
#define DEV0MASK	0x010004
#define DEV0C		0x010008
#define DEV0T		0x01000C
#define DEV1BASE	0x010010
#define DEV1MASK	0x010014
#define DEV1C		0x010018
#define DEV1TC		0x01001C
#define DEV2BASE	0x010020
#define DEV2MASK	0x010024
#define DEV2C		0x010028
#define DEV2TC		0x01002C
#define DEV3BASE	0x010030
#define DEV3MASK	0x010034
#define DEV3C		0x010038
#define DEV3TC		0x01003C
#define BTCS		0x010040
#define BTCOMPARE	0x010044
#define GPIOBASE	0x050000
43 44 45 46 47 48 49 50
/* Offsets relative to GPIOBASE */
#define GPIOFUNC	0x00
#define GPIOCFG		0x04
#define GPIOD		0x08
#define GPIOILEVEL	0x0C
#define GPIOISTAT	0x10
#define GPIONMIEN	0x14
#define IMASK6		0x38
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
#define LO_WPX		(1 << 0)
#define LO_ALE		(1 << 1)
#define LO_CLE		(1 << 2)
#define LO_CEX		(1 << 3)
#define LO_FOFF		(1 << 5)
#define LO_SPICS	(1 << 6)
#define LO_ULED		(1 << 7)

#define BIT_TO_MASK(x)	(1 << x)

struct dev_reg {
	u32	base;
	u32	mask;
	u32	ctl;
	u32	timing;
};

struct korina_device {
	char *name;
	unsigned char mac[6];
	struct net_device *dev;
};

struct cf_device {
	int gpio_pin;
	void *dev;
	struct gendisk *gd;
};

struct mpmc_device {
	unsigned char	state;
	spinlock_t	lock;
	void __iomem 	*base;
};

#endif  /* __ASM_RC32434_RB_H */