Forum | Documentation | Website | Blog

Skip to content
Snippets Groups Projects
Commit b72d01ae authored by Robert Nelson's avatar Robert Nelson
Browse files
parent 763a37f0
No related merge requests found
......@@ -72,38 +72,51 @@ beagle () {
# just use boot args...
# ${git} "${DIR}/patches/beagle/0004-default-to-fifo-mode-5-for-old-musb-beagles.patch"
${git} "${DIR}/patches/beagle/0005-omap3_beagle-init-uart2-for-beagle-rev-AX-BX-only.patch"
${git} "${DIR}/patches/beagle/0006-backlight-Add-TLC59108-backlight-control-driver.patch"
${git} "${DIR}/patches/beagle/0007-tlc59108-adjust-for-beagleboard-uLCD7.patch"
#Status: not for upstream
${git} "${DIR}/patches/beagle/0008-zeroMAP-Open-your-eyes.patch"
}
sprz319_erratum () {
echo "sprz319 erratum 2.1"
#Breaks: Beagle C4, hardlocks on bootup...
#Status: no response from users:
#https://groups.google.com/forum/#!topic/beagleboard/m7DLkYMKNkg
${git} "${DIR}/patches/sprz319-erratum-2.1/0001-Fix-sprz319-erratum-2.1.patch"
}
panda () {
echo "Board Patches for: PandaBoard"
#Status: not for upstream: push device tree version upstream...
${git} "${DIR}/patches/panda/0001-panda-fix-wl12xx-regulator.patch"
#Status: unknown: cherry picked from linaro
${git} "${DIR}/patches/panda/0002-ti-st-st-kim-fixing-firmware-path.patch"
}
omap_fixes () {
echo "omap cherry pick fixes"
#Status: unknown: only needed when forcing mpurate over 999 using bootargs...
${git} "${DIR}/patches/omap_fixes/0001-omap3-Increase-limit-on-bootarg-mpurate.patch"
#Status: unknown: seem to be dropped after v3.4-rc-fixes request
${git} "${DIR}/patches/omap_fixes/0002-OMAP2-UART-enable-tx-wakeup-bit-for-wer-reg.patch"
${git} "${DIR}/patches/omap_fixes/0003-OMAP2-UART-replace-omap34xx-omap4xx-cpu-checks-with-.patch"
}
sgx () {
echo "patches needed for external sgx bins"
#Status: TI 4.06.00.xx needs this
${git} "${DIR}/patches/sgx/0001-Revert-drm-kill-drm_sman.patch"
}
mainline_fixes () {
echo "mainline patches"
#Status: v2 Review:
#http://lists.infradead.org/pipermail/linux-arm-kernel/2012-August/112440.html
${git} "${DIR}/patches/mainline-fixes/0001-arm-add-definition-of-strstr-to-decompress.c.patch"
#Status:
#http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap.git;a=shortlog;h=refs/heads/devel-dt
${git} "${DIR}/patches/mainline-fixes/0002-ARM-omap-add-dtb-targets.patch"
}
......
From e29a33ac0aabb3b8ae45326fd941cb22585d6ac6 Mon Sep 17 00:00:00 2001
From: "Govindraj.R" <govindraj.raja@ti.com>
Date: Tue, 6 Mar 2012 14:35:11 +0530
Subject: [PATCH 5/8] omap3_beagle: init uart2 for beagle rev AX/BX only
All beagle boards rev > AX/BX have external usb hubs connected to ehci
interface, external hub/peripheral uses a nreset sequence for which
uart2_rx.gpio_147 pin in mux mode4(USB2HS_nRST) is used on all beagle
boards expect rev Ax/BX.
(Reference to all beagle boards rev schematics:
http://beagleboard.org/hardware/design)
Initialising uart2 will lead to serial init taking over uart2_rx pin
so init uart2_rx pin mux only for Beagle AX/BX rev boards.
Dont init uart2 for all other boards allowing usb_ehci functionality.
To initialise individual uart port by id utilise and modify the existing
available func. omap_serial_board_init.
Cc: Tony Lindgren <tony@atomide.com>
Cc: Kevin Hilman <khilman@ti.com>
Cc: Koen Kooi <koen@dominion.thruhere.net>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Robert Nelson <robertcnelson@gmail.com>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
---
arch/arm/mach-omap2/board-omap3beagle.c | 6 ++++-
arch/arm/mach-omap2/serial.c | 36 +++++++++++++++++-------------
arch/arm/plat-omap/include/plat/serial.h | 3 ++-
3 files changed, 28 insertions(+), 17 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
index a2527aa..2f2452a 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
@@ -135,6 +135,7 @@ static void __init omap3_beagle_init_rev(void)
beagle_config.mmc1_gpio_wp = 29;
beagle_config.dvi_pd_gpio = 170;
beagle_config.usr_button_gpio = 7;
+ omap_serial_board_init(NULL, 1);
break;
case 6:
printk(KERN_INFO "OMAP3 Beagle Rev: C1/C2/C3\n");
@@ -1022,7 +1023,10 @@ static void __init omap3_beagle_init(void)
if (gpio_is_valid(beagle_config.dvi_pd_gpio))
omap_mux_init_gpio(beagle_config.dvi_pd_gpio, OMAP_PIN_OUTPUT);
omap_display_init(&beagle_dss_data);
- omap_serial_init();
+ omap_serial_board_init(NULL, 0);
+ omap_serial_board_init(NULL, 2);
+ omap_serial_board_init(NULL, 3);
+
omap_sdrc_init(mt46h32m32lf6_sdrc_params,
mt46h32m32lf6_sdrc_params);
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
index c1b93c7..7bcfcfd 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -331,29 +331,32 @@ void __init omap_serial_init_port(struct omap_board_data *bdata,
/**
* omap_serial_board_init() - initialize all supported serial ports
* @info: platform specific data pointer
+ * @port_id: uart port number to be initialised
*
- * Initializes all available UARTs as serial ports. Platforms
+ * Initializes individual UARTs as serial ports. Platforms
* can call this function when they want to have default behaviour
- * for serial ports (e.g initialize them all as serial ports).
+ * for serial ports (e.g initialize individual serial ports based on port id).
*/
-void __init omap_serial_board_init(struct omap_uart_port_info *info)
+void __init omap_serial_board_init(struct omap_uart_port_info *info, u8 port_id)
{
struct omap_uart_state *uart;
struct omap_board_data bdata;
- list_for_each_entry(uart, &uart_list, node) {
- bdata.id = uart->num;
- bdata.flags = 0;
- bdata.pads = NULL;
- bdata.pads_cnt = 0;
+ list_for_each_entry(uart, &uart_list, node)
+ if (uart->num == port_id) {
+ bdata.id = uart->num;
+ bdata.flags = 0;
+ bdata.pads = NULL;
+ bdata.pads_cnt = 0;
+
+ omap_serial_check_wakeup(&bdata, uart);
- omap_serial_check_wakeup(&bdata, uart);
- if (!info)
- omap_serial_init_port(&bdata, NULL);
- else
- omap_serial_init_port(&bdata, &info[uart->num]);
- }
+ if (!info)
+ omap_serial_init_port(&bdata, NULL);
+ else
+ omap_serial_init_port(&bdata, info);
+ }
}
/**
@@ -365,5 +368,8 @@ void __init omap_serial_board_init(struct omap_uart_port_info *info)
*/
void __init omap_serial_init(void)
{
- omap_serial_board_init(NULL);
+ struct omap_uart_state *uart;
+
+ list_for_each_entry(uart, &uart_list, node)
+ omap_serial_board_init(NULL, uart->num);
}
diff --git a/arch/arm/plat-omap/include/plat/serial.h b/arch/arm/plat-omap/include/plat/serial.h
index b073e5f..fd14d28 100644
--- a/arch/arm/plat-omap/include/plat/serial.h
+++ b/arch/arm/plat-omap/include/plat/serial.h
@@ -110,7 +110,8 @@ struct omap_board_data;
struct omap_uart_port_info;
extern void omap_serial_init(void);
-extern void omap_serial_board_init(struct omap_uart_port_info *platform_data);
+extern void omap_serial_board_init(struct omap_uart_port_info *platform_data,
+ u8 port_id);
extern void omap_serial_init_port(struct omap_board_data *bdata,
struct omap_uart_port_info *platform_data);
#endif
--
1.7.10.4
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment