Merge branch 'master'
[powerpc.git] / include / asm-arm / arch-ixp4xx / nslu2.h
1 /*
2  * include/asm-arm/arch-ixp4xx/nslu2.h
3  *
4  * NSLU2 platform specific definitions
5  *
6  * Author: Mark Rakes <mrakes AT mac.com>
7  * Maintainers: http://www.nslu2-linux.org
8  *
9  * based on ixdp425.h:
10  *      Copyright 2004 (c) MontaVista, Software, Inc.
11  *
12  * This file is licensed under  the terms of the GNU General Public
13  * License version 2. This program is licensed "as is" without any
14  * warranty of any kind, whether express or implied.
15  */
16
17 #ifndef __ASM_ARCH_HARDWARE_H__
18 #error "Do not include this directly, instead #include <asm/hardware.h>"
19 #endif
20
21 #define NSLU2_FLASH_BASE        IXP4XX_EXP_BUS_CS0_BASE_PHYS
22 #define NSLU2_FLASH_SIZE        IXP4XX_EXP_BUS_CSX_REGION_SIZE
23
24 #define NSLU2_SDA_PIN           7
25 #define NSLU2_SCL_PIN           6
26
27 /*
28  * NSLU2 PCI IRQs
29  */
30 #define NSLU2_PCI_MAX_DEV       3
31 #define NSLU2_PCI_IRQ_LINES     3
32
33
34 /* PCI controller GPIO to IRQ pin mappings */
35 #define NSLU2_PCI_INTA_PIN      11
36 #define NSLU2_PCI_INTB_PIN      10
37 #define NSLU2_PCI_INTC_PIN      9
38 #define NSLU2_PCI_INTD_PIN      8
39
40
41 /* NSLU2 Timer */
42 #define NSLU2_FREQ 66000000
43 #define NSLU2_CLOCK_TICK_RATE (((NSLU2_FREQ / HZ & ~IXP4XX_OST_RELOAD_MASK) + 1) * HZ)
44 #define NSLU2_CLOCK_TICKS_PER_USEC ((NSLU2_CLOCK_TICK_RATE + USEC_PER_SEC/2) / USEC_PER_SEC)
45
46 /* GPIO */
47
48 #define NSLU2_GPIO0             0
49 #define NSLU2_GPIO1             1
50 #define NSLU2_GPIO2             2
51 #define NSLU2_GPIO3             3
52 #define NSLU2_GPIO4             4
53 #define NSLU2_GPIO5             5
54 #define NSLU2_GPIO6             6
55 #define NSLU2_GPIO7             7
56 #define NSLU2_GPIO8             8
57 #define NSLU2_GPIO9             9
58 #define NSLU2_GPIO10            10
59 #define NSLU2_GPIO11            11
60 #define NSLU2_GPIO12            12
61 #define NSLU2_GPIO13            13
62 #define NSLU2_GPIO14            14
63 #define NSLU2_GPIO15            15
64
65 /* Buttons */
66
67 #define NSLU2_PB_GPIO           NSLU2_GPIO5
68 #define NSLU2_PO_GPIO           NSLU2_GPIO8     /* power off */
69 #define NSLU2_RB_GPIO           NSLU2_GPIO12
70
71 #define NSLU2_PB_IRQ            IRQ_IXP4XX_GPIO5
72 #define NSLU2_RB_IRQ            IRQ_IXP4XX_GPIO12
73
74 #define NSLU2_PB_BM             (1L << NSLU2_PB_GPIO)
75 #define NSLU2_PO_BM             (1L << NSLU2_PO_GPIO)
76 #define NSLU2_RB_BM             (1L << NSLU2_RB_GPIO)
77
78 /* Buzzer */
79
80 #define NSLU2_GPIO_BUZZ         4
81 #define NSLU2_BZ_BM             (1L << NSLU2_GPIO_BUZZ)
82 /* LEDs */
83
84 #define NSLU2_LED_RED           NSLU2_GPIO0
85 #define NSLU2_LED_GRN           NSLU2_GPIO1
86
87 #define NSLU2_LED_RED_BM        (1L << NSLU2_LED_RED)
88 #define NSLU2_LED_GRN_BM        (1L << NSLU2_LED_GRN)
89
90 #define NSLU2_LED_DISK1         NSLU2_GPIO2
91 #define NSLU2_LED_DISK2         NSLU2_GPIO3
92
93 #define NSLU2_LED_DISK1_BM      (1L << NSLU2_GPIO2)
94 #define NSLU2_LED_DISK2_BM      (1L << NSLU2_GPIO3)
95
96