OpenRD-Base: allow SD/UART1 selection (Closes: #571019)
svn path=/dists/sid/linux-2.6/; revision=15257
This commit is contained in:
parent
2f5c47eb63
commit
3c0344d278
|
@ -41,6 +41,7 @@ linux-2.6 (2.6.32-9) UNRELEASED; urgency=low
|
||||||
Patard).
|
Patard).
|
||||||
* [armel/kirkwood] Disable MTD_NAND_VERIFY_WRITE to avoid errors
|
* [armel/kirkwood] Disable MTD_NAND_VERIFY_WRITE to avoid errors
|
||||||
with ubifs on OpenRD (Thanks Gert Doering) (Closes: #570407)
|
with ubifs on OpenRD (Thanks Gert Doering) (Closes: #570407)
|
||||||
|
* OpenRD-Base: allow SD/UART1 selection (Closes: #571019)
|
||||||
|
|
||||||
-- Ben Hutchings <ben@decadent.org.uk> Fri, 12 Feb 2010 02:59:33 +0000
|
-- Ben Hutchings <ben@decadent.org.uk> Fri, 12 Feb 2010 02:59:33 +0000
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
From: Tanmay Upadhyay <tanmay.upadhyay@einfochips.com>
|
||||||
|
Date: Wed, 3 Feb 2010 11:56:21 +0530
|
||||||
|
Subject: [PATCH] ARM: Kirkwood: OpenRD: SD/UART1 selection
|
||||||
|
|
||||||
|
To select UART1, pass "uart=232" in the boot argument. Else SDIO lines will be
|
||||||
|
selected.
|
||||||
|
|
||||||
|
Signed-off-by: Tanmay Upadhyay <tanmay.upadhyay@einfochips.com>
|
||||||
|
---
|
||||||
|
arch/arm/mach-kirkwood/openrd_base-setup.c | 49 +++++++++++++++++++++++++++-
|
||||||
|
1 files changed, 48 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
--- a/arch/arm/mach-kirkwood/openrd_base-setup.c 2009-12-03 03:51:21.000000000 +0000
|
||||||
|
+++ b/arch/arm/mach-kirkwood/openrd_base-setup.c 2010-02-22 21:07:11.000000000 +0000
|
||||||
|
@@ -14,6 +14,8 @@
|
||||||
|
#include <linux/mtd/partitions.h>
|
||||||
|
#include <linux/ata_platform.h>
|
||||||
|
#include <linux/mv643xx_eth.h>
|
||||||
|
+#include <linux/io.h>
|
||||||
|
+#include <linux/gpio.h>
|
||||||
|
#include <asm/mach-types.h>
|
||||||
|
#include <asm/mach/arch.h>
|
||||||
|
#include <mach/kirkwood.h>
|
||||||
|
@@ -50,16 +52,48 @@
|
||||||
|
};
|
||||||
|
|
||||||
|
static unsigned int openrd_base_mpp_config[] __initdata = {
|
||||||
|
+ MPP12_SD_CLK,
|
||||||
|
+ MPP13_SD_CMD,
|
||||||
|
+ MPP14_SD_D0,
|
||||||
|
+ MPP15_SD_D1,
|
||||||
|
+ MPP16_SD_D2,
|
||||||
|
+ MPP17_SD_D3,
|
||||||
|
+ MPP29_GPIO,
|
||||||
|
MPP29_GPIO,
|
||||||
|
0
|
||||||
|
};
|
||||||
|
|
||||||
|
+static int uart1;
|
||||||
|
+
|
||||||
|
+static void sd_uart_selection(void)
|
||||||
|
+{
|
||||||
|
+ char *ptr = NULL;
|
||||||
|
+
|
||||||
|
+ /* Parse boot_command_line string uart=no/232 */
|
||||||
|
+ ptr = strstr(boot_command_line, "uart=");
|
||||||
|
+
|
||||||
|
+ /* Default is SD. Change if required, for UART */
|
||||||
|
+ if (ptr != NULL) {
|
||||||
|
+ if (!strncmp(ptr + 5, "232", 3)) {
|
||||||
|
+ /* Configure MPP for UART */
|
||||||
|
+ openrd_base_mpp_config[1] = MPP13_UART1_TXD;
|
||||||
|
+ openrd_base_mpp_config[2] = MPP14_UART1_RXD;
|
||||||
|
+
|
||||||
|
+ uart1 = 232;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static void __init openrd_base_init(void)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* Basic setup. Needs to be called early.
|
||||||
|
*/
|
||||||
|
kirkwood_init();
|
||||||
|
+
|
||||||
|
+ /* This function modifies MPP config according to boot argument */
|
||||||
|
+ sd_uart_selection();
|
||||||
|
+
|
||||||
|
kirkwood_mpp_conf(openrd_base_mpp_config);
|
||||||
|
|
||||||
|
kirkwood_uart0_init();
|
||||||
|
@@ -69,7 +103,20 @@
|
||||||
|
|
||||||
|
kirkwood_ge00_init(&openrd_base_ge00_data);
|
||||||
|
kirkwood_sata_init(&openrd_base_sata_data);
|
||||||
|
- kirkwood_sdio_init(&openrd_base_mvsdio_data);
|
||||||
|
+
|
||||||
|
+ if (!uart1) {
|
||||||
|
+ /* Select SD
|
||||||
|
+ * Pin # 34: 0 => UART1, 1 => SD */
|
||||||
|
+ writel(readl(GPIO_OUT(34)) | 4, GPIO_OUT(34));
|
||||||
|
+
|
||||||
|
+ kirkwood_sdio_init(&openrd_base_mvsdio_data);
|
||||||
|
+ } else {
|
||||||
|
+ /* Select UART1
|
||||||
|
+ * Pin # 34: 0 => UART1, 1 => SD */
|
||||||
|
+ writel(readl(GPIO_OUT(34)) & ~(4), GPIO_OUT(34));
|
||||||
|
+
|
||||||
|
+ kirkwood_uart1_init();
|
||||||
|
+ }
|
||||||
|
|
||||||
|
kirkwood_i2c_init();
|
||||||
|
}
|
||||||
|
|
|
@ -19,3 +19,4 @@
|
||||||
+ bugfix/all/sfc-SFE4002-SFN4112F-Widen-temperature-voltage-tolerances.patch
|
+ bugfix/all/sfc-SFE4002-SFN4112F-Widen-temperature-voltage-tolerances.patch
|
||||||
+ features/all/ath9k-add-support-for-802.11n-bonded-out-AR2427.patch
|
+ features/all/ath9k-add-support-for-802.11n-bonded-out-AR2427.patch
|
||||||
+ bugfix/all/drm-i915-give-up-on-8xx-lid-status.patch
|
+ bugfix/all/drm-i915-give-up-on-8xx-lid-status.patch
|
||||||
|
+ features/arm/openrd-base-uart.patch
|
||||||
|
|
Loading…
Reference in New Issue