* [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