/* * 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> #define REGBASE 0x18000000 #define IDT434_REG_BASE ((volatile void *) KSEG1ADDR(REGBASE)) #define UART0BASE 0x58000 #define RST (1 << 15) #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 /* 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 #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; }; extern void set_latch_u5(unsigned char or_mask, unsigned char nand_mask); extern unsigned char get_latch_u5(void); #endif /* __ASM_RC32434_RB_H */ |