Signed-off-by: Jan Luebbe <[email protected]>
---
 arch/arm/boards/hmi10/board.c |   39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/arch/arm/boards/hmi10/board.c b/arch/arm/boards/hmi10/board.c
index bc3283d..1ec2ea2 100644
--- a/arch/arm/boards/hmi10/board.c
+++ b/arch/arm/boards/hmi10/board.c
@@ -34,6 +34,7 @@
 #include <mach/aemif.h>
 #include <mach/hardware.h>
 #include <mach/nand.h>
+#include <mach/spi.h>
 #include <mach/da8xx.h>
 
 #ifdef CONFIG_DRIVER_SERIAL_NS16550
@@ -101,12 +102,50 @@ static struct davinci_nand_pdata hmi10_nandflash_data = {
        .timing = &hmi10_nandflash_timing,
 };
 
+static struct spi_board_info hmi10_spi1_board_info[] = {
+       /* 20 MHz according to datasheet for 130nm and normal READ (!= 
FAST_READ) */
+       {
+               .name = "m25p",
+               .max_speed_hz = 20000000,
+               .bus_num = 1,
+               .chip_select = 0,
+               .mode = SPI_MODE_0,
+       },
+       {
+               .name = "m25p",
+               .max_speed_hz = 20000000,
+               .bus_num = 1,
+               .chip_select = 1,
+               .mode = SPI_MODE_0,
+       },
+};
+
+static struct davinci_spi_master_pdata hmi10_spi1_pdata = {
+       .num_chipselect = 2,
+       .bus_num = 1,
+};
+
 static int hmi10_devices_init(void)
 {
        lpsc_on(DAVINCI_LPSC_AEMIF);
        add_generic_device("davinci_nand", -1, NULL, 
DAVINCI_ASYNC_EMIF_CNTRL_BASE, 0,
                           IORESOURCE_MEM, &hmi10_nandflash_data);
 
+       lpsc_on(DAVINCI_LPSC_SPI1);
+       spi_register_board_info(hmi10_spi1_board_info, 
ARRAY_SIZE(hmi10_spi1_board_info));
+       hmi10_spi1_pdata.clk_id = DAVINCI_SPI1_CLKID;
+       add_generic_device("davinci_spi", 1, NULL, DAVINCI_SPI1_BASE, 0x68,
+                          IORESOURCE_MEM, &hmi10_spi1_pdata);
+
+       /* one sector for the UBL (TI User Boot Loader) */
+       devfs_add_partition("m25p0", 0x00000, 0x40000,
+               DEVFS_PARTITION_FIXED|DEVFS_PARTITION_READONLY, "ubl"); /* 256k 
*/
+       /* one sector for barebox itself */
+       devfs_add_partition("m25p0", 0x40000, 0x40000,
+               DEVFS_PARTITION_FIXED|DEVFS_PARTITION_READONLY, "self0"); /* 
256k */
+       /* two sectors for read-write environment */
+       devfs_add_partition("m25p0", 0x80000, 0x80000, DEVFS_PARTITION_FIXED, 
"env0"); /* 512k */
+
        armlinux_set_bootparams((void *)0xc0000100);
        armlinux_set_architecture(MACH_TYPE_DAVINCI_HE_HMI10);
 
-- 
1.7.10


_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to