1 From 45bed17e65e1a83f753896e250f3458654dcb229 Mon Sep 17 00:00:00 2001
2 From: Robert Nelson <robertcnelson@gmail.com>
3 Date: Tue, 11 Dec 2012 06:32:15 -0600
4 Subject: [PATCH 03/10] Beagle: expansion: add zippy2
6 Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
8 arch/arm/mach-omap2/board-omap3beagle.c | 48 ++++++++++++++++++++++++++++++-
9 1 file changed, 47 insertions(+), 1 deletion(-)
11 diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
12 index b3685ed..74da505 100644
13 --- a/arch/arm/mach-omap2/board-omap3beagle.c
14 +++ b/arch/arm/mach-omap2/board-omap3beagle.c
15 @@ -276,6 +276,46 @@ static void __init omap3beagle_enc28j60_init(void)
16 static inline void __init omap3beagle_enc28j60_init(void) { return; }
19 +#if IS_ENABLED(CONFIG_KS8851)
20 +#include <linux/platform_data/spi-omap2-mcspi.h>
21 +#include <linux/spi/spi.h>
23 +#define OMAP3BEAGLE_GPIO_KS8851_IRQ 157
25 +static struct omap2_mcspi_device_config ks8851_spi_chip_info = {
29 +static struct spi_board_info omap3beagle_zippy2_spi_board_info[] __initdata = {
31 + .modalias = "ks8851",
34 + .max_speed_hz = 36000000,
35 + .controller_data = &ks8851_spi_chip_info,
39 +static void __init omap3beagle_ks8851_init(void)
41 + if ((gpio_request(OMAP3BEAGLE_GPIO_KS8851_IRQ, "KS8851_IRQ") == 0) &&
42 + (gpio_direction_input(OMAP3BEAGLE_GPIO_KS8851_IRQ) == 0)) {
43 + gpio_export(OMAP3BEAGLE_GPIO_KS8851_IRQ, 0);
44 + omap3beagle_zippy2_spi_board_info[0].irq = gpio_to_irq(OMAP3BEAGLE_GPIO_KS8851_IRQ);
45 + irq_set_irq_type(omap3beagle_zippy2_spi_board_info[0].irq, IRQ_TYPE_EDGE_FALLING);
47 + pr_err("Beagle expansionboard: could not obtain gpio for KS8851_IRQ\n");
51 + spi_register_board_info(omap3beagle_zippy2_spi_board_info,
52 + ARRAY_SIZE(omap3beagle_zippy2_spi_board_info));
56 +static inline void __init omap3beagle_ks8851_init(void) { return; }
59 static struct mtd_partition omap3beagle_nand_partitions[] = {
60 /* All the partition sizes are listed in terms of NAND block size */
62 @@ -674,7 +714,7 @@ static void __init omap3_beagle_init(void)
63 omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
64 omap3_beagle_init_rev();
66 - if (!strcmp(expansionboard_name, "zippy"))
67 + if ((!strcmp(expansionboard_name, "zippy")) || (!strcmp(expansionboard_name, "zippy2")))
69 pr_info("Beagle expansionboard: initializing zippy mmc\n");
70 platform_device_register(&omap_zippy_device);
71 @@ -718,6 +758,12 @@ static void __init omap3_beagle_init(void)
72 omap3beagle_enc28j60_init();
75 + if (!strcmp(expansionboard_name, "zippy2"))
77 + pr_info("Beagle expansionboard: initializing ks_8851\n");
78 + omap3beagle_ks8851_init();
81 usb_bind_phy("musb-hdrc.0.auto", 0, "twl4030_usb");