Commit 3174c88a authored by Hartley Sweeten's avatar Hartley Sweeten Committed by Russell King

[ARM] 5611/1: ep93xx: update ts72xx nor flash support

Update the NOR flash support for TS-7200.

The TS-7200 models all have 16-bit NOR flash.  Update the platform
init to support this.

Remove the private TS72XX_NOR_* defines and use the common ep93xx
defines for the external chip select physical base address instead.

Move the NOR flash registration into a static __init function.  When
the NAND flash support is updated this function will also be used
to register the NAND flash for the TS-7250 and TS-7260.
Tested-by: default avatarMatthieu Crapet <mcrapet@gmail.com>
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 4be3bd78
...@@ -41,9 +41,6 @@ ...@@ -41,9 +41,6 @@
#define TS72XX_OPTIONS2_TS9420_BOOT 0x02 #define TS72XX_OPTIONS2_TS9420_BOOT 0x02
#define TS72XX_NOR_PHYS_BASE 0x60000000
#define TS72XX_NOR2_PHYS_BASE 0x62000000
#define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000 #define TS72XX_NAND1_DATA_PHYS_BASE 0x60000000
#define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000 #define TS72XX_NAND2_DATA_PHYS_BASE 0x70000000
#define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000 #define TS72XX_NAND_DATA_VIRT_BASE 0xfebfc000
......
...@@ -112,13 +112,16 @@ static void __init ts72xx_map_io(void) ...@@ -112,13 +112,16 @@ static void __init ts72xx_map_io(void)
} }
} }
/*************************************************************************
* NOR flash (TS-7200 only)
*************************************************************************/
static struct physmap_flash_data ts72xx_flash_data = { static struct physmap_flash_data ts72xx_flash_data = {
.width = 1, .width = 2,
}; };
static struct resource ts72xx_flash_resource = { static struct resource ts72xx_flash_resource = {
.start = TS72XX_NOR_PHYS_BASE, .start = EP93XX_CS6_PHYS_BASE,
.end = TS72XX_NOR_PHYS_BASE + SZ_16M - 1, .end = EP93XX_CS6_PHYS_BASE + SZ_16M - 1,
.flags = IORESOURCE_MEM, .flags = IORESOURCE_MEM,
}; };
...@@ -132,6 +135,12 @@ static struct platform_device ts72xx_flash = { ...@@ -132,6 +135,12 @@ static struct platform_device ts72xx_flash = {
.resource = &ts72xx_flash_resource, .resource = &ts72xx_flash_resource,
}; };
static void __init ts72xx_register_flash(void)
{
if (board_is_ts7200())
platform_device_register(&ts72xx_flash);
}
static unsigned char ts72xx_rtc_readbyte(unsigned long addr) static unsigned char ts72xx_rtc_readbyte(unsigned long addr)
{ {
__raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); __raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE);
...@@ -165,8 +174,7 @@ static struct ep93xx_eth_data ts72xx_eth_data = { ...@@ -165,8 +174,7 @@ static struct ep93xx_eth_data ts72xx_eth_data = {
static void __init ts72xx_init_machine(void) static void __init ts72xx_init_machine(void)
{ {
ep93xx_init_devices(); ep93xx_init_devices();
if (board_is_ts7200()) ts72xx_register_flash();
platform_device_register(&ts72xx_flash);
platform_device_register(&ts72xx_rtc_device); platform_device_register(&ts72xx_rtc_device);
ep93xx_register_eth(&ts72xx_eth_data, 1); ep93xx_register_eth(&ts72xx_eth_data, 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment