Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * | |
3 | * BRIEF MODULE DESCRIPTION | |
4 | * Alchemy Pb1550 board setup. | |
5 | * | |
6afabe6c SS |
6 | * Copyright 2000, 2008 MontaVista Software Inc. |
7 | * Author: MontaVista Software, Inc. <source@mvista.com> | |
1da177e4 LT |
8 | * |
9 | * This program is free software; you can redistribute it and/or modify it | |
10 | * under the terms of the GNU General Public License as published by the | |
11 | * Free Software Foundation; either version 2 of the License, or (at your | |
12 | * option) any later version. | |
13 | * | |
14 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | |
15 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |
16 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | |
17 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | |
18 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | |
19 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | |
20 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | |
21 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | |
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | |
23 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | |
24 | * | |
25 | * You should have received a copy of the GNU General Public License along | |
26 | * with this program; if not, write to the Free Software Foundation, Inc., | |
27 | * 675 Mass Ave, Cambridge, MA 02139, USA. | |
28 | */ | |
ce28f94c | 29 | |
1da177e4 | 30 | #include <linux/init.h> |
1da177e4 | 31 | |
1da177e4 LT |
32 | #include <asm/mach-au1x00/au1000.h> |
33 | #include <asm/mach-pb1x00/pb1550.h> | |
34 | ||
23ba25d5 ML |
35 | |
36 | char irq_tab_alchemy[][5] __initdata = { | |
37 | [12] = { -1, INTB, INTC, INTD, INTA }, /* IDSEL 12 - PCI slot 2 (left) */ | |
38 | [13] = { -1, INTA, INTB, INTC, INTD }, /* IDSEL 13 - PCI slot 1 (right) */ | |
39 | }; | |
40 | ||
41 | struct au1xxx_irqmap __initdata au1xxx_irq_map[] = { | |
42 | { AU1000_GPIO_0, INTC_INT_LOW_LEVEL, 0 }, | |
43 | { AU1000_GPIO_1, INTC_INT_LOW_LEVEL, 0 }, | |
44 | }; | |
45 | ||
46 | int __initdata au1xxx_nr_irqs = ARRAY_SIZE(au1xxx_irq_map); | |
47 | ||
48 | ||
49 | const char *get_system_type(void) | |
50 | { | |
51 | return "Alchemy Pb1550"; | |
52 | } | |
53 | ||
49a89efb | 54 | void board_reset(void) |
1da177e4 | 55 | { |
6afabe6c SS |
56 | /* Hit BCSR.SYSTEM[RESET] */ |
57 | au_writew(au_readw(0xAF00001C) & ~BCSR_SYSTEM_RESET, 0xAF00001C); | |
1da177e4 LT |
58 | } |
59 | ||
60 | void __init board_setup(void) | |
61 | { | |
62 | u32 pin_func; | |
63 | ||
6afabe6c SS |
64 | /* |
65 | * Enable PSC1 SYNC for AC'97. Normaly done in audio driver, | |
1da177e4 LT |
66 | * but it is board specific code, so put it here. |
67 | */ | |
68 | pin_func = au_readl(SYS_PINFUNC); | |
69 | au_sync(); | |
70 | pin_func |= SYS_PF_MUST_BE_SET | SYS_PF_PSC1_S1; | |
71 | au_writel(pin_func, SYS_PINFUNC); | |
72 | ||
6afabe6c | 73 | au_writel(0, (u32)bcsr | 0x10); /* turn off PCMCIA power */ |
1da177e4 LT |
74 | au_sync(); |
75 | ||
6afabe6c | 76 | printk(KERN_INFO "AMD Alchemy Pb1550 Board\n"); |
1da177e4 | 77 | } |