summaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch
diff options
context:
space:
mode:
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch')
-rw-r--r--extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch103
1 files changed, 103 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch
new file mode 100644
index 00000000..2b326602
--- /dev/null
+++ b/extras/recipes-kernel/linux/linux-omap-psp-2.6.32/0006-board-omap3beagle-prepare-for-DM3730-based-Beagleboa.patch
@@ -0,0 +1,103 @@
1From e36c63f1fe13a60bdf6e9b3dd46ad969d6fe418d Mon Sep 17 00:00:00 2001
2From: Koen Kooi <k-kooi@ti.com>
3Date: Wed, 27 Jan 2010 21:57:13 +0100
4Subject: [PATCH 06/45] board-omap3beagle: prepare for DM3730 based BeagleboardXM
5
6* OPP changes copy/pasted from board-omap3evm.c
7 * EHCI changes copy/pasted from Steve Kipisz' 2.6.33rcX work
8 * turn on power to camera on boot and add some comments
9---
10 arch/arm/mach-omap2/board-omap3beagle.c | 62 +++++++++++++++++++++++++++----
11 1 files changed, 54 insertions(+), 8 deletions(-)
12
13diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
14index 3b7f6ec..429dacb 100644
15--- a/arch/arm/mach-omap2/board-omap3beagle.c
16+++ b/arch/arm/mach-omap2/board-omap3beagle.c
17@@ -53,6 +53,23 @@
18 #include "pm.h"
19 #include "omap3-opp.h"
20
21+#ifdef CONFIG_PM
22+static struct omap_opp * _omap35x_mpu_rate_table = omap35x_mpu_rate_table;
23+static struct omap_opp * _omap37x_mpu_rate_table = omap37x_mpu_rate_table;
24+static struct omap_opp * _omap35x_dsp_rate_table = omap35x_dsp_rate_table;
25+static struct omap_opp * _omap37x_dsp_rate_table = omap37x_dsp_rate_table;
26+static struct omap_opp * _omap35x_l3_rate_table = omap35x_l3_rate_table;
27+static struct omap_opp * _omap37x_l3_rate_table = omap37x_l3_rate_table;
28+#else /* CONFIG_PM */
29+static struct omap_opp * _omap35x_mpu_rate_table = NULL;
30+static struct omap_opp * _omap37x_mpu_rate_table = NULL;
31+static struct omap_opp * _omap35x_dsp_rate_table = NULL;
32+static struct omap_opp * _omap37x_dsp_rate_table = NULL;
33+static struct omap_opp * _omap35x_l3_rate_table = NULL;
34+static struct omap_opp * _omap37x_l3_rate_table = NULL;
35+#endif /* CONFIG_PM */
36+
37+
38 #define GPMC_CS0_BASE 0x60
39 #define GPMC_CS_SIZE 0x30
40
41@@ -303,12 +320,28 @@ static int beagle_twl_gpio_setup(struct device *dev,
42 * power switch and overcurrent detect
43 */
44
45- gpio_request(gpio + 1, "EHCI_nOC");
46- gpio_direction_input(gpio + 1);
47+ if (cpu_is_omap3630()) {
48+ /* Power on DVI, Serial and PWR led */
49+ gpio_request(gpio + 1, "nDVI_PWR_EN");
50+ gpio_direction_output(gpio + 1, 0);
51+
52+ /* Power on camera interface */
53+ gpio_request(gpio + 2, "CAM_EN");
54+ gpio_direction_output(gpio + 2, 1);
55+
56+ /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
57+ gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
58+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 1);
59+ }
60+ else {
61+ gpio_request(gpio + 1, "EHCI_nOC");
62+ gpio_direction_input(gpio + 1);
63+
64+ /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
65+ gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
66+ gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
67+ }
68
69- /* TWL4030_GPIO_MAX + 0 == ledA, EHCI nEN_USB_PWR (out, active low) */
70- gpio_request(gpio + TWL4030_GPIO_MAX, "nEN_USB_PWR");
71- gpio_direction_output(gpio + TWL4030_GPIO_MAX, 0);
72
73 /* TWL4030_GPIO_MAX + 1 == ledB, PMU_STAT (out, active low LED) */
74 gpio_leds[2].gpio = gpio + TWL4030_GPIO_MAX + 1;
75@@ -501,9 +534,22 @@ static struct platform_device keys_gpio = {
76
77 static void __init omap3_beagle_init_irq(void)
78 {
79- omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
80- mt46h32m32lf6_sdrc_params, omap3_mpu_rate_table,
81- omap3_dsp_rate_table, omap3_l3_rate_table);
82+ if (cpu_is_omap3630())
83+ {
84+ omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
85+ NULL,
86+ _omap37x_mpu_rate_table,
87+ _omap37x_dsp_rate_table,
88+ _omap37x_l3_rate_table);
89+ }
90+ else
91+ {
92+ omap2_init_common_hw(mt46h32m32lf6_sdrc_params,
93+ NULL,
94+ _omap35x_mpu_rate_table,
95+ _omap35x_dsp_rate_table,
96+ _omap35x_l3_rate_table);
97+ }
98 omap_init_irq();
99 #ifdef CONFIG_OMAP_32K_TIMER
100 omap2_gp_clockevent_set_gptimer(12);
101--
1021.6.6.1
103