diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 20:32:09 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 20:32:09 -0500 |
commit | 591eb85ecd7e6eb8596c6129ae074e16636b99f4 (patch) | |
tree | 535fb7e9bc29113ff62fd70b0dcd8ad197ab51e2 /include/asm-arm/arch-ep93xx/ts72xx.h | |
parent | 4658f79bec0b51222e769e328c2923f39f3bda77 (diff) | |
parent | 3a2916aa289504d694072a98876d23ca31d6401e (diff) |
Merge master.kernel.org:/home/rmk/linux-2.6-arm
* master.kernel.org:/home/rmk/linux-2.6-arm: (45 commits)
[ARM] 3389/1: typo and grammar fix
[ARM] 3386/1: AT91RM9200 Clock update
[ARM] 3384/1: AT91RM9200: Timer
[ARM] 3382/1: ixp2000: unify defconfigs
[ARM] 3381/1: ixp2000: fix slowport write timing control register fields
[ARM] 3380/1: ixp2000: simplify ixdp2x00_master_npu() check
[ARM] 3379/1: ixp2000: use generic 8250 debug macros
[ARM] 3378/1: ixp2000: fix gpio interrupt handling
[ARM] Quieten spurious IRQ detection
[ARM] Use kcalloc to allocate counter_config array rather than kmalloc
[ARM] Oprofile: dynamically allocate counter_config
[ARM] Oprofile: Convert semaphore to mutex
[ARM] 3376/2: S3C2410 - update defconfig
[ARM] 3375/1: S3C2440 - fix osiris machine build
[ARM] 3374/1: ep93xx: gpio interrupt support
[ARM] 3361/1: S3C24XX - add USB bus clock source
[ARM] 3360/1: S3C2440 - add set rate methods and camera clock
[ARM] 3359/1: S3C24XX - add support for clk_set_rate
[ARM] Convert kmalloc+memset to kzalloc
[ARM] 3373/1: move uengine loader to arch/arm/common
...
Diffstat (limited to 'include/asm-arm/arch-ep93xx/ts72xx.h')
-rw-r--r-- | include/asm-arm/arch-ep93xx/ts72xx.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/include/asm-arm/arch-ep93xx/ts72xx.h b/include/asm-arm/arch-ep93xx/ts72xx.h new file mode 100644 index 000000000000..412215e77f44 --- /dev/null +++ b/include/asm-arm/arch-ep93xx/ts72xx.h | |||
@@ -0,0 +1,90 @@ | |||
1 | /* | ||
2 | * linux/include/asm-arm/arch-ep93xx/ts72xx.h | ||
3 | */ | ||
4 | |||
5 | /* | ||
6 | * TS72xx memory map: | ||
7 | * | ||
8 | * virt phys size | ||
9 | * febff000 22000000 4K model number register | ||
10 | * febfe000 22400000 4K options register | ||
11 | * febfd000 22800000 4K options register #2 | ||
12 | * febfc000 [67]0000000 4K NAND data register | ||
13 | * febfb000 [67]0400000 4K NAND control register | ||
14 | * febfa000 [67]0800000 4K NAND busy register | ||
15 | */ | ||
16 | |||
17 | #define TS72XX_MODEL_PHYS_BASE 0x22000000 | ||
18 | #define TS72XX_MODEL_VIRT_BASE 0xfebff000 | ||
19 | #define TS72XX_MODEL_SIZE 0x00001000 | ||
20 | |||
21 | #define TS72XX_MODEL_TS7200 0x00 | ||
22 | #define TS72XX_MODEL_TS7250 0x01 | ||
23 | #define TS72XX_MODEL_TS7260 0x02 | ||
24 | |||
25 | |||
26 | #define TS72XX_OPTIONS_PHYS_BASE 0x22400000 | ||
27 | #define TS72XX_OPTIONS_VIRT_BASE 0xfebfe000 | ||
28 | #define TS72XX_OPTIONS_SIZE 0x00001000 | ||
29 | |||
30 | #define TS72XX_OPTIONS_COM2_RS485 0x02 | ||
31 | #define TS72XX_OPTIONS_MAX197 0x01 | ||
32 | |||
33 | |||
34 | #define TS72XX_OPTIONS2_PHYS_BASE 0x22800000 | ||
35 | #define TS72XX_OPTIONS2_VIRT_BASE 0xfebfd000 | ||
36 | #define TS72XX_OPTIONS2_SIZE 0x00001000 | ||
37 | |||
38 | #define TS72XX_OPTIONS2_TS9420 0x04 | ||
39 | #define TS72XX_OPTIONS2_TS9420_BOOT 0x02 | ||
40 | |||
41 | |||
42 | #define TS72XX_NOR_PHYS_BASE 0x60000000 | ||
43 | #define TS72XX_NOR2_PHYS_BASE 0x62000000 | ||
44 | |||
45 | #define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000 | ||
46 | #define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000 | ||
47 | #define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000 | ||
48 | #define TS72XX_NAND_DATA_SIZE 0x00001000 | ||
49 | |||
50 | #define TS72XX_NAND1_CONTROL_PHYS_BASE 0x60400000 | ||
51 | #define TS72XX_NAND2_CONTROL_PHYS_BASE 0x70400000 | ||
52 | #define TS72XX_NAND_CONTROL_VIRT_BASE 0xfebfb000 | ||
53 | #define TS72XX_NAND_CONTROL_SIZE 0x00001000 | ||
54 | |||
55 | #define TS72XX_NAND1_BUSY_PHYS_BASE 0x60800000 | ||
56 | #define TS72XX_NAND2_BUSY_PHYS_BASE 0x70800000 | ||
57 | #define TS72XX_NAND_BUSY_VIRT_BASE 0xfebfa000 | ||
58 | #define TS72XX_NAND_BUSY_SIZE 0x00001000 | ||
59 | |||
60 | |||
61 | #ifndef __ASSEMBLY__ | ||
62 | #include <asm/io.h> | ||
63 | |||
64 | static inline int board_is_ts7200(void) | ||
65 | { | ||
66 | return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7200; | ||
67 | } | ||
68 | |||
69 | static inline int board_is_ts7250(void) | ||
70 | { | ||
71 | return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7250; | ||
72 | } | ||
73 | |||
74 | static inline int board_is_ts7260(void) | ||
75 | { | ||
76 | return __raw_readb(TS72XX_MODEL_VIRT_BASE) == TS72XX_MODEL_TS7260; | ||
77 | } | ||
78 | |||
79 | static inline int is_max197_installed(void) | ||
80 | { | ||
81 | return !!(__raw_readb(TS72XX_OPTIONS_VIRT_BASE) & | ||
82 | TS72XX_OPTIONS_MAX197); | ||
83 | } | ||
84 | |||
85 | static inline int is_ts9420_installed(void) | ||
86 | { | ||
87 | return !!(__raw_readb(TS72XX_OPTIONS2_VIRT_BASE) & | ||
88 | TS72XX_OPTIONS2_TS9420); | ||
89 | } | ||
90 | #endif | ||