mirror of
https://git.yoctoproject.org/meta-ti
synced 2026-07-17 06:48:07 +00:00
07e8c30da9
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
95 lines
3.6 KiB
Diff
95 lines
3.6 KiB
Diff
From d9c289c5f98bb109aa7a9e5a802638ba89639e70 Mon Sep 17 00:00:00 2001
|
|
From: Koen Kooi <koen@dominion.thruhere.net>
|
|
Date: Thu, 10 Mar 2011 13:15:38 +0100
|
|
Subject: [PATCH] beagleboard: hack in support from xM rev C
|
|
|
|
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
|
---
|
|
arch/arm/mach-omap2/board-omap3beagle.c | 20 +++++++++++++-------
|
|
1 files changed, 13 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
|
|
index 6abb79a..731f4b5 100644
|
|
--- a/arch/arm/mach-omap2/board-omap3beagle.c
|
|
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
|
|
@@ -64,6 +64,7 @@
|
|
* C4 = GPIO173, GPIO172, GPIO171: 1 0 1
|
|
* XMA = GPIO173, GPIO172, GPIO171: 0 0 0
|
|
* XMB = GPIO173, GPIO172, GPIO171: 0 0 1
|
|
+ * XMC = GPIO173, GPIO172, GPIO171: 0 1 0
|
|
*/
|
|
enum {
|
|
OMAP3BEAGLE_BOARD_UNKN = 0,
|
|
@@ -71,6 +72,7 @@ enum {
|
|
OMAP3BEAGLE_BOARD_C1_3,
|
|
OMAP3BEAGLE_BOARD_C4,
|
|
OMAP3BEAGLE_BOARD_XM,
|
|
+ OMAP3BEAGLE_BOARD_XMC,
|
|
};
|
|
|
|
static u8 omap3_beagle_version;
|
|
@@ -129,9 +131,13 @@ static void __init omap3_beagle_init_rev(void)
|
|
printk(KERN_INFO "OMAP3 Beagle Rev: xM B\n");
|
|
omap3_beagle_version = OMAP3BEAGLE_BOARD_XM;
|
|
break;
|
|
+ case 2:
|
|
+ printk(KERN_INFO "OMAP3 Beagle Rev: xM C\n");
|
|
+ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
|
|
+ break;
|
|
default:
|
|
- printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd\n", beagle_rev);
|
|
- omap3_beagle_version = OMAP3BEAGLE_BOARD_UNKN;
|
|
+ printk(KERN_INFO "OMAP3 Beagle Rev: unknown %hd, assuming xM C or newer\n", beagle_rev);
|
|
+ omap3_beagle_version = OMAP3BEAGLE_BOARD_XMC;
|
|
}
|
|
|
|
return;
|
|
@@ -484,7 +490,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
|
|
{
|
|
int r;
|
|
|
|
- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
|
|
+ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
|
|
mmc[0].gpio_wp = -EINVAL;
|
|
} else if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C1_3) ||
|
|
(omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_C4)) {
|
|
@@ -517,7 +523,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
|
|
/* REVISIT: need ehci-omap hooks for external VBUS
|
|
* power switch and overcurrent detect
|
|
*/
|
|
- if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM) {
|
|
+ if (omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XM && omap3_beagle_get_rev() != OMAP3BEAGLE_BOARD_XMC) {
|
|
r = gpio_request(gpio + 1, "EHCI_nOC");
|
|
if (!r) {
|
|
r = gpio_direction_input(gpio + 1);
|
|
@@ -539,7 +545,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
|
|
gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
|
|
|
|
/* DVI reset GPIO is different between beagle revisions */
|
|
- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM)
|
|
+ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC)
|
|
beagle_dvi_device.reset_gpio = 129;
|
|
else
|
|
beagle_dvi_device.reset_gpio = 170;
|
|
@@ -553,7 +559,7 @@ static int beagle_twl_gpio_setup(struct device *dev,
|
|
* P7/P8 revisions(prototype): Camera EN
|
|
* A2+ revisions (production): LDO (supplies DVI, serial, led blocks)
|
|
*/
|
|
- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
|
|
+ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
|
|
r = gpio_request(gpio + 1, "nDVI_PWR_EN");
|
|
if (!r) {
|
|
r = gpio_direction_output(gpio + 1, 0);
|
|
@@ -899,7 +905,7 @@ static void __init beagle_opp_init(void)
|
|
}
|
|
|
|
/* Custom OPP enabled for XM */
|
|
- if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) {
|
|
+ if (omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM || omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC) {
|
|
struct omap_hwmod *mh = omap_hwmod_lookup("mpu");
|
|
struct omap_hwmod *dh = omap_hwmod_lookup("iva");
|
|
struct device *dev;
|
|
--
|
|
1.6.6.1
|
|
|