* [PATCH 0/11] Omap fixes for 2.6.26-rc1
@ 2008-05-08 22:49 Tony Lindgren
2008-05-08 22:49 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Tony Lindgren
2008-05-10 18:15 ` Git pull request for omap-fixes ([PATCH 0/11] Omap fixes for 2.6.26-rc1) Tony Lindgren
0 siblings, 2 replies; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Tony Lindgren
Hi all,
This series contains omap fixes against current mainline kernel
at v2.6.26-rc1-179-g3de2403.
Regards,
Tony
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile
2008-05-08 22:49 [PATCH 0/11] Omap fixes for 2.6.26-rc1 Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 2/11] ARM: OMAP: Add calls to omap2_set_globals_*() Tony Lindgren
2008-05-09 9:51 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Felipe Balbi
2008-05-10 18:15 ` Git pull request for omap-fixes ([PATCH 0/11] Omap fixes for 2.6.26-rc1) Tony Lindgren
1 sibling, 2 replies; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Tony Lindgren
Update MMC header from linux-omap tree to match the recent
MMC driver updates.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
include/asm-arm/arch-omap/mmc.h | 26 ++++++++++++++++----------
1 files changed, 16 insertions(+), 10 deletions(-)
diff --git a/include/asm-arm/arch-omap/mmc.h b/include/asm-arm/arch-omap/mmc.h
index c9588f4..6dff38e 100644
--- a/include/asm-arm/arch-omap/mmc.h
+++ b/include/asm-arm/arch-omap/mmc.h
@@ -15,21 +15,16 @@
#include <linux/device.h>
#include <linux/mmc/host.h>
+#include <asm/arch/board.h>
+
#define OMAP_MMC_MAX_SLOTS 2
struct omap_mmc_platform_data {
- struct omap_mmc_conf conf;
+ struct omap_mmc_conf conf;
- unsigned enabled:1;
/* number of slots on board */
unsigned nr_slots:2;
- /* nomux means "standard" muxing is wrong on this board, and that
- * board-specific code handled it before common init logic.
- */
- unsigned nomux:1;
- /* 4 wire signaling is optional, and is only used for SD/SDIO and
- * MMCv4 */
- unsigned wire4:1;
+
/* set if your board has components or wiring that limits the
* maximum frequency on the MMC bus */
unsigned int max_freq;
@@ -40,6 +35,11 @@ struct omap_mmc_platform_data {
* not supported */
int (* init)(struct device *dev);
void (* cleanup)(struct device *dev);
+ void (* shutdown)(struct device *dev);
+
+ /* To handle board related suspend/resume functionality for MMC */
+ int (*suspend)(struct device *dev, int slot);
+ int (*resume)(struct device *dev, int slot);
struct omap_mmc_slot_data {
int (* set_bus_mode)(struct device *dev, int slot, int bus_mode);
@@ -56,13 +56,19 @@ struct omap_mmc_platform_data {
const char *name;
u32 ocr_mask;
+
+ /* Card detection IRQs */
+ int card_detect_irq;
+ int (* card_detect)(int irq);
+
+ unsigned int ban_openended:1;
+
} slots[OMAP_MMC_MAX_SLOTS];
};
extern void omap_set_mmc_info(int host, const struct omap_mmc_platform_data *info);
/* called from board-specific card detection service routine */
-extern void omap_mmc_notify_card_detect(struct device *dev, int slot, int detected);
extern void omap_mmc_notify_cover_event(struct device *dev, int slot, int is_closed);
#endif
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/11] ARM: OMAP: Add calls to omap2_set_globals_*()
2008-05-08 22:49 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 3/11] ARM: OMAP: Warn on disabling clocks with no users Tony Lindgren
2008-05-09 9:51 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Felipe Balbi
1 sibling, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Paul Walmsley, Kyungmin Park, Tony Lindgren
From: Paul Walmsley <paul@pwsan.com>
Add the omap2_set_globals_{242x,243x,343x}() functions. These
functions are called early upon boot in the map_io() functions in the
board-specific init files.
This patch was accidentally left out of the earlier series.
This fixes omap2 booting as noted by Kyungmin Park <kmpark@infradead.org>.
Signed-off-by: Paul Walmsley <paul@pwsan.com>
Cc: Kyungmin Park <kmpark@infradead.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/board-2430sdp.c | 1 +
arch/arm/mach-omap2/board-apollon.c | 1 +
arch/arm/mach-omap2/board-generic.c | 1 +
arch/arm/mach-omap2/board-h4.c | 1 +
include/asm-arm/arch-omap/common.h | 4 ++++
5 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
index 1c12d7c..1682eb7 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
@@ -208,6 +208,7 @@ static void __init omap_2430sdp_init(void)
static void __init omap_2430sdp_map_io(void)
{
+ omap2_set_globals_243x();
omap2_map_common_io();
}
diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
index a1e1e67..620fa0f 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
@@ -394,6 +394,7 @@ static void __init omap_apollon_init(void)
static void __init omap_apollon_map_io(void)
{
+ omap2_set_globals_242x();
omap2_map_common_io();
}
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
index 9093815..df8be08 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
@@ -65,6 +65,7 @@ static void __init omap_generic_init(void)
static void __init omap_generic_map_io(void)
{
+ omap2_set_globals_242x(); /* should be 242x, 243x, or 343x */
omap2_map_common_io();
}
diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
index d1915f9..0d28f68 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -420,6 +420,7 @@ static void __init omap_h4_init(void)
static void __init omap_h4_map_io(void)
{
+ omap2_set_globals_242x();
omap2_map_common_io();
}
diff --git a/include/asm-arm/arch-omap/common.h b/include/asm-arm/arch-omap/common.h
index 224e009..36a3b62 100644
--- a/include/asm-arm/arch-omap/common.h
+++ b/include/asm-arm/arch-omap/common.h
@@ -47,4 +47,8 @@ static inline int omap_register_i2c_bus(int bus_id, u32 clkrate,
}
#endif
+void omap2_set_globals_242x(void);
+void omap2_set_globals_243x(void);
+void omap2_set_globals_343x(void);
+
#endif /* __ARCH_ARM_MACH_OMAP_COMMON_H */
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/11] ARM: OMAP: Warn on disabling clocks with no users
2008-05-08 22:49 ` [PATCH 2/11] ARM: OMAP: Add calls to omap2_set_globals_*() Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 4/11] ARM: OMAP: DMA: Fix incorrect channel linking Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Tony Lindgren
Instead of BUG(), warn on disabling clocks with no users.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/clock.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c
index 72d34a2..2946c19 100644
--- a/arch/arm/plat-omap/clock.c
+++ b/arch/arm/plat-omap/clock.c
@@ -134,9 +134,17 @@ void clk_disable(struct clk *clk)
return;
spin_lock_irqsave(&clockfw_lock, flags);
- BUG_ON(clk->usecount == 0);
+ if (clk->usecount == 0) {
+ printk(KERN_ERR "Trying disable clock %s with 0 usecount\n",
+ clk->name);
+ WARN_ON(1);
+ goto out;
+ }
+
if (arch_clock->clk_disable)
arch_clock->clk_disable(clk);
+
+out:
spin_unlock_irqrestore(&clockfw_lock, flags);
}
EXPORT_SYMBOL(clk_disable);
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 4/11] ARM: OMAP: DMA: Fix incorrect channel linking
2008-05-08 22:49 ` [PATCH 3/11] ARM: OMAP: Warn on disabling clocks with no users Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 5/11] ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Jarkko Nikula, Tony Lindgren
From: Jarkko Nikula <jarkko.nikula@nokia.com>
Function enable_lnk does incorrect channel link on non-omap1 builds if chain
is created manually with omap_request_dma and omap_dma_link_lch functions.
Fix this by making sure that next_linked_ch field is initialized to -1 just
in omap_request_dma.
Signed-off-by: Jarkko Nikula <jarkko.nikula@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/plat-omap/dma.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 7937406..c00eda5 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -604,6 +604,7 @@ int omap_request_dma(int dev_id, const char *dev_name,
chan->data = data;
#ifndef CONFIG_ARCH_OMAP1
chan->chain_id = -1;
+ chan->next_linked_ch = -1;
#endif
chan->enabled_irqs = OMAP_DMA_DROP_IRQ | OMAP_DMA_BLOCK_IRQ;
@@ -1087,7 +1088,6 @@ int omap_request_dma_chain(int dev_id, const char *dev_name,
printk(KERN_ERR "omap_dma: Request failed %d\n", err);
return err;
}
- dma_chan[channels[i]].next_linked_ch = -1;
dma_chan[channels[i]].prev_linked_ch = -1;
dma_chan[channels[i]].state = DMA_CH_NOTSTARTED;
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/11] ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox
2008-05-08 22:49 ` [PATCH 4/11] ARM: OMAP: DMA: Fix incorrect channel linking Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 6/11] ARM: OMAP: Keymap fix for palmte and palmz71 Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Hiroshi DOYU, Tony Lindgren
From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/mailbox.c | 25 +++++++++++++++----------
arch/arm/plat-omap/mailbox.c | 1 -
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/arch/arm/mach-omap2/mailbox.c b/arch/arm/mach-omap2/mailbox.c
index b03cd06..4799561 100644
--- a/arch/arm/mach-omap2/mailbox.c
+++ b/arch/arm/mach-omap2/mailbox.c
@@ -70,6 +70,9 @@ struct omap_mbox2_priv {
static struct clk *mbox_ick_handle;
+static void omap2_mbox_enable_irq(struct omap_mbox *mbox,
+ omap_mbox_type_t irq);
+
static inline unsigned int mbox_read_reg(unsigned int reg)
{
return __raw_readl(mbox_base + reg);
@@ -81,7 +84,7 @@ static inline void mbox_write_reg(unsigned int val, unsigned int reg)
}
/* Mailbox H/W preparations */
-static inline int omap2_mbox_startup(struct omap_mbox *mbox)
+static int omap2_mbox_startup(struct omap_mbox *mbox)
{
unsigned int l;
@@ -97,38 +100,40 @@ static inline int omap2_mbox_startup(struct omap_mbox *mbox)
l |= 0x00000011;
mbox_write_reg(l, MAILBOX_SYSCONFIG);
+ omap2_mbox_enable_irq(mbox, IRQ_RX);
+
return 0;
}
-static inline void omap2_mbox_shutdown(struct omap_mbox *mbox)
+static void omap2_mbox_shutdown(struct omap_mbox *mbox)
{
clk_disable(mbox_ick_handle);
clk_put(mbox_ick_handle);
}
/* Mailbox FIFO handle functions */
-static inline mbox_msg_t omap2_mbox_fifo_read(struct omap_mbox *mbox)
+static mbox_msg_t omap2_mbox_fifo_read(struct omap_mbox *mbox)
{
struct omap_mbox2_fifo *fifo =
&((struct omap_mbox2_priv *)mbox->priv)->rx_fifo;
return (mbox_msg_t) mbox_read_reg(fifo->msg);
}
-static inline void omap2_mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg)
+static void omap2_mbox_fifo_write(struct omap_mbox *mbox, mbox_msg_t msg)
{
struct omap_mbox2_fifo *fifo =
&((struct omap_mbox2_priv *)mbox->priv)->tx_fifo;
mbox_write_reg(msg, fifo->msg);
}
-static inline int omap2_mbox_fifo_empty(struct omap_mbox *mbox)
+static int omap2_mbox_fifo_empty(struct omap_mbox *mbox)
{
struct omap_mbox2_fifo *fifo =
&((struct omap_mbox2_priv *)mbox->priv)->rx_fifo;
return (mbox_read_reg(fifo->msg_stat) == 0);
}
-static inline int omap2_mbox_fifo_full(struct omap_mbox *mbox)
+static int omap2_mbox_fifo_full(struct omap_mbox *mbox)
{
struct omap_mbox2_fifo *fifo =
&((struct omap_mbox2_priv *)mbox->priv)->tx_fifo;
@@ -136,7 +141,7 @@ static inline int omap2_mbox_fifo_full(struct omap_mbox *mbox)
}
/* Mailbox IRQ handle functions */
-static inline void omap2_mbox_enable_irq(struct omap_mbox *mbox,
+static void omap2_mbox_enable_irq(struct omap_mbox *mbox,
omap_mbox_type_t irq)
{
struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv;
@@ -147,7 +152,7 @@ static inline void omap2_mbox_enable_irq(struct omap_mbox *mbox,
mbox_write_reg(l, p->irqenable);
}
-static inline void omap2_mbox_disable_irq(struct omap_mbox *mbox,
+static void omap2_mbox_disable_irq(struct omap_mbox *mbox,
omap_mbox_type_t irq)
{
struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv;
@@ -158,7 +163,7 @@ static inline void omap2_mbox_disable_irq(struct omap_mbox *mbox,
mbox_write_reg(l, p->irqenable);
}
-static inline void omap2_mbox_ack_irq(struct omap_mbox *mbox,
+static void omap2_mbox_ack_irq(struct omap_mbox *mbox,
omap_mbox_type_t irq)
{
struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv;
@@ -167,7 +172,7 @@ static inline void omap2_mbox_ack_irq(struct omap_mbox *mbox,
mbox_write_reg(bit, p->irqstatus);
}
-static inline int omap2_mbox_is_irq(struct omap_mbox *mbox,
+static int omap2_mbox_is_irq(struct omap_mbox *mbox,
omap_mbox_type_t irq)
{
struct omap_mbox2_priv *p = (struct omap_mbox2_priv *)mbox->priv;
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
index 1945ddf..6f33f58 100644
--- a/arch/arm/plat-omap/mailbox.c
+++ b/arch/arm/plat-omap/mailbox.c
@@ -355,7 +355,6 @@ static int omap_mbox_init(struct omap_mbox *mbox)
"failed to register mailbox interrupt:%d\n", ret);
goto fail_request_irq;
}
- enable_mbox_irq(mbox, IRQ_RX);
mq = mbox_queue_alloc(mbox, mbox_txq_fn, mbox_tx_work);
if (!mq) {
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 6/11] ARM: OMAP: Keymap fix for palmte and palmz71
2008-05-08 22:49 ` [PATCH 5/11] ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 7/11] ARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Eduardo Valentin, Tony Lindgren
From: Eduardo Valentin <eduardo.valentin@indt.org.br>
Keymap fix for palmte and palmz71
Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap1/board-palmte.c | 2 +-
arch/arm/mach-omap1/board-palmz71.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap1/board-palmte.c b/arch/arm/mach-omap1/board-palmte.c
index ca1a4bf..a0b16a7 100644
--- a/arch/arm/mach-omap1/board-palmte.c
+++ b/arch/arm/mach-omap1/board-palmte.c
@@ -63,7 +63,7 @@ static const int palmte_keymap[] = {
KEY(1, 1, KEY_DOWN),
KEY(1, 2, KEY_UP),
KEY(1, 3, KEY_RIGHT),
- KEY(1, 4, KEY_CENTER),
+ KEY(1, 4, KEY_ENTER),
0,
};
diff --git a/arch/arm/mach-omap1/board-palmz71.c b/arch/arm/mach-omap1/board-palmz71.c
index 1565107..e020c27 100644
--- a/arch/arm/mach-omap1/board-palmz71.c
+++ b/arch/arm/mach-omap1/board-palmz71.c
@@ -65,7 +65,7 @@ static int palmz71_keymap[] = {
KEY(1, 1, KEY_DOWN),
KEY(1, 2, KEY_UP),
KEY(1, 3, KEY_RIGHT),
- KEY(1, 4, KEY_CENTER),
+ KEY(1, 4, KEY_ENTER),
KEY(2, 0, KEY_CAMERA),
0,
};
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 7/11] ARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks
2008-05-08 22:49 ` [PATCH 6/11] ARM: OMAP: Keymap fix for palmte and palmz71 Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 8/11] ARM: OMAP: Add fuctional clock enabler for iva2 Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Jouni Högander, Tony Lindgren
From: Jouni Högander <jouni.hogander@nokia.com>
Wrong shift values were used for gpio2-6 fclks (gpt2-6 shift).
Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/clock34xx.h | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index cf4644a..a728117 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -2344,7 +2344,7 @@ static struct clk gpio6_fck = {
.name = "gpio6_fck",
.parent = &per_32k_alwon_fck,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
- .enable_bit = OMAP3430_EN_GPT6_SHIFT,
+ .enable_bit = OMAP3430_EN_GPIO6_SHIFT,
.flags = CLOCK_IN_OMAP343X,
.recalc = &followparent_recalc,
};
@@ -2353,7 +2353,7 @@ static struct clk gpio5_fck = {
.name = "gpio5_fck",
.parent = &per_32k_alwon_fck,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
- .enable_bit = OMAP3430_EN_GPT5_SHIFT,
+ .enable_bit = OMAP3430_EN_GPIO5_SHIFT,
.flags = CLOCK_IN_OMAP343X,
.recalc = &followparent_recalc,
};
@@ -2362,7 +2362,7 @@ static struct clk gpio4_fck = {
.name = "gpio4_fck",
.parent = &per_32k_alwon_fck,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
- .enable_bit = OMAP3430_EN_GPT4_SHIFT,
+ .enable_bit = OMAP3430_EN_GPIO4_SHIFT,
.flags = CLOCK_IN_OMAP343X,
.recalc = &followparent_recalc,
};
@@ -2371,7 +2371,7 @@ static struct clk gpio3_fck = {
.name = "gpio3_fck",
.parent = &per_32k_alwon_fck,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
- .enable_bit = OMAP3430_EN_GPT3_SHIFT,
+ .enable_bit = OMAP3430_EN_GPIO3_SHIFT,
.flags = CLOCK_IN_OMAP343X,
.recalc = &followparent_recalc,
};
@@ -2380,7 +2380,7 @@ static struct clk gpio2_fck = {
.name = "gpio2_fck",
.parent = &per_32k_alwon_fck,
.enable_reg = OMAP_CM_REGADDR(OMAP3430_PER_MOD, CM_FCLKEN),
- .enable_bit = OMAP3430_EN_GPT2_SHIFT,
+ .enable_bit = OMAP3430_EN_GPIO2_SHIFT,
.flags = CLOCK_IN_OMAP343X,
.recalc = &followparent_recalc,
};
--
1.5.3.6
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 8/11] ARM: OMAP: Add fuctional clock enabler for iva2
2008-05-08 22:49 ` [PATCH 7/11] ARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 9/11] ARM: OMAP: PRCM fixes to ssi clock handling Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Hiroshi DOYU, Tony Lindgren
From: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Add fuctional clock enabler for iva2
Signed-off-by: Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/clock34xx.h | 5 +++--
arch/arm/mach-omap2/cm-regbits-34xx.h | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index a728117..3f133a0 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -1046,12 +1046,13 @@ static struct clk iva2_ck = {
.name = "iva2_ck",
.parent = &dpll2_m2_ck,
.init = &omap2_init_clksel_parent,
+ .enable_reg = OMAP_CM_REGADDR(OMAP3430_IVA2_MOD, CM_FCLKEN),
+ .enable_bit = OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT,
.clksel_reg = OMAP_CM_REGADDR(OMAP3430_IVA2_MOD,
OMAP3430_CM_IDLEST_PLL),
.clksel_mask = OMAP3430_ST_IVA2_CLK_MASK,
.clksel = iva2_clksel,
- .flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES |
- PARENT_CONTROLS_CLOCK,
+ .flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES,
.recalc = &omap2_clksel_recalc,
};
diff --git a/arch/arm/mach-omap2/cm-regbits-34xx.h b/arch/arm/mach-omap2/cm-regbits-34xx.h
index 9249129..3c38395 100644
--- a/arch/arm/mach-omap2/cm-regbits-34xx.h
+++ b/arch/arm/mach-omap2/cm-regbits-34xx.h
@@ -56,6 +56,7 @@
/* CM_FCLKEN_IVA2 */
#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2 (1 << 0)
+#define OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT 0
/* CM_CLKEN_PLL_IVA2 */
#define OMAP3430_IVA2_DPLL_RAMPTIME_SHIFT 8
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 9/11] ARM: OMAP: PRCM fixes to ssi clock handling
2008-05-08 22:49 ` [PATCH 8/11] ARM: OMAP: Add fuctional clock enabler for iva2 Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 10/11] ARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Jouni Högander, Tony Lindgren
From: Jouni Högander <jouni.hogander@nokia.com>
ssi_l4_ick should have PARENT_CONTROLS_CLOCK flag.
ST_SSI_STDBY bit in idlest register cannot be used in omap2_clk_wait_ready
Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/clock.c | 4 +++-
arch/arm/mach-omap2/clock34xx.h | 3 ++-
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
index b57ffb5..ab9fc57 100644
--- a/arch/arm/mach-omap2/clock.c
+++ b/arch/arm/mach-omap2/clock.c
@@ -205,7 +205,9 @@ static void omap2_clk_wait_ready(struct clk *clk)
/* REVISIT: What are the appropriate exclusions for 34XX? */
/* OMAP3: ignore DSS-mod clocks */
if (cpu_is_omap34xx() &&
- (((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0)))
+ (((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0) ||
+ ((((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(CORE_MOD, 0)) &&
+ clk->enable_bit == OMAP3430_EN_SSI_SHIFT)))
return;
/* Check if both functional and interface clocks
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index 3f133a0..f8bdcc1 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -1837,7 +1837,8 @@ static struct clk omapctrl_ick = {
static struct clk ssi_l4_ick = {
.name = "ssi_l4_ick",
.parent = &l4_ick,
- .flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+ .flags = CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+ PARENT_CONTROLS_CLOCK,
.recalc = &followparent_recalc,
};
--
1.5.3.6
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 10/11] ARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck
2008-05-08 22:49 ` [PATCH 9/11] ARM: OMAP: PRCM fixes to ssi clock handling Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
2008-05-08 22:49 ` [PATCH 11/11] ARM: OMAP: Fixed comments on global PRM register usage Tony Lindgren
0 siblings, 1 reply; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: Tony Lindgren, linux-omap, Högander Jouni
From: Högander Jouni <jouni.hogander@nokia.com>
This patch removes following message on dpll5_m2_ck enable and
disable:
clock.c: Enable for dpll5_m2_ck without enable code
clock: clk_disable called on independent clock dpll5_m2_ck
which has no enable_reg
Signed-off-by: Jouni Hogander <jouni.hogander@nokia.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/clock34xx.h | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/clock34xx.h b/arch/arm/mach-omap2/clock34xx.h
index f8bdcc1..c9c5972 100644
--- a/arch/arm/mach-omap2/clock34xx.h
+++ b/arch/arm/mach-omap2/clock34xx.h
@@ -836,7 +836,8 @@ static struct clk dpll5_m2_ck = {
.clksel_reg = OMAP_CM_REGADDR(PLL_MOD, OMAP3430ES2_CM_CLKSEL5),
.clksel_mask = OMAP3430ES2_DIV_120M_MASK,
.clksel = div16_dpll5_clksel,
- .flags = CLOCK_IN_OMAP3430ES2 | RATE_PROPAGATES,
+ .flags = CLOCK_IN_OMAP3430ES2 | RATE_PROPAGATES |
+ PARENT_CONTROLS_CLOCK,
.recalc = &omap2_clksel_recalc,
};
--
1.5.3.6
-------------------------------------------------------------------
List admin: http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
FAQ: http://www.arm.linux.org.uk/mailinglists/faq.php
Etiquette: http://www.arm.linux.org.uk/mailinglists/etiquette.php
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 11/11] ARM: OMAP: Fixed comments on global PRM register usage
2008-05-08 22:49 ` [PATCH 10/11] ARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck Tony Lindgren
@ 2008-05-08 22:49 ` Tony Lindgren
0 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2008-05-08 22:49 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap, Kalle Jokiniemi, Tony Lindgren
From: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Fixed comments on global PRM register usage.
Signed-off-by: Kalle Jokiniemi <ext-kalle.jokiniemi@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/prm.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/prm.h b/arch/arm/mach-omap2/prm.h
index ab7649a..618f811 100644
--- a/arch/arm/mach-omap2/prm.h
+++ b/arch/arm/mach-omap2/prm.h
@@ -30,7 +30,7 @@
/*
* Architecture-specific global PRM registers
- * Use prm_{read,write}_reg() with these registers.
+ * Use __raw_{read,write}l() with these registers.
*
* With a few exceptions, these are the register names beginning with
* PRCM_* on 24xx, and PRM_* on 34xx. (The exceptions are the
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile
2008-05-08 22:49 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Tony Lindgren
2008-05-08 22:49 ` [PATCH 2/11] ARM: OMAP: Add calls to omap2_set_globals_*() Tony Lindgren
@ 2008-05-09 9:51 ` Felipe Balbi
2008-05-09 17:30 ` Tony Lindgren
1 sibling, 1 reply; 15+ messages in thread
From: Felipe Balbi @ 2008-05-09 9:51 UTC (permalink / raw)
To: Tony Lindgren; +Cc: linux-arm-kernel, linux-omap
On Thu, 8 May 2008 15:49:25 -0700, Tony Lindgren <tony@atomide.com> wrote:
> Update MMC header from linux-omap tree to match the recent
> MMC driver updates.
>
> Signed-off-by: Tony Lindgren <tony@atomide.com>
> ---
> include/asm-arm/arch-omap/mmc.h | 26 ++++++++++++++++----------
> 1 files changed, 16 insertions(+), 10 deletions(-)
>
> diff --git a/include/asm-arm/arch-omap/mmc.h
> b/include/asm-arm/arch-omap/mmc.h
> index c9588f4..6dff38e 100644
> --- a/include/asm-arm/arch-omap/mmc.h
> +++ b/include/asm-arm/arch-omap/mmc.h
> @@ -15,21 +15,16 @@
> #include <linux/device.h>
> #include <linux/mmc/host.h>
>
> +#include <asm/arch/board.h>
> +
> #define OMAP_MMC_MAX_SLOTS 2
>
> struct omap_mmc_platform_data {
> - struct omap_mmc_conf conf;
> + struct omap_mmc_conf conf;
could you revert this line ? you converted the tab into spaces.
>
> - unsigned enabled:1;
> /* number of slots on board */
> unsigned nr_slots:2;
> - /* nomux means "standard" muxing is wrong on this board, and that
> - * board-specific code handled it before common init logic.
> - */
> - unsigned nomux:1;
> - /* 4 wire signaling is optional, and is only used for SD/SDIO and
> - * MMCv4 */
> - unsigned wire4:1;
> +
> /* set if your board has components or wiring that limits the
> * maximum frequency on the MMC bus */
> unsigned int max_freq;
> @@ -40,6 +35,11 @@ struct omap_mmc_platform_data {
> * not supported */
> int (* init)(struct device *dev);
> void (* cleanup)(struct device *dev);
> + void (* shutdown)(struct device *dev);
> +
> + /* To handle board related suspend/resume functionality for MMC */
> + int (*suspend)(struct device *dev, int slot);
> + int (*resume)(struct device *dev, int slot);
>
> struct omap_mmc_slot_data {
> int (* set_bus_mode)(struct device *dev, int slot, int bus_mode);
> @@ -56,13 +56,19 @@ struct omap_mmc_platform_data {
>
> const char *name;
> u32 ocr_mask;
> +
> + /* Card detection IRQs */
> + int card_detect_irq;
> + int (* card_detect)(int irq);
> +
> + unsigned int ban_openended:1;
> +
> } slots[OMAP_MMC_MAX_SLOTS];
> };
>
> extern void omap_set_mmc_info(int host, const struct
> omap_mmc_platform_data *info);
>
> /* called from board-specific card detection service routine */
> -extern void omap_mmc_notify_card_detect(struct device *dev, int slot,
int
> detected);
> extern void omap_mmc_notify_cover_event(struct device *dev, int slot,
int
> is_closed);
>
> #endif
> --
> 1.5.3.6
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Best Regards,
Felipe Balbi
http://felipebalbi.com
me@felipebalbi.com
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile
2008-05-09 9:51 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Felipe Balbi
@ 2008-05-09 17:30 ` Tony Lindgren
0 siblings, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2008-05-09 17:30 UTC (permalink / raw)
To: Felipe Balbi; +Cc: linux-arm-kernel, linux-omap
[-- Attachment #1: Type: text/plain, Size: 1062 bytes --]
* Felipe Balbi <me@felipebalbi.com> [080509 02:51]:
>
>
> On Thu, 8 May 2008 15:49:25 -0700, Tony Lindgren <tony@atomide.com> wrote:
> > Update MMC header from linux-omap tree to match the recent
> > MMC driver updates.
> >
> > Signed-off-by: Tony Lindgren <tony@atomide.com>
> > ---
> > include/asm-arm/arch-omap/mmc.h | 26 ++++++++++++++++----------
> > 1 files changed, 16 insertions(+), 10 deletions(-)
> >
> > diff --git a/include/asm-arm/arch-omap/mmc.h
> > b/include/asm-arm/arch-omap/mmc.h
> > index c9588f4..6dff38e 100644
> > --- a/include/asm-arm/arch-omap/mmc.h
> > +++ b/include/asm-arm/arch-omap/mmc.h
> > @@ -15,21 +15,16 @@
> > #include <linux/device.h>
> > #include <linux/mmc/host.h>
> >
> > +#include <asm/arch/board.h>
> > +
> > #define OMAP_MMC_MAX_SLOTS 2
> >
> > struct omap_mmc_platform_data {
> > - struct omap_mmc_conf conf;
> > + struct omap_mmc_conf conf;
>
> could you revert this line ? you converted the tab into spaces.
Yeah, that should not be there. Updated patch below, also fixed
in linux-omap tree.
Tony
[-- Attachment #2: 0001-ARM-OMAP-Update-MMC-header-to-fix-compile.patch --]
[-- Type: text/x-diff, Size: 2376 bytes --]
>From 0a4b53a22d75efa750f0b93c9b00dd0dc51c0b07 Mon Sep 17 00:00:00 2001
From: Tony Lindgren <tony@atomide.com>
Date: Thu, 8 May 2008 15:30:33 -0700
Subject: [PATCH] ARM: OMAP: Update MMC header to fix compile
Update MMC header from linux-omap tree to match the recent
MMC driver updates.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
include/asm-arm/arch-omap/mmc.h | 24 +++++++++++++++---------
1 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/include/asm-arm/arch-omap/mmc.h b/include/asm-arm/arch-omap/mmc.h
index c9588f4..7cfc5f2 100644
--- a/include/asm-arm/arch-omap/mmc.h
+++ b/include/asm-arm/arch-omap/mmc.h
@@ -15,21 +15,16 @@
#include <linux/device.h>
#include <linux/mmc/host.h>
+#include <asm/arch/board.h>
+
#define OMAP_MMC_MAX_SLOTS 2
struct omap_mmc_platform_data {
struct omap_mmc_conf conf;
- unsigned enabled:1;
/* number of slots on board */
unsigned nr_slots:2;
- /* nomux means "standard" muxing is wrong on this board, and that
- * board-specific code handled it before common init logic.
- */
- unsigned nomux:1;
- /* 4 wire signaling is optional, and is only used for SD/SDIO and
- * MMCv4 */
- unsigned wire4:1;
+
/* set if your board has components or wiring that limits the
* maximum frequency on the MMC bus */
unsigned int max_freq;
@@ -40,6 +35,11 @@ struct omap_mmc_platform_data {
* not supported */
int (* init)(struct device *dev);
void (* cleanup)(struct device *dev);
+ void (* shutdown)(struct device *dev);
+
+ /* To handle board related suspend/resume functionality for MMC */
+ int (*suspend)(struct device *dev, int slot);
+ int (*resume)(struct device *dev, int slot);
struct omap_mmc_slot_data {
int (* set_bus_mode)(struct device *dev, int slot, int bus_mode);
@@ -56,13 +56,19 @@ struct omap_mmc_platform_data {
const char *name;
u32 ocr_mask;
+
+ /* Card detection IRQs */
+ int card_detect_irq;
+ int (* card_detect)(int irq);
+
+ unsigned int ban_openended:1;
+
} slots[OMAP_MMC_MAX_SLOTS];
};
extern void omap_set_mmc_info(int host, const struct omap_mmc_platform_data *info);
/* called from board-specific card detection service routine */
-extern void omap_mmc_notify_card_detect(struct device *dev, int slot, int detected);
extern void omap_mmc_notify_cover_event(struct device *dev, int slot, int is_closed);
#endif
--
1.5.3.6
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Git pull request for omap-fixes ([PATCH 0/11] Omap fixes for 2.6.26-rc1)
2008-05-08 22:49 [PATCH 0/11] Omap fixes for 2.6.26-rc1 Tony Lindgren
2008-05-08 22:49 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Tony Lindgren
@ 2008-05-10 18:15 ` Tony Lindgren
1 sibling, 0 replies; 15+ messages in thread
From: Tony Lindgren @ 2008-05-10 18:15 UTC (permalink / raw)
To: linux-arm-kernel; +Cc: linux-omap
* Tony Lindgren <tony@atomide.com> [080508 15:49]:
> Hi all,
>
> This series contains omap fixes against current mainline kernel
> at v2.6.26-rc1-179-g3de2403.
Russell, can you please pull these omap-fixes from:
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git omap-fixes
These patches are against v2.6.26-rc1-179-g3de2403, can rebase as
needed.
Regards,
Tony
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2008-05-10 18:15 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-08 22:49 [PATCH 0/11] Omap fixes for 2.6.26-rc1 Tony Lindgren
2008-05-08 22:49 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Tony Lindgren
2008-05-08 22:49 ` [PATCH 2/11] ARM: OMAP: Add calls to omap2_set_globals_*() Tony Lindgren
2008-05-08 22:49 ` [PATCH 3/11] ARM: OMAP: Warn on disabling clocks with no users Tony Lindgren
2008-05-08 22:49 ` [PATCH 4/11] ARM: OMAP: DMA: Fix incorrect channel linking Tony Lindgren
2008-05-08 22:49 ` [PATCH 5/11] ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox Tony Lindgren
2008-05-08 22:49 ` [PATCH 6/11] ARM: OMAP: Keymap fix for palmte and palmz71 Tony Lindgren
2008-05-08 22:49 ` [PATCH 7/11] ARM: OMAP: Fix 34xx to use correct shift values for gpio2-6 fclks Tony Lindgren
2008-05-08 22:49 ` [PATCH 8/11] ARM: OMAP: Add fuctional clock enabler for iva2 Tony Lindgren
2008-05-08 22:49 ` [PATCH 9/11] ARM: OMAP: PRCM fixes to ssi clock handling Tony Lindgren
2008-05-08 22:49 ` [PATCH 10/11] ARM: OMAP: Add PARENT_CONTROLS_CLOCK flag to dpll5_m2_ck Tony Lindgren
2008-05-08 22:49 ` [PATCH 11/11] ARM: OMAP: Fixed comments on global PRM register usage Tony Lindgren
2008-05-09 9:51 ` [PATCH 1/11] ARM: OMAP: Update MMC header to fix compile Felipe Balbi
2008-05-09 17:30 ` Tony Lindgren
2008-05-10 18:15 ` Git pull request for omap-fixes ([PATCH 0/11] Omap fixes for 2.6.26-rc1) Tony Lindgren
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox