diff options
Diffstat (limited to 'arch/arm/mach-ep93xx/ts72xx.c')
-rw-r--r-- | arch/arm/mach-ep93xx/ts72xx.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c index 7ee024d34829..aaf1371412af 100644 --- a/arch/arm/mach-ep93xx/ts72xx.c +++ b/arch/arm/mach-ep93xx/ts72xx.c | |||
@@ -112,13 +112,16 @@ static void __init ts72xx_map_io(void) | |||
112 | } | 112 | } |
113 | } | 113 | } |
114 | 114 | ||
115 | /************************************************************************* | ||
116 | * NOR flash (TS-7200 only) | ||
117 | *************************************************************************/ | ||
115 | static struct physmap_flash_data ts72xx_flash_data = { | 118 | static struct physmap_flash_data ts72xx_flash_data = { |
116 | .width = 1, | 119 | .width = 2, |
117 | }; | 120 | }; |
118 | 121 | ||
119 | static struct resource ts72xx_flash_resource = { | 122 | static struct resource ts72xx_flash_resource = { |
120 | .start = TS72XX_NOR_PHYS_BASE, | 123 | .start = EP93XX_CS6_PHYS_BASE, |
121 | .end = TS72XX_NOR_PHYS_BASE + SZ_16M - 1, | 124 | .end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1, |
122 | .flags = IORESOURCE_MEM, | 125 | .flags = IORESOURCE_MEM, |
123 | }; | 126 | }; |
124 | 127 | ||
@@ -132,6 +135,12 @@ static struct platform_device ts72xx_flash = { | |||
132 | .resource = &ts72xx_flash_resource, | 135 | .resource = &ts72xx_flash_resource, |
133 | }; | 136 | }; |
134 | 137 | ||
138 | static void __init ts72xx_register_flash(void) | ||
139 | { | ||
140 | if (board_is_ts7200()) | ||
141 | platform_device_register(&ts72xx_flash); | ||
142 | } | ||
143 | |||
135 | static unsigned char ts72xx_rtc_readbyte(unsigned long addr) | 144 | static unsigned char ts72xx_rtc_readbyte(unsigned long addr) |
136 | { | 145 | { |
137 | __raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); | 146 | __raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); |
@@ -165,8 +174,7 @@ static struct ep93xx_eth_data ts72xx_eth_data = { | |||
165 | static void __init ts72xx_init_machine(void) | 174 | static void __init ts72xx_init_machine(void) |
166 | { | 175 | { |
167 | ep93xx_init_devices(); | 176 | ep93xx_init_devices(); |
168 | if (board_is_ts7200()) | 177 | ts72xx_register_flash(); |
169 | platform_device_register(&ts72xx_flash); | ||
170 | platform_device_register(&ts72xx_rtc_device); | 178 | platform_device_register(&ts72xx_rtc_device); |
171 | 179 | ||
172 | ep93xx_register_eth(&ts72xx_eth_data, 1); | 180 | ep93xx_register_eth(&ts72xx_eth_data, 1); |