From 0a45217d024d21322f6118a1f817c5fe1e425c09 Mon Sep 17 00:00:00 2001 From: Robert Nelson <robertcnelson@gmail.com> Date: Sun, 9 Jun 2013 00:04:20 -0500 Subject: [PATCH] forgot patch Signed-off-by: Robert Nelson <robertcnelson@gmail.com> --- .../0011-panda-spidev-setup-pinmux.patch | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 patches/omap_panda/0011-panda-spidev-setup-pinmux.patch diff --git a/patches/omap_panda/0011-panda-spidev-setup-pinmux.patch b/patches/omap_panda/0011-panda-spidev-setup-pinmux.patch new file mode 100644 index 000000000..da9fcdad3 --- /dev/null +++ b/patches/omap_panda/0011-panda-spidev-setup-pinmux.patch @@ -0,0 +1,50 @@ +From 9f5066a898b77f2fe2b1f0946bb6afebe3d08f6d Mon Sep 17 00:00:00 2001 +From: Yann <yann.wanwanscappel@free.fr> +Date: Sat, 8 Jun 2013 13:06:37 -0500 +Subject: [PATCH 7/7] panda: spidev: setup pinmux + +It works fine on my board, I've been able to perform data transfers using the spidev_test program provided in kernel documentation +(shortcut between SIMO and SOMI to perform an hardware loopback). I also checked that CS0 and CS1 and CLK are properly driven using my scope. + +The clock is strangely configured as input, but it is also the case for omap3 beagle board, so I guess this is fine. + +Signed-off-by: Yann <yann.wanwanscappel@free.fr> +Signed-off-by: Robert Nelson <robertcnelson@gmail.com> +--- + arch/arm/mach-omap2/board-omap4panda.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c +index 3563f86..10bb576 100644 +--- a/arch/arm/mach-omap2/board-omap4panda.c ++++ b/arch/arm/mach-omap2/board-omap4panda.c +@@ -103,6 +103,16 @@ static struct platform_device leds_gpio = { + }, + }; + ++static void __init omap4_panda_config_mcspi1_mux(void) ++{ ++ /* NOTE: Clock pins need to be in input mode */ ++ omap_mux_init_signal("mcspi1_clk", OMAP_PIN_INPUT); ++ omap_mux_init_signal("mcspi1_simo", OMAP_PIN_OUTPUT); ++ omap_mux_init_signal("mcspi1_somi", OMAP_PIN_INPUT_PULLUP); ++ omap_mux_init_signal("mcspi1_cs0", OMAP_PIN_OUTPUT); ++ omap_mux_init_signal("mcspi1_cs1", OMAP_PIN_OUTPUT); ++} ++ + static struct spi_board_info panda_mcspi_board_info[] = { + /* spi 1.0 */ + { +@@ -472,7 +482,8 @@ static void __init omap4_panda_init(void) + omap4_ehci_init(); + if (!strcmp(expboard_name, "spidev")) { + #if IS_ENABLED(CONFIG_SPI_SPIDEV) +- pr_info("Panda expansionboard: spidev: enabling spi3/spi4\n"); ++ pr_info("Panda expansionboard: spidev: enabling spi1.0 and spi1.1\n"); ++ omap4_panda_config_mcspi1_mux(); + spi_register_board_info(panda_mcspi_board_info, ARRAY_SIZE(panda_mcspi_board_info)); + #endif + } +-- +1.7.10.4 + -- GitLab