|
@@ -30,6 +30,7 @@
|
|
* 28-Jun-2005 BJD Moved pm functionality out to common code
|
|
* 28-Jun-2005 BJD Moved pm functionality out to common code
|
|
* 17-Jul-2005 BJD Changed to platform device for SuperIO 16550s
|
|
* 17-Jul-2005 BJD Changed to platform device for SuperIO 16550s
|
|
* 25-Jul-2005 BJD Removed ASIX static mappings
|
|
* 25-Jul-2005 BJD Removed ASIX static mappings
|
|
|
|
+ * 27-Jul-2005 BJD Ensure maximum frequency of i2c bus
|
|
*/
|
|
*/
|
|
|
|
|
|
#include <linux/kernel.h>
|
|
#include <linux/kernel.h>
|
|
@@ -60,6 +61,7 @@
|
|
#include <asm/arch/regs-mem.h>
|
|
#include <asm/arch/regs-mem.h>
|
|
#include <asm/arch/regs-lcd.h>
|
|
#include <asm/arch/regs-lcd.h>
|
|
#include <asm/arch/nand.h>
|
|
#include <asm/arch/nand.h>
|
|
|
|
+#include <asm/arch/iic.h>
|
|
|
|
|
|
#include <linux/mtd/mtd.h>
|
|
#include <linux/mtd/mtd.h>
|
|
#include <linux/mtd/nand.h>
|
|
#include <linux/mtd/nand.h>
|
|
@@ -304,7 +306,7 @@ static void bast_nand_select(struct s3c2410_nand_set *set, int slot)
|
|
}
|
|
}
|
|
|
|
|
|
static struct s3c2410_platform_nand bast_nand_info = {
|
|
static struct s3c2410_platform_nand bast_nand_info = {
|
|
- .tacls = 80,
|
|
|
|
|
|
+ .tacls = 40,
|
|
.twrph0 = 80,
|
|
.twrph0 = 80,
|
|
.twrph1 = 80,
|
|
.twrph1 = 80,
|
|
.nr_sets = ARRAY_SIZE(bast_nand_sets),
|
|
.nr_sets = ARRAY_SIZE(bast_nand_sets),
|
|
@@ -385,6 +387,17 @@ static struct platform_device bast_sio = {
|
|
},
|
|
},
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+/* we have devices on the bus which cannot work much over the
|
|
|
|
+ * standard 100KHz i2c bus frequency
|
|
|
|
+*/
|
|
|
|
+
|
|
|
|
+static struct s3c2410_platform_i2c bast_i2c_info = {
|
|
|
|
+ .flags = 0,
|
|
|
|
+ .slave_addr = 0x10,
|
|
|
|
+ .bus_freq = 100*1000,
|
|
|
|
+ .max_freq = 130*1000,
|
|
|
|
+};
|
|
|
|
+
|
|
/* Standard BAST devices */
|
|
/* Standard BAST devices */
|
|
|
|
|
|
static struct platform_device *bast_devices[] __initdata = {
|
|
static struct platform_device *bast_devices[] __initdata = {
|
|
@@ -431,6 +444,7 @@ void __init bast_map_io(void)
|
|
s3c24xx_uclk.parent = &s3c24xx_clkout1;
|
|
s3c24xx_uclk.parent = &s3c24xx_clkout1;
|
|
|
|
|
|
s3c_device_nand.dev.platform_data = &bast_nand_info;
|
|
s3c_device_nand.dev.platform_data = &bast_nand_info;
|
|
|
|
+ s3c_device_i2c.dev.platform_data = &bast_i2c_info;
|
|
|
|
|
|
s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
|
|
s3c24xx_init_io(bast_iodesc, ARRAY_SIZE(bast_iodesc));
|
|
s3c24xx_init_clocks(0);
|
|
s3c24xx_init_clocks(0);
|