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