diff options
Diffstat (limited to 'arch/blackfin/mach-bf527/boards/ezkit.c')
-rw-r--r-- | arch/blackfin/mach-bf527/boards/ezkit.c | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/arch/blackfin/mach-bf527/boards/ezkit.c b/arch/blackfin/mach-bf527/boards/ezkit.c index 337515fba612..cf4bc0d83355 100644 --- a/arch/blackfin/mach-bf527/boards/ezkit.c +++ b/arch/blackfin/mach-bf527/boards/ezkit.c | |||
@@ -180,8 +180,8 @@ static struct mtd_partition partition_info[] = { | |||
180 | }, | 180 | }, |
181 | { | 181 | { |
182 | .name = "File System", | 182 | .name = "File System", |
183 | .offset = 4 * SIZE_1M, | 183 | .offset = MTDPART_OFS_APPEND, |
184 | .size = (256 - 4) * SIZE_1M, | 184 | .size = MTDPART_SIZ_FULL, |
185 | }, | 185 | }, |
186 | }; | 186 | }; |
187 | 187 | ||
@@ -422,11 +422,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = { | |||
422 | }, { | 422 | }, { |
423 | .name = "kernel", | 423 | .name = "kernel", |
424 | .size = 0xe0000, | 424 | .size = 0xe0000, |
425 | .offset = 0x20000 | 425 | .offset = MTDPART_OFS_APPEND, |
426 | }, { | 426 | }, { |
427 | .name = "file system", | 427 | .name = "file system", |
428 | .size = 0x700000, | 428 | .size = MTDPART_SIZ_FULL, |
429 | .offset = 0x00100000, | 429 | .offset = MTDPART_OFS_APPEND, |
430 | } | 430 | } |
431 | }; | 431 | }; |
432 | 432 | ||
@@ -484,13 +484,6 @@ static struct bfin5xx_spi_chip spi_si3xxx_chip_info = { | |||
484 | }; | 484 | }; |
485 | #endif | 485 | #endif |
486 | 486 | ||
487 | #if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE) | ||
488 | static struct bfin5xx_spi_chip ad5304_chip_info = { | ||
489 | .enable_dma = 0, | ||
490 | .bits_per_word = 16, | ||
491 | }; | ||
492 | #endif | ||
493 | |||
494 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | 487 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) |
495 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { | 488 | static struct bfin5xx_spi_chip spi_ad7877_chip_info = { |
496 | .enable_dma = 0, | 489 | .enable_dma = 0, |
@@ -611,17 +604,6 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = { | |||
611 | .mode = SPI_MODE_3, | 604 | .mode = SPI_MODE_3, |
612 | }, | 605 | }, |
613 | #endif | 606 | #endif |
614 | #if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE) | ||
615 | { | ||
616 | .modalias = "ad5304_spi", | ||
617 | .max_speed_hz = 1250000, /* max spi clock (SCK) speed in HZ */ | ||
618 | .bus_num = 0, | ||
619 | .chip_select = 2, | ||
620 | .platform_data = NULL, | ||
621 | .controller_data = &ad5304_chip_info, | ||
622 | .mode = SPI_MODE_2, | ||
623 | }, | ||
624 | #endif | ||
625 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) | 607 | #if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE) |
626 | { | 608 | { |
627 | .modalias = "ad7877", | 609 | .modalias = "ad7877", |
@@ -818,6 +800,19 @@ static struct platform_device bfin_device_gpiokeys = { | |||
818 | }; | 800 | }; |
819 | #endif | 801 | #endif |
820 | 802 | ||
803 | static struct resource bfin_gpios_resources = { | ||
804 | .start = 0, | ||
805 | .end = MAX_BLACKFIN_GPIOS - 1, | ||
806 | .flags = IORESOURCE_IRQ, | ||
807 | }; | ||
808 | |||
809 | static struct platform_device bfin_gpios_device = { | ||
810 | .name = "simple-gpio", | ||
811 | .id = -1, | ||
812 | .num_resources = 1, | ||
813 | .resource = &bfin_gpios_resources, | ||
814 | }; | ||
815 | |||
821 | static struct platform_device *stamp_devices[] __initdata = { | 816 | static struct platform_device *stamp_devices[] __initdata = { |
822 | #if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE) | 817 | #if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE) |
823 | &bf5xx_nand_device, | 818 | &bf5xx_nand_device, |
@@ -895,6 +890,8 @@ static struct platform_device *stamp_devices[] __initdata = { | |||
895 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) | 890 | #if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE) |
896 | &bfin_device_gpiokeys, | 891 | &bfin_device_gpiokeys, |
897 | #endif | 892 | #endif |
893 | |||
894 | &bfin_gpios_device, | ||
898 | }; | 895 | }; |
899 | 896 | ||
900 | static int __init stamp_init(void) | 897 | static int __init stamp_init(void) |
@@ -921,13 +918,18 @@ void native_machine_restart(char *cmd) | |||
921 | bfin_gpio_reset_spi0_ssel1(); | 918 | bfin_gpio_reset_spi0_ssel1(); |
922 | } | 919 | } |
923 | 920 | ||
924 | /* | ||
925 | * Currently the MAC address is saved in Flash by U-Boot | ||
926 | */ | ||
927 | #define FLASH_MAC 0x203f0000 | ||
928 | void bfin_get_ether_addr(char *addr) | 921 | void bfin_get_ether_addr(char *addr) |
929 | { | 922 | { |
930 | *(u32 *)(&(addr[0])) = bfin_read32(FLASH_MAC); | 923 | /* the MAC is stored in OTP memory page 0xDF */ |
931 | *(u16 *)(&(addr[4])) = bfin_read16(FLASH_MAC + 4); | 924 | u32 ret; |
925 | u64 otp_mac; | ||
926 | u32 (*otp_read)(u32 page, u32 flags, u64 *page_content) = (void *)0xEF00001A; | ||
927 | |||
928 | ret = otp_read(0xDF, 0x00, &otp_mac); | ||
929 | if (!(ret & 0x1)) { | ||
930 | char *otp_mac_p = (char *)&otp_mac; | ||
931 | for (ret = 0; ret < 6; ++ret) | ||
932 | addr[ret] = otp_mac_p[5 - ret]; | ||
933 | } | ||
932 | } | 934 | } |
933 | EXPORT_SYMBOL(bfin_get_ether_addr); | 935 | EXPORT_SYMBOL(bfin_get_ether_addr); |