aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ep93xx/ts72xx.c
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2009-09-12 07:04:37 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2009-09-12 07:04:37 -0400
commit87d721ad7a37b7650dd710c88dd5c6a5bf9fe996 (patch)
tree869d633803eb7c429624d3bd16a6117816849763 /arch/arm/mach-ep93xx/ts72xx.c
parentddd559b13f6d2fe3ad68c4b3f5235fd3c2eae4e3 (diff)
parentb7cfda9fc3d7aa60cffab5367f2a72a4a70060cd (diff)
Merge branch 'master' into devel
Diffstat (limited to 'arch/arm/mach-ep93xx/ts72xx.c')
-rw-r--r--arch/arm/mach-ep93xx/ts72xx.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
index 5255dddd3067..259f7822ba52 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
@@ -111,13 +111,16 @@ static void __init ts72xx_map_io(void)
111 } 111 }
112} 112}
113 113
114/*************************************************************************
115 * NOR flash (TS-7200 only)
116 *************************************************************************/
114static struct physmap_flash_data ts72xx_flash_data = { 117static struct physmap_flash_data ts72xx_flash_data = {
115 .width = 1, 118 .width = 2,
116}; 119};
117 120
118static struct resource ts72xx_flash_resource = { 121static struct resource ts72xx_flash_resource = {
119 .start = TS72XX_NOR_PHYS_BASE, 122 .start = EP93XX_CS6_PHYS_BASE,
120 .end = TS72XX_NOR_PHYS_BASE + SZ_16M - 1, 123 .end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1,
121 .flags = IORESOURCE_MEM, 124 .flags = IORESOURCE_MEM,
122}; 125};
123 126
@@ -131,6 +134,12 @@ static struct platform_device ts72xx_flash = {
131 .resource = &ts72xx_flash_resource, 134 .resource = &ts72xx_flash_resource,
132}; 135};
133 136
137static void __init ts72xx_register_flash(void)
138{
139 if (board_is_ts7200())
140 platform_device_register(&ts72xx_flash);
141}
142
134static unsigned char ts72xx_rtc_readbyte(unsigned long addr) 143static unsigned char ts72xx_rtc_readbyte(unsigned long addr)
135{ 144{
136 __raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); 145 __raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE);
@@ -164,8 +173,7 @@ static struct ep93xx_eth_data ts72xx_eth_data = {
164static void __init ts72xx_init_machine(void) 173static void __init ts72xx_init_machine(void)
165{ 174{
166 ep93xx_init_devices(); 175 ep93xx_init_devices();
167 if (board_is_ts7200()) 176 ts72xx_register_flash();
168 platform_device_register(&ts72xx_flash);
169 platform_device_register(&ts72xx_rtc_device); 177 platform_device_register(&ts72xx_rtc_device);
170 178
171 ep93xx_register_eth(&ts72xx_eth_data, 1); 179 ep93xx_register_eth(&ts72xx_eth_data, 1);