diff options
author | Jan Luebbe <jlu@pengutronix.de> | 2012-12-18 16:05:40 +0100 |
---|---|---|
committer | Jan Luebbe <jlu@pengutronix.de> | 2012-12-18 16:05:40 +0100 |
commit | eb679b42f1260c6ca4b10e94a0a5aed33ac190d8 (patch) | |
tree | c7cb1475abfdd3e4d2c9b7e0debb76c49656ed0e /patches/linux-3.7/0195-Beagle-expansion-add-zippy2.patch | |
parent | ce6e38fa64f60a7554546f39b7f462574719e484 (diff) | |
download | platform-pengutronix-beaglebone-eb679b42f1260c6ca4b10e94a0a5aed33ac190d8.tar.gz platform-pengutronix-beaglebone-eb679b42f1260c6ca4b10e94a0a5aed33ac190d8.tar.xz |
kernel: update patch stack for 3.7
Thanks to Koen Kooi for maintaining the patch stack.
Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
Diffstat (limited to 'patches/linux-3.7/0195-Beagle-expansion-add-zippy2.patch')
-rw-r--r-- | patches/linux-3.7/0195-Beagle-expansion-add-zippy2.patch | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/patches/linux-3.7/0195-Beagle-expansion-add-zippy2.patch b/patches/linux-3.7/0195-Beagle-expansion-add-zippy2.patch new file mode 100644 index 0000000..ab4a4ce --- /dev/null +++ b/patches/linux-3.7/0195-Beagle-expansion-add-zippy2.patch @@ -0,0 +1,82 @@ +From: Robert Nelson <robertcnelson@gmail.com> +Date: Tue, 11 Dec 2012 06:32:15 -0600 +Subject: [PATCH] Beagle: expansion: add zippy2 + +Signed-off-by: Robert Nelson <robertcnelson@gmail.com> +--- + arch/arm/mach-omap2/board-omap3beagle.c | 48 ++++++++++++++++++++++++++++++- + 1 file changed, 47 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c +index 35ad593..c762083 100644 +--- a/arch/arm/mach-omap2/board-omap3beagle.c ++++ b/arch/arm/mach-omap2/board-omap3beagle.c +@@ -242,6 +242,46 @@ static void __init omap3beagle_enc28j60_init(void) + static inline void __init omap3beagle_enc28j60_init(void) { return; } + #endif + ++#if defined(CONFIG_KS8851) || defined(CONFIG_KS8851_MODULE) ++#include <linux/platform_data/spi-omap2-mcspi.h> ++#include <linux/spi/spi.h> ++ ++#define OMAP3BEAGLE_GPIO_KS8851_IRQ 157 ++ ++static struct omap2_mcspi_device_config ks8851_spi_chip_info = { ++ .turbo_mode = 0, ++}; ++ ++static struct spi_board_info omap3beagle_zippy2_spi_board_info[] __initdata = { ++ { ++ .modalias = "ks8851", ++ .bus_num = 4, ++ .chip_select = 0, ++ .max_speed_hz = 36000000, ++ .controller_data = &ks8851_spi_chip_info, ++ }, ++}; ++ ++static void __init omap3beagle_ks8851_init(void) ++{ ++ if ((gpio_request(OMAP3BEAGLE_GPIO_KS8851_IRQ, "KS8851_IRQ") == 0) && ++ (gpio_direction_input(OMAP3BEAGLE_GPIO_KS8851_IRQ) == 0)) { ++ gpio_export(OMAP3BEAGLE_GPIO_KS8851_IRQ, 0); ++ omap3beagle_zippy2_spi_board_info[0].irq = gpio_to_irq(OMAP3BEAGLE_GPIO_KS8851_IRQ); ++ irq_set_irq_type(omap3beagle_zippy2_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING); ++ } else { ++ pr_err("Beagle expansionboard: could not obtain gpio for KS8851_IRQ\n"); ++ return; ++ } ++ ++ spi_register_board_info(omap3beagle_zippy2_spi_board_info, ++ ARRAY_SIZE(omap3beagle_zippy2_spi_board_info)); ++} ++ ++#else ++static inline void __init omap3beagle_ks8851_init(void) { return; } ++#endif ++ + static struct mtd_partition omap3beagle_nand_partitions[] = { + /* All the partition sizes are listed in terms of NAND block size */ + { +@@ -638,7 +678,7 @@ static void __init omap3_beagle_init(void) + omap3_mux_init(board_mux, OMAP_PACKAGE_CBB); + omap3_beagle_init_rev(); + +- if (!strcmp(expansionboard_name, "zippy")) ++ if ((!strcmp(expansionboard_name, "zippy")) || (!strcmp(expansionboard_name, "zippy2"))) + { + pr_info("Beagle expansionboard: initializing zippy mmc\n"); + platform_device_register(&omap_zippy_device); +@@ -682,6 +722,12 @@ static void __init omap3_beagle_init(void) + omap3beagle_enc28j60_init(); + } + ++ if (!strcmp(expansionboard_name, "zippy2")) ++ { ++ pr_info("Beagle expansionboard: initializing ks_8851\n"); ++ omap3beagle_ks8851_init(); ++ } ++ + usb_musb_init(NULL); + usbhs_init(&usbhs_bdata); + omap_nand_flash_init(NAND_BUSWIDTH_16, omap3beagle_nand_partitions, |