1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2025-04-21 12:27:27 +03:00

[ifxmips]

* remove references to gpio_dev
* make vmmc driver register its own memory and dont rely on arch code to do so
* makes any Danube board with a CFI commandset 2 NOR flash chip functional again
* fixes filenames of downloaded firmwares

thanks, Ithamar R. Adema



git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22515 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
blogic
2010-08-06 15:49:42 +00:00
parent 661d697285
commit 0b10449413
10 changed files with 43 additions and 60 deletions

View File

@@ -60,9 +60,6 @@ easy50812_init(void)
{
ifxmips_register_gpio();
//printk("ifxmips_register_gpio_dev\n");
//ifxmips_register_gpio_dev();
ifxmips_register_mtd(&easy50812_flash_data);
ifxmips_register_leds(easy50812_leds, ARRAY_SIZE(easy50812_leds));

View File

@@ -20,19 +20,6 @@
#include <ifxmips.h>
#include <ifxmips_irq.h>
/* gpiodev */
static struct platform_device ifxmips_gpio_dev =
{
.name = "GPIODEV",
.num_resources = 1,
};
void __init
ifxmips_register_gpio_dev(void)
{
platform_device_register(&ifxmips_gpio_dev);
}
/* gpio leds */
#ifdef CONFIG_LEDS_GPIO
static struct gpio_led_platform_data ifxmips_gpio_led_data;

View File

@@ -3,7 +3,6 @@
#include <ifxmips_platform.h>
void __init ifxmips_register_gpio_dev(void);
void __init ifxmips_register_gpio_leds(struct gpio_led *leds, int cnt);
void __init ifxmips_register_leds(struct gpio_led *leds, int cnt);
void __init ifxmips_register_mtd(struct physmap_flash_data *pdata);

View File

@@ -9,10 +9,6 @@
#include <ifxmips.h>
#include <ifxmips_prom.h>
/* for voice cpu (MIPS24K) */
unsigned int *prom_cp1_base;
unsigned int prom_cp1_size = 0;
/* for Multithreading (APRP) on MIPS34K */
unsigned long physical_memsize;
@@ -21,21 +17,6 @@ prom_free_prom_memory(void)
{
}
unsigned int*
prom_get_cp1_base(void)
{
return prom_cp1_base;
}
EXPORT_SYMBOL(prom_get_cp1_base);
unsigned int
prom_get_cp1_size(void)
{
/* return size im MB */
return prom_cp1_size>>20;
}
EXPORT_SYMBOL(prom_get_cp1_size);
extern unsigned char ifxmips_ethaddr[6];
int cmdline_mac = 0;
@@ -115,18 +96,6 @@ static void __init prom_init_cmdline(void)
}
memsize *= 1024 * 1024;
/* only on Twinpass/Danube a second CPU is used for Voice */
if ((cpu_data[0].cputype == CPU_24K) && (prom_cp1_size))
{
#define CP1_SIZE 2 << 20
prom_cp1_size = CP1_SIZE;
memsize -= prom_cp1_size;
prom_cp1_base = (unsigned int *)KSEG1ADDR(memsize);
early_printf("Using %dMB Ram and reserving %dMB for cp1\n",
memsize>>20, prom_cp1_size>>20);
}
add_memory_region(0x00000000, memsize, BOOT_MEM_RAM);
}

View File

@@ -61,8 +61,6 @@ easy4010_init(void)
{
ifxmips_register_gpio();
ifxmips_register_gpio_dev();
ifxmips_register_mtd(&easy4010_flash_data);
ifxmips_register_leds(easy4010_leds, ARRAY_SIZE(easy4010_leds));

View File

@@ -61,8 +61,6 @@ easy50712_init(void)
{
ifxmips_register_gpio();
ifxmips_register_gpio_dev();
ifxmips_register_mtd(&easy50712_flash_data);
ifxmips_register_leds(easy50712_leds, ARRAY_SIZE(easy50712_leds));

View File

@@ -19,8 +19,6 @@
#define _IFXPROM_H__
extern void early_printf(const char *fmt, ...);
extern u32 *prom_get_cp1_base(void);
extern u32 prom_get_cp1_size(void);
extern int ifxmips_has_brn_block(void);
#endif

View File

@@ -25,7 +25,20 @@
case FL_WRITING:
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
@@ -1068,7 +1068,9 @@ static int __xipram do_write_oneword(str
@@ -39,7 +39,11 @@
#include <linux/mtd/xip.h>
#define AMD_BOOTLOC_BUG
-#define FORCE_WORD_WRITE 0
+#ifdef CONFIG_IFXMIPS
+# define FORCE_WORD_WRITE 1
+#else
+# define FORCE_WORD_WRITE 0
+#endif
#define MAX_WORD_RETRIES 3
@@ -1096,7 +1096,9 @@ static int __xipram do_write_oneword(str
int retry_cnt = 0;
adr += chip->start;