Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 2 | * Alchemy Semi Pb1100 Referrence Board |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 3 | * |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 4 | * Copyright 2001, 2008 MontaVista Software Inc. |
| 5 | * Author: MontaVista Software, Inc. <source@mvista.com> |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 6 | * |
| 7 | * ######################################################################## |
| 8 | * |
| 9 | * This program is free software; you can distribute it and/or modify it |
| 10 | * under the terms of the GNU General Public License (Version 2) as |
| 11 | * published by the Free Software Foundation. |
| 12 | * |
| 13 | * This program is distributed in the hope it will be useful, but WITHOUT |
| 14 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| 15 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| 16 | * for more details. |
| 17 | * |
| 18 | * You should have received a copy of the GNU General Public License along |
| 19 | * with this program; if not, write to the Free Software Foundation, Inc., |
| 20 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. |
| 21 | * |
| 22 | * ######################################################################## |
| 23 | * |
| 24 | * |
| 25 | */ |
| 26 | #ifndef __ASM_PB1100_H |
| 27 | #define __ASM_PB1100_H |
| 28 | |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 29 | #define PB1100_IDENT 0xAE000000 |
| 30 | #define BOARD_STATUS_REG 0xAE000004 |
| 31 | # define PB1100_ROM_SEL (1 << 15) |
| 32 | # define PB1100_ROM_SIZ (1 << 14) |
| 33 | # define PB1100_SWAP_BOOT (1 << 13) |
| 34 | # define PB1100_FLASH_WP (1 << 12) |
| 35 | # define PB1100_ROM_H_STS (1 << 11) |
| 36 | # define PB1100_ROM_L_STS (1 << 10) |
| 37 | # define PB1100_FLASH_H_STS (1 << 9) |
| 38 | # define PB1100_FLASH_L_STS (1 << 8) |
| 39 | # define PB1100_SRAM_SIZ (1 << 7) |
| 40 | # define PB1100_TSC_BUSY (1 << 6) |
| 41 | # define PB1100_PCMCIA_VS_MASK (3 << 4) |
| 42 | # define PB1100_RS232_CD (1 << 3) |
| 43 | # define PB1100_RS232_CTS (1 << 2) |
| 44 | # define PB1100_RS232_DSR (1 << 1) |
| 45 | # define PB1100_RS232_RI (1 << 0) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 46 | |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 47 | #define PB1100_IRDA_RS232 0xAE00000C |
| 48 | # define PB1100_IRDA_FULL (0 << 14) /* full power */ |
| 49 | # define PB1100_IRDA_SHUTDOWN (1 << 14) |
| 50 | # define PB1100_IRDA_TT (2 << 14) /* 2/3 power */ |
| 51 | # define PB1100_IRDA_OT (3 << 14) /* 1/3 power */ |
| 52 | # define PB1100_IRDA_FIR (1 << 13) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 53 | |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 54 | #define PCMCIA_BOARD_REG 0xAE000010 |
| 55 | # define PB1100_SD_WP1_RO (1 << 15) /* read only */ |
| 56 | # define PB1100_SD_WP0_RO (1 << 14) /* read only */ |
| 57 | # define PB1100_SD_PWR1 (1 << 11) /* applies power to SD1 */ |
| 58 | # define PB1100_SD_PWR0 (1 << 10) /* applies power to SD0 */ |
| 59 | # define PB1100_SEL_SD_CONN1 (1 << 9) |
| 60 | # define PB1100_SEL_SD_CONN0 (1 << 8) |
| 61 | # define PC_DEASSERT_RST (1 << 7) |
| 62 | # define PC_DRV_EN (1 << 4) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 63 | |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 64 | #define PB1100_G_CONTROL 0xAE000014 /* graphics control */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 65 | |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 66 | #define PB1100_RST_VDDI 0xAE00001C |
| 67 | # define PB1100_SOFT_RESET (1 << 15) /* clear to reset the board */ |
| 68 | # define PB1100_VDDI_MASK 0x1F |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 69 | |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 70 | #define PB1100_LEDS 0xAE000018 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 71 | |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 72 | /* |
| 73 | * 11:8 is 4 discreet LEDs. Clearing a bit illuminates the LED. |
| 74 | * 7:0 is the LED Display's decimal points. |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 75 | */ |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 76 | #define PB1100_HEX_LED 0xAE000018 |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 77 | |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 78 | /* PCMCIA Pb1100 specific defines */ |
| 79 | #define PCMCIA_MAX_SOCK 0 |
| 80 | #define PCMCIA_NUM_SOCKS (PCMCIA_MAX_SOCK + 1) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 81 | |
| 82 | /* VPP/VCC */ |
Sergei Shtylyov | be1c3c1 | 2008-04-30 23:26:28 +0400 | [diff] [blame] | 83 | #define SET_VCC_VPP(VCC, VPP) (((VCC) << 2) | ((VPP) << 0)) |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 84 | |
| 85 | #endif /* __ASM_PB1100_H */ |