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); |
