* [PATCH 0/6] ARM: OMAP: Updates for OMAP1 common code
@ 2007-04-09 21:25 Tony Lindgren
2007-04-09 21:25 ` [PATCH 1/6] ARM: OMAP: Enable DSP clocks for McBSP on omap310 Tony Lindgren
0 siblings, 1 reply; 7+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:25 UTC (permalink / raw)
To: linux-kernel; +Cc: Tony Lindgren
Hi,
The following patch series contains updates OMAP1 common
code.
This is take #2 of the earlier 90 patch mountain, which has
been split into six smaller series.
Regards,
Tony
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/6] ARM: OMAP: Enable DSP clocks for McBSP on omap310
2007-04-09 21:25 [PATCH 0/6] ARM: OMAP: Updates for OMAP1 common code Tony Lindgren
@ 2007-04-09 21:25 ` Tony Lindgren
2007-04-09 21:25 ` [PATCH 2/6] ARM: OMAP: omap camera builds again; Mistral init and mux Tony Lindgren
0 siblings, 1 reply; 7+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:25 UTC (permalink / raw)
To: linux-kernel; +Cc: Marek Vasut, Tony Lindgren
From: Marek Vasut <marek.vasut@gmail.com>
This patch enables some clock on omap310.
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap1/clock.h | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
--- a/arch/arm/mach-omap1/clock.h
+++ b/arch/arm/mach-omap1/clock.h
@@ -282,7 +282,7 @@ static struct clk arminth_ck16xx = {
static struct clk dsp_ck = {
.name = "dsp_ck",
.parent = &ck_dpll1,
- .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
+ .flags = CLOCK_IN_OMAP310 | CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
RATE_CKCTL,
.enable_reg = (void __iomem *)ARM_CKCTL,
.enable_bit = EN_DSPCK,
@@ -295,7 +295,7 @@ static struct clk dsp_ck = {
static struct clk dspmmu_ck = {
.name = "dspmmu_ck",
.parent = &ck_dpll1,
- .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
+ .flags = CLOCK_IN_OMAP310 | CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
RATE_CKCTL | ALWAYS_ENABLED,
.rate_offset = CKCTL_DSPMMUDIV_OFFSET,
.recalc = &omap1_ckctl_recalc,
@@ -306,7 +306,7 @@ static struct clk dspmmu_ck = {
static struct clk dspper_ck = {
.name = "dspper_ck",
.parent = &ck_dpll1,
- .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
+ .flags = CLOCK_IN_OMAP310 | CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
RATE_CKCTL | VIRTUAL_IO_ADDRESS,
.enable_reg = (void __iomem *)DSP_IDLECT2,
.enable_bit = EN_PERCK,
@@ -320,7 +320,7 @@ static struct clk dspper_ck = {
static struct clk dspxor_ck = {
.name = "dspxor_ck",
.parent = &ck_ref,
- .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
+ .flags = CLOCK_IN_OMAP310 | CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
VIRTUAL_IO_ADDRESS,
.enable_reg = (void __iomem *)DSP_IDLECT2,
.enable_bit = EN_XORPCK,
@@ -332,7 +332,7 @@ static struct clk dspxor_ck = {
static struct clk dsptim_ck = {
.name = "dsptim_ck",
.parent = &ck_ref,
- .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
+ .flags = CLOCK_IN_OMAP310 | CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
VIRTUAL_IO_ADDRESS,
.enable_reg = (void __iomem *)DSP_IDLECT2,
.enable_bit = EN_DSPTIMCK,
@@ -374,7 +374,7 @@ static struct clk arminth_ck1510 = {
static struct clk tipb_ck = {
/* No-idle controlled by "tc_ck" */
- .name = "tibp_ck",
+ .name = "tipb_ck",
.parent = &tc_ck.clk,
.flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP310 |
ALWAYS_ENABLED,
@@ -733,7 +733,7 @@ remains active during MPU idle whenever this is enabled */
static struct clk i2c_fck = {
.name = "i2c_fck",
.id = 1,
- .flags = CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
+ .flags = CLOCK_IN_OMAP310 | CLOCK_IN_OMAP1510 | CLOCK_IN_OMAP16XX |
VIRTUAL_CLOCK | CLOCK_NO_IDLE_PARENT |
ALWAYS_ENABLED,
.parent = &armxor_ck.clk,
--
1.4.4.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/6] ARM: OMAP: omap camera builds again; Mistral init and mux
2007-04-09 21:25 ` [PATCH 1/6] ARM: OMAP: Enable DSP clocks for McBSP on omap310 Tony Lindgren
@ 2007-04-09 21:25 ` Tony Lindgren
2007-04-09 21:25 ` [PATCH 3/6] ARM: OMAP: add SoSSI clock Tony Lindgren
0 siblings, 1 reply; 7+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:25 UTC (permalink / raw)
To: linux-kernel; +Cc: David Brownell, Tony Lindgren
From: David Brownell <dbrownell@users.sourceforge.net>
Support the camera connector on the OSK Mistral add-on board:
- define muxing for both camera controllers
- mux both of them for Mistral
- teach ov9640 glue about mistral powerup/powerdown
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap1/board-osk.c | 32 ++++++++++++++++++++++++++++++++
arch/arm/mach-omap1/mux.c | 24 ++++++++++++++++++++++++
include/asm-arm/arch-omap/mux.h | 23 +++++++++++++++++++++++
3 files changed, 79 insertions(+), 0 deletions(-)
Index: linux-2.6/arch/arm/mach-omap1/board-osk.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-omap1/board-osk.c 2007-04-06 09:00:28.000000000 -0400
+++ linux-2.6/arch/arm/mach-omap1/board-osk.c 2007-04-09 14:49:51.000000000 -0400
@@ -342,6 +342,38 @@ static void __init osk_mistral_init(void
* can't talk to the ads or even the i2c eeprom.
*/
+ /* parallel camera interface */
+ omap_cfg_reg(J15_1610_CAM_LCLK);
+ omap_cfg_reg(J18_1610_CAM_D7);
+ omap_cfg_reg(J19_1610_CAM_D6);
+ omap_cfg_reg(J14_1610_CAM_D5);
+ omap_cfg_reg(K18_1610_CAM_D4);
+ omap_cfg_reg(K19_1610_CAM_D3);
+ omap_cfg_reg(K15_1610_CAM_D2);
+ omap_cfg_reg(K14_1610_CAM_D1);
+ omap_cfg_reg(L19_1610_CAM_D0);
+ omap_cfg_reg(L18_1610_CAM_VS);
+ omap_cfg_reg(L15_1610_CAM_HS);
+ omap_cfg_reg(M19_1610_CAM_RSTZ);
+ omap_cfg_reg(Y15_1610_CAM_OUTCLK);
+
+ /* serial camera interface */
+ omap_cfg_reg(H19_1610_CAM_EXCLK);
+ omap_cfg_reg(W13_1610_CCP_CLKM);
+ omap_cfg_reg(Y12_1610_CCP_CLKP);
+ /* CCP_DATAM CONFLICTS WITH UART1.TX (and serial console) */
+ // omap_cfg_reg(Y14_1610_CCP_DATAM);
+ omap_cfg_reg(W14_1610_CCP_DATAP);
+
+ /* CAM_PWDN */
+ if (omap_request_gpio(11) == 0) {
+ omap_cfg_reg(N20_1610_GPIO11);
+ omap_set_gpio_direction(11, 0 /* out */);
+ omap_set_gpio_dataout(11, 0 /* off */);
+ } else
+ pr_debug("OSK+Mistral: CAM_PWDN is awol\n");
+
+
// omap_cfg_reg(P19_1610_GPIO6); // BUSY
omap_cfg_reg(P20_1610_GPIO4); // PENIRQ
set_irq_type(OMAP_GPIO_IRQ(4), IRQT_FALLING);
Index: linux-2.6/arch/arm/mach-omap1/mux.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-omap1/mux.c 2007-04-06 09:00:28.000000000 -0400
+++ linux-2.6/arch/arm/mach-omap1/mux.c 2007-04-09 14:49:51.000000000 -0400
@@ -283,6 +283,30 @@ MUX_CFG("R11_1610_CF_IOIS16", B, 0,
MUX_CFG("V10_1610_CF_IREQ", A, 24, 3, 2, 14, 0, 2, 0, 1)
MUX_CFG("W10_1610_CF_RESET", A, 18, 3, 2, 12, 1, 2, 1, 1)
MUX_CFG("W11_1610_CF_CD1", 10, 15, 3, 3, 8, 1, 3, 1, 1)
+
+/* parallel camera */
+MUX_CFG("J15_1610_CAM_LCLK", 4, 24, 0, 0, 18, 1, 0, 0, 0)
+MUX_CFG("J18_1610_CAM_D7", 4, 27, 0, 0, 19, 1, 0, 0, 0)
+MUX_CFG("J19_1610_CAM_D6", 5, 0, 0, 0, 20, 1, 0, 0, 0)
+MUX_CFG("J14_1610_CAM_D5", 5, 3, 0, 0, 21, 1, 0, 0, 0)
+MUX_CFG("K18_1610_CAM_D4", 5, 6, 0, 0, 22, 1, 0, 0, 0)
+MUX_CFG("K19_1610_CAM_D3", 5, 9, 0, 0, 23, 1, 0, 0, 0)
+MUX_CFG("K15_1610_CAM_D2", 5, 12, 0, 0, 24, 1, 0, 0, 0)
+MUX_CFG("K14_1610_CAM_D1", 5, 15, 0, 0, 25, 1, 0, 0, 0)
+MUX_CFG("L19_1610_CAM_D0", 5, 18, 0, 0, 26, 1, 0, 0, 0)
+MUX_CFG("L18_1610_CAM_VS", 5, 21, 0, 0, 27, 1, 0, 0, 0)
+MUX_CFG("L15_1610_CAM_HS", 5, 24, 0, 0, 28, 1, 0, 0, 0)
+MUX_CFG("M19_1610_CAM_RSTZ", 5, 27, 0, 0, 29, 0, 0, 0, 0)
+MUX_CFG("Y15_1610_CAM_OUTCLK", A, 0, 6, 2, 6, 0, 2, 0, 0)
+
+/* serial camera */
+MUX_CFG("H19_1610_CAM_EXCLK", 4, 21, 0, 0, 17, 0, 0, 0, 0)
+ /* REVISIT 5912 spec sez CCP_* can't pullup or pulldown ... ? */
+MUX_CFG("Y12_1610_CCP_CLKP", 8, 18, 6, 1, 24, 1, 1, 0, 0)
+MUX_CFG("W13_1610_CCP_CLKM", 9, 0, 6, 1, 28, 1, 1, 0, 0)
+MUX_CFG("W14_1610_CCP_DATAP", 9, 24, 6, 2, 4, 1, 2, 0, 0)
+MUX_CFG("Y14_1610_CCP_DATAM", 9, 21, 6, 2, 3, 1, 2, 0, 0)
+
};
#endif /* CONFIG_ARCH_OMAP15XX || CONFIG_ARCH_OMAP16XX */
Index: linux-2.6/include/asm-arm/arch-omap/mux.h
===================================================================
--- linux-2.6.orig/include/asm-arm/arch-omap/mux.h 2007-04-06 09:00:28.000000000 -0400
+++ linux-2.6/include/asm-arm/arch-omap/mux.h 2007-04-09 14:49:51.000000000 -0400
@@ -406,6 +406,29 @@ enum omap1xxx_index {
V10_1610_CF_IREQ,
W10_1610_CF_RESET,
W11_1610_CF_CD1,
+
+ /* parallel camera */
+ J15_1610_CAM_LCLK,
+ J18_1610_CAM_D7,
+ J19_1610_CAM_D6,
+ J14_1610_CAM_D5,
+ K18_1610_CAM_D4,
+ K19_1610_CAM_D3,
+ K15_1610_CAM_D2,
+ K14_1610_CAM_D1,
+ L19_1610_CAM_D0,
+ L18_1610_CAM_VS,
+ L15_1610_CAM_HS,
+ M19_1610_CAM_RSTZ,
+ Y15_1610_CAM_OUTCLK,
+
+ /* serial camera */
+ H19_1610_CAM_EXCLK,
+ Y12_1610_CCP_CLKP,
+ W13_1610_CCP_CLKM,
+ W14_1610_CCP_DATAP,
+ Y14_1610_CCP_DATAM,
+
};
enum omap24xx_index {
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 3/6] ARM: OMAP: add SoSSI clock
2007-04-09 21:25 ` [PATCH 2/6] ARM: OMAP: omap camera builds again; Mistral init and mux Tony Lindgren
@ 2007-04-09 21:25 ` Tony Lindgren
2007-04-09 21:25 ` [PATCH 4/6] ARM: OMAP: add SoSSI clock (remove manual checking of SoSSI state from idle) Tony Lindgren
0 siblings, 1 reply; 7+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:25 UTC (permalink / raw)
To: linux-kernel; +Cc: Imre Deak, Tony Lindgren
From: Imre Deak <imre.deak@solidboot.com>
This is needed, so that disabling the SoSSI clock during idle can
be prevented.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap1/clock.c | 34 ++++++++++++++++++++++++++++++++++
arch/arm/mach-omap1/clock.h | 21 +++++++++++++++++++--
2 files changed, 53 insertions(+), 2 deletions(-)
--- a/arch/arm/mach-omap1/clock.c
+++ b/arch/arm/mach-omap1/clock.c
@@ -49,6 +49,15 @@ static void omap1_uart_recalc(struct clk * clk)
clk->rate = 12000000;
}
+static void omap1_sossi_recalc(struct clk *clk)
+{
+ u32 div = omap_readl(MOD_CONF_CTRL_1);
+
+ div = (div >> 17) & 0x7;
+ div++;
+ clk->rate = clk->parent->rate / div;
+}
+
static int omap1_clk_enable_dsp_domain(struct clk *clk)
{
int retval;
@@ -396,6 +405,31 @@ static int omap1_set_ext_clk_rate(struct clk * clk, unsigned long rate)
return 0;
}
+static int omap1_set_sossi_rate(struct clk *clk, unsigned long rate)
+{
+ u32 l;
+ int div;
+ unsigned long p_rate;
+
+ p_rate = clk->parent->rate;
+ /* Round towards slower frequency */
+ div = (p_rate + rate - 1) / rate;
+ div--;
+ if (div < 0 || div > 7)
+ return -EINVAL;
+
+ l = omap_readl(MOD_CONF_CTRL_1);
+ l &= ~(7 << 17);
+ l |= div << 17;
+ omap_writel(l, MOD_CONF_CTRL_1);
+
+ clk->rate = p_rate / (div + 1);
+ if (unlikely(clk->flags & RATE_PROPAGATES))
+ propagate_rate(clk);
+
+ return 0;
+}
+
static long omap1_round_ext_clk_rate(struct clk * clk, unsigned long rate)
{
return 96000000 / calc_ext_dsor(rate);
--- a/arch/arm/mach-omap1/clock.h
+++ b/arch/arm/mach-omap1/clock.h
@@ -17,6 +17,8 @@ static int omap1_clk_enable_generic(struct clk * clk);
static void omap1_clk_disable_generic(struct clk * clk);
static void omap1_ckctl_recalc(struct clk * clk);
static void omap1_watchdog_recalc(struct clk * clk);
+static int omap1_set_sossi_rate(struct clk *clk, unsigned long rate);
+static void omap1_sossi_recalc(struct clk *clk);
static void omap1_ckctl_recalc_dsp_domain(struct clk * clk);
static int omap1_clk_enable_dsp_domain(struct clk * clk);
static int omap1_clk_set_rate_dsp_domain(struct clk * clk, unsigned long rate);
@@ -168,9 +170,10 @@ static struct clk ck_dpll1 = {
static struct arm_idlect1_clk ck_dpll1out = {
.clk = {
- .name = "ck_dpll1out",
+ .name = "ck_dpll1out",
.parent = &ck_dpll1,
- .flags = CLOCK_IN_OMAP16XX | CLOCK_IDLE_CONTROL,
+ .flags = CLOCK_IN_OMAP16XX | CLOCK_IDLE_CONTROL |
+ ENABLE_REG_32BIT | RATE_PROPAGATES,
.enable_reg = (void __iomem *)ARM_IDLECT2,
.enable_bit = EN_CKOUT_ARM,
.recalc = &followparent_recalc,
@@ -180,6 +183,19 @@ static struct arm_idlect1_clk ck_dpll1out = {
.idlect_shift = 12,
};
+static struct clk sossi_ck = {
+ .name = "ck_sossi",
+ .parent = &ck_dpll1out.clk,
+ .flags = CLOCK_IN_OMAP16XX | CLOCK_NO_IDLE_PARENT |
+ ENABLE_REG_32BIT,
+ .enable_reg = (void __iomem *)MOD_CONF_CTRL_1,
+ .enable_bit = 16,
+ .recalc = &omap1_sossi_recalc,
+ .set_rate = &omap1_set_sossi_rate,
+ .enable = &omap1_clk_enable_generic,
+ .disable = &omap1_clk_disable_generic,
+};
+
static struct clk arm_ck = {
.name = "arm_ck",
.parent = &ck_dpll1,
@@ -760,6 +776,7 @@ static struct clk * onchip_clks[] = {
&ck_dpll1,
/* CK_GEN1 clocks */
&ck_dpll1out.clk,
+ &sossi_ck,
&arm_ck,
&armper_ck.clk,
&arm_gpio_ck,
--
1.4.4.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 4/6] ARM: OMAP: add SoSSI clock (remove manual checking of SoSSI state from idle)
2007-04-09 21:25 ` [PATCH 3/6] ARM: OMAP: add SoSSI clock Tony Lindgren
@ 2007-04-09 21:25 ` Tony Lindgren
2007-04-09 21:25 ` [PATCH 5/6] ARM: OMAP: fix OMAP1 dmtimer build warning Tony Lindgren
0 siblings, 1 reply; 7+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:25 UTC (permalink / raw)
To: linux-kernel; +Cc: Imre Deak, Tony Lindgren
From: Imre Deak <imre.deak@solidboot.com>
The SoSSI driver should already take care of this by enabling / disabling
its clock when necessary, so this legacy callout from the PM idle code
is not needed any more.
Signed-off-by: Imre Deak <imre.deak@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap1/pm.c | 5 +----
arch/arm/plat-omap/dma.c | 6 ------
include/asm-arm/arch-omap/dma.h | 1 -
3 files changed, 1 insertions(+), 11 deletions(-)
Index: linux-2.6/arch/arm/mach-omap1/pm.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-omap1/pm.c 2007-04-09 16:38:12.000000000 -0400
+++ linux-2.6/arch/arm/mach-omap1/pm.c 2007-04-09 16:39:10.000000000 -0400
@@ -155,11 +155,8 @@ void omap_pm_idle(void)
use_idlect1 = omap_dm_timer_modify_idlect_mask(use_idlect1);
#endif
- if (omap_dma_running()) {
+ if (omap_dma_running())
use_idlect1 &= ~(1 << 6);
- if (omap_lcd_dma_ext_running())
- use_idlect1 &= ~(1 << 12);
- }
/* We should be able to remove the do_sleep variable and multiple
* tests above as soon as drivers, timer and DMA code have been fixed.
Index: linux-2.6/arch/arm/plat-omap/dma.c
===================================================================
--- linux-2.6.orig/arch/arm/plat-omap/dma.c 2007-04-09 16:39:05.000000000 -0400
+++ linux-2.6/arch/arm/plat-omap/dma.c 2007-04-09 16:39:10.000000000 -0400
@@ -1347,11 +1347,6 @@ void omap_stop_lcd_dma(void)
omap_writew(w, OMAP1610_DMA_LCD_CTRL);
}
-int omap_lcd_dma_ext_running(void)
-{
- return lcd_dma.ext_ctrl && lcd_dma.active;
-}
-
/*----------------------------------------------------------------------------*/
static int __init omap_init_dma(void)
@@ -1493,7 +1488,6 @@ EXPORT_SYMBOL(omap_free_lcd_dma);
EXPORT_SYMBOL(omap_enable_lcd_dma);
EXPORT_SYMBOL(omap_setup_lcd_dma);
EXPORT_SYMBOL(omap_stop_lcd_dma);
-EXPORT_SYMBOL(omap_lcd_dma_ext_running);
EXPORT_SYMBOL(omap_set_lcd_dma_b1);
EXPORT_SYMBOL(omap_set_lcd_dma_single_transfer);
EXPORT_SYMBOL(omap_set_lcd_dma_ext_controller);
Index: linux-2.6/include/asm-arm/arch-omap/dma.h
===================================================================
--- linux-2.6.orig/include/asm-arm/arch-omap/dma.h 2007-04-09 16:38:12.000000000 -0400
+++ linux-2.6/include/asm-arm/arch-omap/dma.h 2007-04-09 16:39:10.000000000 -0400
@@ -417,7 +417,6 @@ extern void omap_free_lcd_dma(void);
extern void omap_setup_lcd_dma(void);
extern void omap_enable_lcd_dma(void);
extern void omap_stop_lcd_dma(void);
-extern int omap_lcd_dma_ext_running(void);
extern void omap_set_lcd_dma_ext_controller(int external);
extern void omap_set_lcd_dma_single_transfer(int single);
extern void omap_set_lcd_dma_b1(unsigned long addr, u16 fb_xres, u16 fb_yres,
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 5/6] ARM: OMAP: fix OMAP1 dmtimer build warning
2007-04-09 21:25 ` [PATCH 4/6] ARM: OMAP: add SoSSI clock (remove manual checking of SoSSI state from idle) Tony Lindgren
@ 2007-04-09 21:25 ` Tony Lindgren
2007-04-09 21:25 ` [PATCH 6/6] ARM: OMAP: OSK led fixes Tony Lindgren
0 siblings, 1 reply; 7+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:25 UTC (permalink / raw)
To: linux-kernel; +Cc: David Brownell, David Brownell, Tony Lindgren
From: David Brownell <david-b@pacbell.net>
Remove the OMAP1 version of omap_dm_timer_get_fclk(), and its associated
compile-time warning. It would only BUG() if called, while it's only
called on OMAP2.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/dmtimer.c | 5 -----
1 files changed, 0 insertions(+), 5 deletions(-)
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
@@ -271,11 +271,6 @@ int omap_dm_timer_get_irq(struct omap_dm_timer *timer)
#if defined(CONFIG_ARCH_OMAP1)
-struct clk *omap_dm_timer_get_fclk(struct omap_dm_timer *timer)
-{
- BUG();
-}
-
/**
* omap_dm_timer_modify_idlect_mask - Check if any running timers use ARMXOR
* @inputmask: current value of idlect mask
--
1.4.4.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 6/6] ARM: OMAP: OSK led fixes
2007-04-09 21:25 ` [PATCH 5/6] ARM: OMAP: fix OMAP1 dmtimer build warning Tony Lindgren
@ 2007-04-09 21:25 ` Tony Lindgren
0 siblings, 0 replies; 7+ messages in thread
From: Tony Lindgren @ 2007-04-09 21:25 UTC (permalink / raw)
To: linux-kernel; +Cc: David Brownell, David Brownell, Tony Lindgren
From: David Brownell <david-b@pacbell.net>
Bugfixes for the OSK led support:
- Fix Kconfig merge glitches: Mistral handles idle and timer leds just fine
- Fix pm_suspend() runtime botch: can't sleep, so can't touch tps65010 leds
Improvements:
- Switch sense of Mistral idle led, so idle == off
Probably the TPS65010 leds should be handled only by the "new led" API.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/Kconfig | 7 +++++--
arch/arm/mach-omap1/leds-osk.c | 6 +++---
arch/arm/mach-omap1/pm.c | 11 -----------
3 files changed, 8 insertions(+), 16 deletions(-)
Index: linux-2.6/arch/arm/Kconfig
===================================================================
--- linux-2.6.orig/arch/arm/Kconfig 2007-04-09 16:39:05.000000000 -0400
+++ linux-2.6/arch/arm/Kconfig 2007-04-09 16:39:15.000000000 -0400
@@ -668,7 +668,8 @@ config LEDS
config LEDS_TIMER
bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
- MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
+ OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
+ || MACH_OMAP_PERSEUS2
depends on LEDS
default y if ARCH_EBSA110
help
@@ -684,7 +685,9 @@ config LEDS_TIMER
config LEDS_CPU
bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
- !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
+ !ARCH_OMAP) \
+ || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
+ || MACH_OMAP_PERSEUS2
depends on LEDS
help
If you say Y here, the red LED will be used to give a good real
Index: linux-2.6/arch/arm/mach-omap1/leds-osk.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-omap1/leds-osk.c 2007-04-09 16:38:12.000000000 -0400
+++ linux-2.6/arch/arm/mach-omap1/leds-osk.c 2007-04-09 16:39:15.000000000 -0400
@@ -133,13 +133,13 @@ void osk_leds_event(led_event_t evt)
mistral_setled();
break;
- case led_idle_start:
- hw_led_state |= IDLE_LED;
+ case led_idle_start: /* idle == off */
+ hw_led_state &= ~IDLE_LED;
mistral_setled();
break;
case led_idle_end:
- hw_led_state &= ~IDLE_LED;
+ hw_led_state |= IDLE_LED;
mistral_setled();
break;
Index: linux-2.6/arch/arm/mach-omap1/pm.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-omap1/pm.c 2007-04-09 16:39:10.000000000 -0400
+++ linux-2.6/arch/arm/mach-omap1/pm.c 2007-04-09 16:39:15.000000000 -0400
@@ -58,7 +58,6 @@
#include <asm/arch/tc.h>
#include <asm/arch/pm.h>
#include <asm/arch/mux.h>
-#include <asm/arch/tps65010.h>
#include <asm/arch/dma.h>
#include <asm/arch/dsp_common.h>
#include <asm/arch/dmtimer.h>
@@ -248,11 +247,6 @@ void omap_pm_suspend(void)
omap_serial_wake_trigger(1);
- if (machine_is_omap_osk()) {
- /* Stop LED1 (D9) blink */
- tps65010_set_led(LED1, OFF);
- }
-
if (!cpu_is_omap15xx())
omap_writew(0xffff, ULPD_SOFT_DISABLE_REQ_REG);
@@ -445,11 +439,6 @@ void omap_pm_suspend(void)
omap_serial_wake_trigger(0);
printk("PM: OMAP%x is re-starting from deep sleep...\n", system_rev);
-
- if (machine_is_omap_osk()) {
- /* Let LED1 (D9) blink again */
- tps65010_set_led(LED1, BLINK);
- }
}
#if defined(DEBUG) && defined(CONFIG_PROC_FS)
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-04-09 21:28 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-09 21:25 [PATCH 0/6] ARM: OMAP: Updates for OMAP1 common code Tony Lindgren
2007-04-09 21:25 ` [PATCH 1/6] ARM: OMAP: Enable DSP clocks for McBSP on omap310 Tony Lindgren
2007-04-09 21:25 ` [PATCH 2/6] ARM: OMAP: omap camera builds again; Mistral init and mux Tony Lindgren
2007-04-09 21:25 ` [PATCH 3/6] ARM: OMAP: add SoSSI clock Tony Lindgren
2007-04-09 21:25 ` [PATCH 4/6] ARM: OMAP: add SoSSI clock (remove manual checking of SoSSI state from idle) Tony Lindgren
2007-04-09 21:25 ` [PATCH 5/6] ARM: OMAP: fix OMAP1 dmtimer build warning Tony Lindgren
2007-04-09 21:25 ` [PATCH 6/6] ARM: OMAP: OSK led fixes Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox