Commit 6aa033d7 authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/home/rmk/linux-2.6-arm

* master.kernel.org:/home/rmk/linux-2.6-arm:
  ARM: 6265/1: kirkwood: move qnap_tsx1x_register_flash() to .init.text
  ARM: 6263/1: ns9xxx: fix FTBFS for zImage
  ARM: 6262/1: arm/clps711x: fix debug macro compilation failure
  ARM: 6261/1: arm/shark: fix debug macro compilation failure
  ARM: 6260/1: arm/plat-spear: fix debug macro compilation failure
  ARM: 6259/1: arm/ns9xxx: fix debug macro compilation failure
  ARM: 6258/1: arm/h720x: fix debug macro compilation failure
  ARM: 6233/1: Delete a wrong redundant right parenthesis
  ARM: 6230/1: fix nuc900 touchscreen clk definition bug
  [ARM] pxa: fix incorrect CONFIG_CPU_PXA27x to CONFIG_PXA27x
  [ARM] pxa/colibri-pxa300: fix AC97 init
  [ARM] pxa: fix incorrect order of AC97 reset pin configs
  [ARM] pxa: fix frequency scaling for pcmcia/pxa2xx_base
  [ARM] pxa: cpufreq-pxa2xx: fix DRI recomputation routine
  [ARM] pxa/corgi: fix MMC/SD card detection failure
parents 58b164b5 f9578fc0
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
* *
*/ */
#include <mach/hardware.h>
#include <asm/hardware/clps7111.h> #include <asm/hardware/clps7111.h>
.macro addruart, rx, tmp .macro addruart, rx, tmp
......
...@@ -232,7 +232,7 @@ EXPORT_SYMBOL(__bus_to_virt); ...@@ -232,7 +232,7 @@ EXPORT_SYMBOL(__bus_to_virt);
unsigned long __pfn_to_bus(unsigned long pfn) unsigned long __pfn_to_bus(unsigned long pfn)
{ {
return __pfn_to_phys(pfn) + (fb_bus_sdram_offset() - PHYS_OFFSET)); return __pfn_to_phys(pfn) + (fb_bus_sdram_offset() - PHYS_OFFSET);
} }
EXPORT_SYMBOL(__pfn_to_bus); EXPORT_SYMBOL(__pfn_to_bus);
......
...@@ -11,8 +11,10 @@ ...@@ -11,8 +11,10 @@
* *
*/ */
.equ io_virt, IO_BASE #include <mach/hardware.h>
.equ io_phys, IO_START
.equ io_virt, IO_VIRT
.equ io_phys, IO_PHYS
.macro addruart, rx, tmp .macro addruart, rx, tmp
mrc p15, 0, \rx, c1, c0 mrc p15, 0, \rx, c1, c0
......
...@@ -77,7 +77,7 @@ struct spi_board_info __initdata qnap_tsx1x_spi_slave_info[] = { ...@@ -77,7 +77,7 @@ struct spi_board_info __initdata qnap_tsx1x_spi_slave_info[] = {
}, },
}; };
void qnap_tsx1x_register_flash(void) void __init qnap_tsx1x_register_flash(void)
{ {
spi_register_board_info(qnap_tsx1x_spi_slave_info, spi_register_board_info(qnap_tsx1x_spi_slave_info,
ARRAY_SIZE(qnap_tsx1x_spi_slave_info)); ARRAY_SIZE(qnap_tsx1x_spi_slave_info));
......
#ifndef __ARCH_KIRKWOOD_TSX1X_COMMON_H #ifndef __ARCH_KIRKWOOD_TSX1X_COMMON_H
#define __ARCH_KIRKWOOD_TSX1X_COMMON_H #define __ARCH_KIRKWOOD_TSX1X_COMMON_H
extern void qnap_tsx1x_register_flash(void); extern void __init qnap_tsx1x_register_flash(void);
extern void qnap_tsx1x_power_off(void); extern void qnap_tsx1x_power_off(void);
#endif #endif
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
* the Free Software Foundation. * the Free Software Foundation.
*/ */
#include <mach/hardware.h> #include <mach/hardware.h>
#include <asm/memory.h>
#include <mach/regs-board-a9m9750dev.h> #include <mach/regs-board-a9m9750dev.h>
......
...@@ -20,50 +20,49 @@ static void putc_dummy(char c, void __iomem *base) ...@@ -20,50 +20,49 @@ static void putc_dummy(char c, void __iomem *base)
/* nothing */ /* nothing */
} }
static int timeout;
static void putc_ns9360(char c, void __iomem *base) static void putc_ns9360(char c, void __iomem *base)
{ {
static int t = 0x10000;
do { do {
if (t) if (timeout)
--t; --timeout;
if (__raw_readl(base + 8) & (1 << 3)) { if (__raw_readl(base + 8) & (1 << 3)) {
__raw_writeb(c, base + 16); __raw_writeb(c, base + 16);
t = 0x10000; timeout = 0x10000;
break; break;
} }
} while (t); } while (timeout);
} }
static void putc_a9m9750dev(char c, void __iomem *base) static void putc_a9m9750dev(char c, void __iomem *base)
{ {
static int t = 0x10000;
do { do {
if (t) if (timeout)
--t; --timeout;
if (__raw_readb(base + 5) & (1 << 5)) { if (__raw_readb(base + 5) & (1 << 5)) {
__raw_writeb(c, base); __raw_writeb(c, base);
t = 0x10000; timeout = 0x10000;
break; break;
} }
} while (t); } while (timeout);
} }
static void putc_ns921x(char c, void __iomem *base) static void putc_ns921x(char c, void __iomem *base)
{ {
static int t = 0x10000;
do { do {
if (t) if (timeout)
--t; --timeout;
if (!(__raw_readl(base) & (1 << 11))) { if (!(__raw_readl(base) & (1 << 11))) {
__raw_writeb(c, base + 0x0028); __raw_writeb(c, base + 0x0028);
t = 0x10000; timeout = 0x10000;
break; break;
} }
} while (t); } while (timeout);
} }
#define MSCS __REG(0xA0900184) #define MSCS __REG(0xA0900184)
...@@ -89,6 +88,7 @@ static void putc_ns921x(char c, void __iomem *base) ...@@ -89,6 +88,7 @@ static void putc_ns921x(char c, void __iomem *base)
static void autodetect(void (**putc)(char, void __iomem *), void __iomem **base) static void autodetect(void (**putc)(char, void __iomem *), void __iomem **base)
{ {
timeout = 0x10000;
if (((__raw_readl(MSCS) >> 16) & 0xfe) == 0x00) { if (((__raw_readl(MSCS) >> 16) & 0xfe) == 0x00) {
/* ns9360 or ns9750 */ /* ns9360 or ns9750 */
if (NS9360_UART_ENABLED(NS9360_UARTA)) { if (NS9360_UART_ENABLED(NS9360_UARTA)) {
......
...@@ -26,6 +26,7 @@ ...@@ -26,6 +26,7 @@
#include <mach/colibri.h> #include <mach/colibri.h>
#include <mach/ohci.h> #include <mach/ohci.h>
#include <mach/pxafb.h> #include <mach/pxafb.h>
#include <mach/audio.h>
#include "generic.h" #include "generic.h"
#include "devices.h" #include "devices.h"
...@@ -145,7 +146,7 @@ static void __init colibri_pxa300_init_lcd(void) ...@@ -145,7 +146,7 @@ static void __init colibri_pxa300_init_lcd(void)
static inline void colibri_pxa300_init_lcd(void) {} static inline void colibri_pxa300_init_lcd(void) {}
#endif /* CONFIG_FB_PXA || CONFIG_FB_PXA_MODULE */ #endif /* CONFIG_FB_PXA || CONFIG_FB_PXA_MODULE */
#if defined(SND_AC97_CODEC) || defined(SND_AC97_CODEC_MODULE) #if defined(CONFIG_SND_AC97_CODEC) || defined(CONFIG_SND_AC97_CODEC_MODULE)
static mfp_cfg_t colibri_pxa310_ac97_pin_config[] __initdata = { static mfp_cfg_t colibri_pxa310_ac97_pin_config[] __initdata = {
GPIO24_AC97_SYSCLK, GPIO24_AC97_SYSCLK,
GPIO23_AC97_nACRESET, GPIO23_AC97_nACRESET,
......
...@@ -446,7 +446,7 @@ static struct platform_device corgiled_device = { ...@@ -446,7 +446,7 @@ static struct platform_device corgiled_device = {
static struct pxamci_platform_data corgi_mci_platform_data = { static struct pxamci_platform_data corgi_mci_platform_data = {
.detect_delay_ms = 250, .detect_delay_ms = 250,
.ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34,
.gpio_card_detect = -1, .gpio_card_detect = CORGI_GPIO_nSD_DETECT,
.gpio_card_ro = CORGI_GPIO_nSD_WP, .gpio_card_ro = CORGI_GPIO_nSD_WP,
.gpio_power = CORGI_GPIO_SD_PWR, .gpio_power = CORGI_GPIO_SD_PWR,
}; };
......
...@@ -256,13 +256,9 @@ static void init_sdram_rows(void) ...@@ -256,13 +256,9 @@ static void init_sdram_rows(void)
static u32 mdrefr_dri(unsigned int freq) static u32 mdrefr_dri(unsigned int freq)
{ {
u32 dri = 0; u32 interval = freq * SDRAM_TREF / sdram_rows;
if (cpu_is_pxa25x()) return (interval - (cpu_is_pxa27x() ? 31 : 0)) / 32;
dri = ((freq * SDRAM_TREF) / (sdram_rows * 32));
if (cpu_is_pxa27x())
dri = ((freq * SDRAM_TREF) / (sdram_rows - 31)) / 32;
return dri;
} }
/* find a valid frequency point */ /* find a valid frequency point */
......
...@@ -41,10 +41,10 @@ void pxa27x_clear_otgph(void) ...@@ -41,10 +41,10 @@ void pxa27x_clear_otgph(void)
EXPORT_SYMBOL(pxa27x_clear_otgph); EXPORT_SYMBOL(pxa27x_clear_otgph);
static unsigned long ac97_reset_config[] = { static unsigned long ac97_reset_config[] = {
GPIO95_AC97_nRESET,
GPIO95_GPIO,
GPIO113_AC97_nRESET,
GPIO113_GPIO, GPIO113_GPIO,
GPIO113_AC97_nRESET,
GPIO95_GPIO,
GPIO95_AC97_nRESET,
}; };
void pxa27x_assert_ac97reset(int reset_gpio, int on) void pxa27x_assert_ac97reset(int reset_gpio, int on)
......
...@@ -20,6 +20,9 @@ ...@@ -20,6 +20,9 @@
strb \rd, [\rx] strb \rd, [\rx]
.endm .endm
.macro waituart,rd,rx
.endm
.macro busyuart,rd,rx .macro busyuart,rd,rx
mov \rd, #0 mov \rd, #0
1001: add \rd, \rd, #1 1001: add \rd, \rd, #1
......
...@@ -93,7 +93,7 @@ static struct clk_lookup nuc900_clkregs[] = { ...@@ -93,7 +93,7 @@ static struct clk_lookup nuc900_clkregs[] = {
DEF_CLKLOOK(&clk_kpi, "nuc900-kpi", NULL), DEF_CLKLOOK(&clk_kpi, "nuc900-kpi", NULL),
DEF_CLKLOOK(&clk_wdt, "nuc900-wdt", NULL), DEF_CLKLOOK(&clk_wdt, "nuc900-wdt", NULL),
DEF_CLKLOOK(&clk_gdma, "nuc900-gdma", NULL), DEF_CLKLOOK(&clk_gdma, "nuc900-gdma", NULL),
DEF_CLKLOOK(&clk_adc, "nuc900-adc", NULL), DEF_CLKLOOK(&clk_adc, "nuc900-ts", NULL),
DEF_CLKLOOK(&clk_usi, "nuc900-spi", NULL), DEF_CLKLOOK(&clk_usi, "nuc900-spi", NULL),
DEF_CLKLOOK(&clk_ext, NULL, "ext"), DEF_CLKLOOK(&clk_ext, NULL, "ext"),
DEF_CLKLOOK(&clk_timer0, NULL, "timer0"), DEF_CLKLOOK(&clk_timer0, NULL, "timer0"),
......
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
.macro addruart, rx .macro addruart, rx
mrc p15, 0, \rx, c1, c0 mrc p15, 0, \rx, c1, c0
tst \rx, #1 @ MMU enabled? tst \rx, #1 @ MMU enabled?
moveq \rx, =SPEAR_DBG_UART_BASE @ Physical base moveq \rx, #SPEAR_DBG_UART_BASE @ Physical base
movne \rx, =VA_SPEAR_DBG_UART_BASE @ Virtual base movne \rx, #VA_SPEAR_DBG_UART_BASE @ Virtual base
.endm .endm
.macro senduart, rd, rx .macro senduart, rd, rx
......
...@@ -178,7 +178,6 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt, ...@@ -178,7 +178,6 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
unsigned long val, unsigned long val,
struct cpufreq_freqs *freqs) struct cpufreq_freqs *freqs)
{ {
#warning "it's not clear if this is right since the core CPU (N) clock has no effect on the memory (L) clock"
switch (val) { switch (val) {
case CPUFREQ_PRECHANGE: case CPUFREQ_PRECHANGE:
if (freqs->new > freqs->old) { if (freqs->new > freqs->old) {
...@@ -186,7 +185,7 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt, ...@@ -186,7 +185,7 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
"pre-updating\n", "pre-updating\n",
freqs->new / 1000, (freqs->new / 100) % 10, freqs->new / 1000, (freqs->new / 100) % 10,
freqs->old / 1000, (freqs->old / 100) % 10); freqs->old / 1000, (freqs->old / 100) % 10);
pxa2xx_pcmcia_set_mcxx(skt, freqs->new); pxa2xx_pcmcia_set_timing(skt);
} }
break; break;
...@@ -196,7 +195,7 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt, ...@@ -196,7 +195,7 @@ pxa2xx_pcmcia_frequency_change(struct soc_pcmcia_socket *skt,
"post-updating\n", "post-updating\n",
freqs->new / 1000, (freqs->new / 100) % 10, freqs->new / 1000, (freqs->new / 100) % 10,
freqs->old / 1000, (freqs->old / 100) % 10); freqs->old / 1000, (freqs->old / 100) % 10);
pxa2xx_pcmcia_set_mcxx(skt, freqs->new); pxa2xx_pcmcia_set_timing(skt);
} }
break; break;
} }
......
...@@ -2561,7 +2561,7 @@ static void pxa_udc_shutdown(struct platform_device *_dev) ...@@ -2561,7 +2561,7 @@ static void pxa_udc_shutdown(struct platform_device *_dev)
udc_disable(udc); udc_disable(udc);
} }
#ifdef CONFIG_CPU_PXA27x #ifdef CONFIG_PXA27x
extern void pxa27x_clear_otgph(void); extern void pxa27x_clear_otgph(void);
#else #else
#define pxa27x_clear_otgph() do {} while (0) #define pxa27x_clear_otgph() do {} while (0)
......
...@@ -203,7 +203,7 @@ static inline void pxa27x_reset_hc(struct pxa27x_ohci *ohci) ...@@ -203,7 +203,7 @@ static inline void pxa27x_reset_hc(struct pxa27x_ohci *ohci)
__raw_writel(uhchr & ~UHCHR_FHR, ohci->mmio_base + UHCHR); __raw_writel(uhchr & ~UHCHR_FHR, ohci->mmio_base + UHCHR);
} }
#ifdef CONFIG_CPU_PXA27x #ifdef CONFIG_PXA27x
extern void pxa27x_clear_otgph(void); extern void pxa27x_clear_otgph(void);
#else #else
#define pxa27x_clear_otgph() do {} while (0) #define pxa27x_clear_otgph() do {} while (0)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment