aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch')
-rw-r--r--recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch67
1 files changed, 67 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch
new file mode 100644
index 00000000..e70ebd4a
--- /dev/null
+++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/beaglebone/0033-beaglebone-add-support-for-CAN-and-RS232-cape.patch
@@ -0,0 +1,67 @@
+From 0bed6db60e5a5bf78931b7da0376676a14bfce6f Mon Sep 17 00:00:00 2001
+From: Koen Kooi <koen@dominion.thruhere.net>
+Date: Fri, 4 May 2012 13:19:45 +0200
+Subject: [PATCH 33/33] beaglebone: add support for CAN and RS232 cape
+
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+---
+ arch/arm/mach-omap2/board-am335xevm.c | 36 +++++++++++++++++++++++++++------
+ 1 file changed, 30 insertions(+), 6 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-am335xevm.c b/arch/arm/mach-omap2/board-am335xevm.c
+index 717bb8c..6e7b203 100644
+--- a/arch/arm/mach-omap2/board-am335xevm.c
++++ b/arch/arm/mach-omap2/board-am335xevm.c
+@@ -953,6 +953,18 @@ static struct pinmux_config tt3201_pin_mux[] = {
+ {NULL, 0},
+ };
+
++static struct pinmux_config uart1dcan1_pin_mux[] = {
++ {"uart1_rxd.d_can1_tx", OMAP_MUX_MODE2 | AM33XX_PIN_OUTPUT },
++ {"uart1_txd.d_can1_rx", OMAP_MUX_MODE2 | AM33XX_PIN_INPUT_PULLUP },
++ {NULL, 0},
++};
++
++static struct pinmux_config uart1_pin_mux[] = {
++ {"uart1_txd.uart1_txd", OMAP_MUX_MODE0 | AM33XX_PULL_ENBL},
++ {"uart1_rxd.uart1_rxd", OMAP_MUX_MODE0 | AM33XX_PIN_INPUT_PULLUP},
++ {NULL, 0},
++};
++
+ /* Module pin mux for uart2 */
+ static struct pinmux_config uart2_pin_mux[] = {
+ {"spi0_sclk.uart2_rxd", OMAP_MUX_MODE1 | AM33XX_SLEWCTRL_SLOW |
+@@ -2250,12 +2262,24 @@ static void beaglebone_cape_setup(struct memory_accessor *mem_acc, void *context
+ #endif
+ }
+
+- if (!strncmp("BB-BONE-SERL", cape_config.partnumber, 12)) {
+- pr_info("BeagleBone cape: initializing serial cape\n");
+- // 01 -> CAN
+- // 02 -> Profibus
+- // 03 -> RS232
+- // 04 -> RS485
++ if (!strncmp("BB-BONE-SERL-01", cape_config.partnumber, 15)) {
++ pr_info("BeagleBone cape: initializing CAN cape\n");
++ setup_pin_mux(uart1dcan1_pin_mux);
++ am33xx_d_can_init(1);
++ }
++ if (!strncmp("BB-BONE-SERL-02", cape_config.partnumber, 15)) {
++ pr_info("BeagleBone cape: not initializing Profibus cape\n");
++ // gpio1_0
++ // gpio1_4
++ //foo_init(0,0);
++ }
++ if (!strncmp("BB-BONE-SERL-03", cape_config.partnumber, 15)) {
++ pr_info("BeagleBone cape: initializing RS232 cape\n");
++ pr_info("BeagleBone cape: only uart1 is supported!\n");
++ setup_pin_mux(uart1_pin_mux);
++ }
++ if (!strncmp("BB-BONE-SERL-04", cape_config.partnumber, 15)) {
++ pr_info("BeagleBone cape: not initializing RS485 cape\n");
+ //foo_init(0,0);
+ }
+
+--
+1.7.10
+