Commit 91fed558 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge branch 'pxa/fixes' into next/fixes

parents db1c5628 1a64200e
...@@ -1953,6 +1953,7 @@ config CPU_FREQ_PXA ...@@ -1953,6 +1953,7 @@ config CPU_FREQ_PXA
bool bool
depends on CPU_FREQ && ARCH_PXA && PXA25x depends on CPU_FREQ && ARCH_PXA && PXA25x
default y default y
select CPU_FREQ_TABLE
select CPU_FREQ_DEFAULT_GOV_USERSPACE select CPU_FREQ_DEFAULT_GOV_USERSPACE
config CPU_FREQ_S3C config CPU_FREQ_S3C
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
#ifndef __ASM_HARDWARE_IT8152_H #ifndef __ASM_HARDWARE_IT8152_H
#define __ASM_HARDWARE_IT8152_H #define __ASM_HARDWARE_IT8152_H
extern unsigned long it8152_base_address; extern void __iomem *it8152_base_address;
#define IT8152_IO_BASE (it8152_base_address + 0x03e00000) #define IT8152_IO_BASE (it8152_base_address + 0x03e00000)
#define IT8152_CFGREG_BASE (it8152_base_address + 0x03f00000) #define IT8152_CFGREG_BASE (it8152_base_address + 0x03f00000)
......
...@@ -77,7 +77,7 @@ config MACH_TETON_BGA ...@@ -77,7 +77,7 @@ config MACH_TETON_BGA
Say 'Y' here if you want to support the Marvell PXA168-based Say 'Y' here if you want to support the Marvell PXA168-based
Teton BGA Development Board. Teton BGA Development Board.
config MACH_SHEEVAD config MACH_GPLUGD
bool "Marvell's PXA168 GuruPlug Display (gplugD) Board" bool "Marvell's PXA168 GuruPlug Display (gplugD) Board"
select CPU_PXA168 select CPU_PXA168
help help
......
...@@ -19,4 +19,4 @@ obj-$(CONFIG_MACH_BROWNSTONE) += brownstone.o ...@@ -19,4 +19,4 @@ obj-$(CONFIG_MACH_BROWNSTONE) += brownstone.o
obj-$(CONFIG_MACH_FLINT) += flint.o obj-$(CONFIG_MACH_FLINT) += flint.o
obj-$(CONFIG_MACH_MARVELL_JASPER) += jasper.o obj-$(CONFIG_MACH_MARVELL_JASPER) += jasper.o
obj-$(CONFIG_MACH_TETON_BGA) += teton_bga.o obj-$(CONFIG_MACH_TETON_BGA) += teton_bga.o
obj-$(CONFIG_MACH_SHEEVAD) += gplugd.o obj-$(CONFIG_MACH_GPLUGD) += gplugd.o
...@@ -30,7 +30,7 @@ extern struct clkops apmu_clk_ops; ...@@ -30,7 +30,7 @@ extern struct clkops apmu_clk_ops;
#define APBC_CLK(_name, _reg, _fnclksel, _rate) \ #define APBC_CLK(_name, _reg, _fnclksel, _rate) \
struct clk clk_##_name = { \ struct clk clk_##_name = { \
.clk_rst = (void __iomem *)APBC_##_reg, \ .clk_rst = APBC_##_reg, \
.fnclksel = _fnclksel, \ .fnclksel = _fnclksel, \
.rate = _rate, \ .rate = _rate, \
.ops = &apbc_clk_ops, \ .ops = &apbc_clk_ops, \
...@@ -38,7 +38,7 @@ struct clk clk_##_name = { \ ...@@ -38,7 +38,7 @@ struct clk clk_##_name = { \
#define APBC_CLK_OPS(_name, _reg, _fnclksel, _rate, _ops) \ #define APBC_CLK_OPS(_name, _reg, _fnclksel, _rate, _ops) \
struct clk clk_##_name = { \ struct clk clk_##_name = { \
.clk_rst = (void __iomem *)APBC_##_reg, \ .clk_rst = APBC_##_reg, \
.fnclksel = _fnclksel, \ .fnclksel = _fnclksel, \
.rate = _rate, \ .rate = _rate, \
.ops = _ops, \ .ops = _ops, \
...@@ -46,7 +46,7 @@ struct clk clk_##_name = { \ ...@@ -46,7 +46,7 @@ struct clk clk_##_name = { \
#define APMU_CLK(_name, _reg, _eval, _rate) \ #define APMU_CLK(_name, _reg, _eval, _rate) \
struct clk clk_##_name = { \ struct clk clk_##_name = { \
.clk_rst = (void __iomem *)APMU_##_reg, \ .clk_rst = APMU_##_reg, \
.enable_val = _eval, \ .enable_val = _eval, \
.rate = _rate, \ .rate = _rate, \
.ops = &apmu_clk_ops, \ .ops = &apmu_clk_ops, \
...@@ -54,7 +54,7 @@ struct clk clk_##_name = { \ ...@@ -54,7 +54,7 @@ struct clk clk_##_name = { \
#define APMU_CLK_OPS(_name, _reg, _eval, _rate, _ops) \ #define APMU_CLK_OPS(_name, _reg, _eval, _rate, _ops) \
struct clk clk_##_name = { \ struct clk clk_##_name = { \
.clk_rst = (void __iomem *)APMU_##_reg, \ .clk_rst = APMU_##_reg, \
.enable_val = _eval, \ .enable_val = _eval, \
.rate = _rate, \ .rate = _rate, \
.ops = _ops, \ .ops = _ops, \
......
...@@ -27,12 +27,12 @@ EXPORT_SYMBOL(mmp_chip_id); ...@@ -27,12 +27,12 @@ EXPORT_SYMBOL(mmp_chip_id);
static struct map_desc standard_io_desc[] __initdata = { static struct map_desc standard_io_desc[] __initdata = {
{ {
.pfn = __phys_to_pfn(APB_PHYS_BASE), .pfn = __phys_to_pfn(APB_PHYS_BASE),
.virtual = APB_VIRT_BASE, .virtual = (unsigned long)APB_VIRT_BASE,
.length = APB_PHYS_SIZE, .length = APB_PHYS_SIZE,
.type = MT_DEVICE, .type = MT_DEVICE,
}, { }, {
.pfn = __phys_to_pfn(AXI_PHYS_BASE), .pfn = __phys_to_pfn(AXI_PHYS_BASE),
.virtual = AXI_VIRT_BASE, .virtual = (unsigned long)AXI_VIRT_BASE,
.length = AXI_PHYS_SIZE, .length = AXI_PHYS_SIZE,
.type = MT_DEVICE, .type = MT_DEVICE,
}, },
......
...@@ -188,7 +188,7 @@ static void __init gplugd_init(void) ...@@ -188,7 +188,7 @@ static void __init gplugd_init(void)
pxa168_add_eth(&gplugd_eth_platform_data); pxa168_add_eth(&gplugd_eth_platform_data);
} }
MACHINE_START(SHEEVAD, "PXA168-based GuruPlug Display (gplugD) Platform") MACHINE_START(GPLUGD, "PXA168-based GuruPlug Display (gplugD) Platform")
.map_io = mmp_map_io, .map_io = mmp_map_io,
.nr_irqs = IRQ_BOARD_START, .nr_irqs = IRQ_BOARD_START,
.init_irq = pxa168_init_irq, .init_irq = pxa168_init_irq,
......
...@@ -11,6 +11,12 @@ ...@@ -11,6 +11,12 @@
#ifndef __ASM_MACH_ADDR_MAP_H #ifndef __ASM_MACH_ADDR_MAP_H
#define __ASM_MACH_ADDR_MAP_H #define __ASM_MACH_ADDR_MAP_H
#ifndef __ASSEMBLER__
#define IOMEM(x) ((void __iomem *)(x))
#else
#define IOMEM(x) (x)
#endif
/* APB - Application Subsystem Peripheral Bus /* APB - Application Subsystem Peripheral Bus
* *
* NOTE: the DMA controller registers are actually on the AXI fabric #1 * NOTE: the DMA controller registers are actually on the AXI fabric #1
...@@ -18,11 +24,11 @@ ...@@ -18,11 +24,11 @@
* peripherals on APB, let's count it into the ABP mapping area. * peripherals on APB, let's count it into the ABP mapping area.
*/ */
#define APB_PHYS_BASE 0xd4000000 #define APB_PHYS_BASE 0xd4000000
#define APB_VIRT_BASE 0xfe000000 #define APB_VIRT_BASE IOMEM(0xfe000000)
#define APB_PHYS_SIZE 0x00200000 #define APB_PHYS_SIZE 0x00200000
#define AXI_PHYS_BASE 0xd4200000 #define AXI_PHYS_BASE 0xd4200000
#define AXI_VIRT_BASE 0xfe200000 #define AXI_VIRT_BASE IOMEM(0xfe200000)
#define AXI_PHYS_SIZE 0x00200000 #define AXI_PHYS_SIZE 0x00200000
/* Static Memory Controller - Chip Select 0 and 1 */ /* Static Memory Controller - Chip Select 0 and 1 */
......
...@@ -87,7 +87,8 @@ static struct mfp_addr_map mmp2_addr_map[] __initdata = { ...@@ -87,7 +87,8 @@ static struct mfp_addr_map mmp2_addr_map[] __initdata = {
void mmp2_clear_pmic_int(void) void mmp2_clear_pmic_int(void)
{ {
unsigned long mfpr_pmic, data; void __iomem *mfpr_pmic;
unsigned long data;
mfpr_pmic = APB_VIRT_BASE + 0x1e000 + 0x2c4; mfpr_pmic = APB_VIRT_BASE + 0x1e000 + 0x2c4;
data = __raw_readl(mfpr_pmic); data = __raw_readl(mfpr_pmic);
......
...@@ -2,6 +2,27 @@ if ARCH_PXA ...@@ -2,6 +2,27 @@ if ARCH_PXA
menu "Intel PXA2xx/PXA3xx Implementations" menu "Intel PXA2xx/PXA3xx Implementations"
config ARCH_PXA_V7
bool "ARMv7 (PXA95x) based systems"
if ARCH_PXA_V7
comment "Marvell Dev Platforms (sorted by hardware release time)"
config MACH_TAVOREVB3
bool "PXA95x Development Platform (aka TavorEVB III)"
select CPU_PXA955
config MACH_SAARB
bool "PXA955 Handheld Platform (aka SAARB)"
select CPU_PXA955
endif
config PXA_V7_MACH_AUTO
def_bool y
depends on ARCH_PXA_V7
depends on !MACH_SAARB
select MACH_TAVOREVB3
if !ARCH_PXA_V7
comment "Intel/Marvell Dev Platforms (sorted by hardware release time)" comment "Intel/Marvell Dev Platforms (sorted by hardware release time)"
config ARCH_LUBBOCK config ARCH_LUBBOCK
...@@ -41,19 +62,11 @@ config MACH_TAVOREVB ...@@ -41,19 +62,11 @@ config MACH_TAVOREVB
select PXA3xx select PXA3xx
select CPU_PXA930 select CPU_PXA930
config MACH_TAVOREVB3
bool "PXA95x Development Platform (aka TavorEVB III)"
select CPU_PXA950
config MACH_SAAR config MACH_SAAR
bool "PXA930 Handheld Platform (aka SAAR)" bool "PXA930 Handheld Platform (aka SAAR)"
select PXA3xx select PXA3xx
select CPU_PXA930 select CPU_PXA930
config MACH_SAARB
bool "PXA955 Handheld Platform (aka SAARB)"
select CPU_PXA955
comment "Third Party Dev Platforms (sorted by vendor name)" comment "Third Party Dev Platforms (sorted by vendor name)"
config ARCH_PXA_IDP config ARCH_PXA_IDP
...@@ -414,6 +427,7 @@ config MACH_CENTRO ...@@ -414,6 +427,7 @@ config MACH_CENTRO
bool "Palm Centro 685 (GSM)" bool "Palm Centro 685 (GSM)"
default y default y
depends on ARCH_PXA_PALM depends on ARCH_PXA_PALM
select MACH_PALM27X
select PXA27x select PXA27x
select IWMMXT select IWMMXT
select PALM_TREO select PALM_TREO
...@@ -425,6 +439,7 @@ config MACH_TREO680 ...@@ -425,6 +439,7 @@ config MACH_TREO680
bool "Palm Treo 680" bool "Palm Treo 680"
default y default y
depends on ARCH_PXA_PALM depends on ARCH_PXA_PALM
select MACH_PALM27X
select PXA27x select PXA27x
select IWMMXT select IWMMXT
select PALM_TREO select PALM_TREO
...@@ -436,15 +451,18 @@ config MACH_RAUMFELD_RC ...@@ -436,15 +451,18 @@ config MACH_RAUMFELD_RC
bool "Raumfeld Controller" bool "Raumfeld Controller"
select PXA3xx select PXA3xx
select CPU_PXA300 select CPU_PXA300
select POWER_SUPPLY
select HAVE_PWM select HAVE_PWM
config MACH_RAUMFELD_CONNECTOR config MACH_RAUMFELD_CONNECTOR
bool "Raumfeld Connector" bool "Raumfeld Connector"
select POWER_SUPPLY
select PXA3xx select PXA3xx
select CPU_PXA300 select CPU_PXA300
config MACH_RAUMFELD_SPEAKER config MACH_RAUMFELD_SPEAKER
bool "Raumfeld Speaker" bool "Raumfeld Speaker"
select POWER_SUPPLY
select PXA3xx select PXA3xx
select CPU_PXA300 select CPU_PXA300
...@@ -598,7 +616,7 @@ config MACH_ZIPIT2 ...@@ -598,7 +616,7 @@ config MACH_ZIPIT2
bool "Zipit Z2 Handheld" bool "Zipit Z2 Handheld"
select PXA27x select PXA27x
select HAVE_PWM select HAVE_PWM
endif
endmenu endmenu
config PXA25x config PXA25x
...@@ -688,6 +706,8 @@ config SHARPSL_PM ...@@ -688,6 +706,8 @@ config SHARPSL_PM
config SHARPSL_PM_MAX1111 config SHARPSL_PM_MAX1111
bool bool
select HWMON select HWMON
select SPI
select SPI_MASTER
select SENSORS_MAX1111 select SENSORS_MAX1111
config PXA_HAVE_ISA_IRQS config PXA_HAVE_ISA_IRQS
......
...@@ -19,7 +19,7 @@ endif ...@@ -19,7 +19,7 @@ endif
obj-$(CONFIG_PXA25x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa25x.o obj-$(CONFIG_PXA25x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa25x.o
obj-$(CONFIG_PXA27x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa27x.o obj-$(CONFIG_PXA27x) += mfp-pxa2xx.o clock-pxa2xx.o pxa2xx.o pxa27x.o
obj-$(CONFIG_PXA3xx) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o smemc.o pxa3xx-ulpi.o obj-$(CONFIG_PXA3xx) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o smemc.o pxa3xx-ulpi.o
obj-$(CONFIG_PXA95x) += mfp-pxa3xx.o clock-pxa3xx.o pxa95x.o smemc.o obj-$(CONFIG_PXA95x) += mfp-pxa3xx.o clock-pxa3xx.o pxa3xx.o pxa95x.o smemc.o
obj-$(CONFIG_CPU_PXA300) += pxa300.o obj-$(CONFIG_CPU_PXA300) += pxa300.o
obj-$(CONFIG_CPU_PXA320) += pxa320.o obj-$(CONFIG_CPU_PXA320) += pxa320.o
obj-$(CONFIG_CPU_PXA930) += pxa930.o obj-$(CONFIG_CPU_PXA930) += pxa930.o
......
...@@ -591,7 +591,7 @@ static void balloon3_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ct ...@@ -591,7 +591,7 @@ static void balloon3_nand_cmd_ctl(struct mtd_info *mtd, int cmd, unsigned int ct
BALLOON3_NAND_CONTROL_REG); BALLOON3_NAND_CONTROL_REG);
if (balloon3_ctl_set) if (balloon3_ctl_set)
__raw_writel(balloon3_ctl_set, __raw_writel(balloon3_ctl_set,
BALLOON3_NAND_CONTROL_REG | BALLOON3_NAND_CONTROL_REG +
BALLOON3_FPGA_SETnCLR); BALLOON3_FPGA_SETnCLR);
} }
...@@ -608,7 +608,7 @@ static void balloon3_nand_select_chip(struct mtd_info *mtd, int chip) ...@@ -608,7 +608,7 @@ static void balloon3_nand_select_chip(struct mtd_info *mtd, int chip)
__raw_writew( __raw_writew(
BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 | BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 |
BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3, BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3,
BALLOON3_NAND_CONTROL_REG | BALLOON3_FPGA_SETnCLR); BALLOON3_NAND_CONTROL_REG + BALLOON3_FPGA_SETnCLR);
/* Deassert correct nCE line */ /* Deassert correct nCE line */
__raw_writew(BALLOON3_NAND_CONTROL_FLCE0 << chip, __raw_writew(BALLOON3_NAND_CONTROL_FLCE0 << chip,
...@@ -626,7 +626,7 @@ static int balloon3_nand_probe(struct platform_device *pdev) ...@@ -626,7 +626,7 @@ static int balloon3_nand_probe(struct platform_device *pdev)
int ret; int ret;
__raw_writew(BALLOON3_NAND_CONTROL2_16BIT, __raw_writew(BALLOON3_NAND_CONTROL2_16BIT,
BALLOON3_NAND_CONTROL2_REG | BALLOON3_FPGA_SETnCLR); BALLOON3_NAND_CONTROL2_REG + BALLOON3_FPGA_SETnCLR);
ver = __raw_readw(BALLOON3_FPGA_VER); ver = __raw_readw(BALLOON3_FPGA_VER);
if (ver < 0x4f08) if (ver < 0x4f08)
...@@ -649,7 +649,7 @@ static int balloon3_nand_probe(struct platform_device *pdev) ...@@ -649,7 +649,7 @@ static int balloon3_nand_probe(struct platform_device *pdev)
BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 | BALLOON3_NAND_CONTROL_FLCE0 | BALLOON3_NAND_CONTROL_FLCE1 |
BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3 | BALLOON3_NAND_CONTROL_FLCE2 | BALLOON3_NAND_CONTROL_FLCE3 |
BALLOON3_NAND_CONTROL_FLWP, BALLOON3_NAND_CONTROL_FLWP,
BALLOON3_NAND_CONTROL_REG | BALLOON3_FPGA_SETnCLR); BALLOON3_NAND_CONTROL_REG + BALLOON3_FPGA_SETnCLR);
return 0; return 0;
err2: err2:
...@@ -807,7 +807,7 @@ static void __init balloon3_init(void) ...@@ -807,7 +807,7 @@ static void __init balloon3_init(void)
static struct map_desc balloon3_io_desc[] __initdata = { static struct map_desc balloon3_io_desc[] __initdata = {
{ /* CPLD/FPGA */ { /* CPLD/FPGA */
.virtual = BALLOON3_FPGA_VIRT, .virtual = (unsigned long)BALLOON3_FPGA_VIRT,
.pfn = __phys_to_pfn(BALLOON3_FPGA_PHYS), .pfn = __phys_to_pfn(BALLOON3_FPGA_PHYS),
.length = BALLOON3_FPGA_LENGTH, .length = BALLOON3_FPGA_LENGTH,
.type = MT_DEVICE, .type = MT_DEVICE,
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
#include <asm/hardware/it8152.h> #include <asm/hardware/it8152.h>
unsigned long it8152_base_address; void __iomem *it8152_base_address;
static int cmx2xx_it8152_irq_gpio; static int cmx2xx_it8152_irq_gpio;
static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc) static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
......
...@@ -39,7 +39,7 @@ extern void cmx270_init(void); ...@@ -39,7 +39,7 @@ extern void cmx270_init(void);
#define CMX2XX_NR_IRQS (IRQ_BOARD_START + 40) #define CMX2XX_NR_IRQS (IRQ_BOARD_START + 40)
/* virtual addresses for statically mapped regions */ /* virtual addresses for statically mapped regions */
#define CMX2XX_VIRT_BASE (0xe8000000) #define CMX2XX_VIRT_BASE (void __iomem *)(0xe8000000)
#define CMX2XX_IT8152_VIRT (CMX2XX_VIRT_BASE) #define CMX2XX_IT8152_VIRT (CMX2XX_VIRT_BASE)
/* physical address if local-bus attached devices */ /* physical address if local-bus attached devices */
...@@ -482,7 +482,7 @@ static void __init cmx2xx_init_irq(void) ...@@ -482,7 +482,7 @@ static void __init cmx2xx_init_irq(void)
/* Map PCI companion statically */ /* Map PCI companion statically */
static struct map_desc cmx2xx_io_desc[] __initdata = { static struct map_desc cmx2xx_io_desc[] __initdata = {
[0] = { /* PCI bridge */ [0] = { /* PCI bridge */
.virtual = CMX2XX_IT8152_VIRT, .virtual = (unsigned long)CMX2XX_IT8152_VIRT,
.pfn = __phys_to_pfn(PXA_CS4_PHYS), .pfn = __phys_to_pfn(PXA_CS4_PHYS),
.length = SZ_64M, .length = SZ_64M,
.type = MT_DEVICE .type = MT_DEVICE
......
...@@ -775,7 +775,6 @@ static struct gpio cm_x300_wi2wi_gpios[] __initdata = { ...@@ -775,7 +775,6 @@ static struct gpio cm_x300_wi2wi_gpios[] __initdata = {
static void __init cm_x300_init_wi2wi(void) static void __init cm_x300_init_wi2wi(void)
{ {
int bt_reset, wlan_en;
int err; int err;
if (system_rev < 130) { if (system_rev < 130) {
...@@ -791,12 +790,11 @@ static void __init cm_x300_init_wi2wi(void) ...@@ -791,12 +790,11 @@ static void __init cm_x300_init_wi2wi(void)
} }
udelay(10); udelay(10);
gpio_set_value(bt_reset, 0); gpio_set_value(cm_x300_wi2wi_gpios[1].gpio, 0);
udelay(10); udelay(10);
gpio_set_value(bt_reset, 1); gpio_set_value(cm_x300_wi2wi_gpios[1].gpio, 1);
gpio_free(wlan_en); gpio_free_array(ARRAY_AND_SIZE(cm_x300_wi2wi_gpios));
gpio_free(bt_reset);
} }
/* MFP */ /* MFP */
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
* Peripheral Bus * Peripheral Bus
*/ */
#define PERIPH_PHYS 0x40000000 #define PERIPH_PHYS 0x40000000
#define PERIPH_VIRT 0xf2000000 #define PERIPH_VIRT IOMEM(0xf2000000)
#define PERIPH_SIZE 0x02000000 #define PERIPH_SIZE 0x02000000
/* /*
...@@ -28,21 +28,21 @@ ...@@ -28,21 +28,21 @@
*/ */
#define PXA2XX_SMEMC_PHYS 0x48000000 #define PXA2XX_SMEMC_PHYS 0x48000000
#define PXA3XX_SMEMC_PHYS 0x4a000000 #define PXA3XX_SMEMC_PHYS 0x4a000000
#define SMEMC_VIRT 0xf6000000 #define SMEMC_VIRT IOMEM(0xf6000000)
#define SMEMC_SIZE 0x00100000 #define SMEMC_SIZE 0x00100000
/* /*
* Dynamic Memory Controller (only on PXA3xx) * Dynamic Memory Controller (only on PXA3xx)
*/ */
#define DMEMC_PHYS 0x48100000 #define DMEMC_PHYS 0x48100000
#define DMEMC_VIRT 0xf6100000 #define DMEMC_VIRT IOMEM(0xf6100000)
#define DMEMC_SIZE 0x00100000 #define DMEMC_SIZE 0x00100000
/* /*
* Internal Memory Controller (PXA27x and later) * Internal Memory Controller (PXA27x and later)
*/ */
#define IMEMC_PHYS 0x58000000 #define IMEMC_PHYS 0x58000000
#define IMEMC_VIRT 0xfe000000 #define IMEMC_VIRT IOMEM(0xfe000000)
#define IMEMC_SIZE 0x00100000 #define IMEMC_SIZE 0x00100000
#endif /* __ASM_MACH_ADDR_MAP_H */ #endif /* __ASM_MACH_ADDR_MAP_H */
...@@ -23,7 +23,7 @@ enum balloon3_features { ...@@ -23,7 +23,7 @@ enum balloon3_features {
}; };
#define BALLOON3_FPGA_PHYS PXA_CS4_PHYS #define BALLOON3_FPGA_PHYS PXA_CS4_PHYS
#define BALLOON3_FPGA_VIRT (0xf1000000) /* as per balloon2 */ #define BALLOON3_FPGA_VIRT IOMEM(0xf1000000) /* as per balloon2 */
#define BALLOON3_FPGA_LENGTH 0x01000000 #define BALLOON3_FPGA_LENGTH 0x01000000
#define BALLOON3_FPGA_SETnCLR (0x1000) #define BALLOON3_FPGA_SETnCLR (0x1000)
......
...@@ -36,22 +36,23 @@ ...@@ -36,22 +36,23 @@
* Note that not all PXA2xx chips implement all those addresses, and the * Note that not all PXA2xx chips implement all those addresses, and the
* kernel only maps the minimum needed range of this mapping. * kernel only maps the minimum needed range of this mapping.
*/ */
#define io_p2v(x) (0xf2000000 + ((x) & 0x01ffffff) + (((x) & 0x1c000000) >> 1))
#define io_v2p(x) (0x3c000000 + ((x) & 0x01ffffff) + (((x) & 0x0e000000) << 1)) #define io_v2p(x) (0x3c000000 + ((x) & 0x01ffffff) + (((x) & 0x0e000000) << 1))
#define io_p2v(x) IOMEM(0xf2000000 + ((x) & 0x01ffffff) + (((x) & 0x1c000000) >> 1))
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
# define IOMEM(x) ((void __iomem *)(x))
# define __REG(x) (*((volatile u32 *)io_p2v(x))) # define __REG(x) (*((volatile u32 __iomem *)io_p2v(x)))
/* With indexed regs we don't want to feed the index through io_p2v() /* With indexed regs we don't want to feed the index through io_p2v()
especially if it is a variable, otherwise horrible code will result. */ especially if it is a variable, otherwise horrible code will result. */
# define __REG2(x,y) \ # define __REG2(x,y) \
(*(volatile u32 *)((u32)&__REG(x) + (y))) (*(volatile u32 __iomem*)((u32)&__REG(x) + (y)))
# define __PREG(x) (io_v2p((u32)&(x))) # define __PREG(x) (io_v2p((u32)&(x)))
#else #else
# define IOMEM(x) x
# define __REG(x) io_p2v(x) # define __REG(x) io_p2v(x)
# define __PREG(x) io_v2p(x) # define __PREG(x) io_v2p(x)
......
...@@ -13,13 +13,13 @@ ...@@ -13,13 +13,13 @@
#define __ASM_ARCH_LPD270_H #define __ASM_ARCH_LPD270_H
#define LPD270_CPLD_PHYS PXA_CS2_PHYS #define LPD270_CPLD_PHYS PXA_CS2_PHYS
#define LPD270_CPLD_VIRT 0xf0000000 #define LPD270_CPLD_VIRT IOMEM(0xf0000000)
#define LPD270_CPLD_SIZE 0x00100000 #define LPD270_CPLD_SIZE 0x00100000
#define LPD270_ETH_PHYS (PXA_CS2_PHYS + 0x01000000) #define LPD270_ETH_PHYS (PXA_CS2_PHYS + 0x01000000)
/* CPLD registers */ /* CPLD registers */
#define LPD270_CPLD_REG(x) ((unsigned long)(LPD270_CPLD_VIRT + (x))) #define LPD270_CPLD_REG(x) (LPD270_CPLD_VIRT + (x))
#define LPD270_CONTROL LPD270_CPLD_REG(0x00) #define LPD270_CONTROL LPD270_CPLD_REG(0x00)
#define LPD270_PERIPHERAL0 LPD270_CPLD_REG(0x04) #define LPD270_PERIPHERAL0 LPD270_CPLD_REG(0x04)
#define LPD270_PERIPHERAL1 LPD270_CPLD_REG(0x08) #define LPD270_PERIPHERAL1 LPD270_CPLD_REG(0x08)
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#define __ARCH_PXA_MTD_XIP_H__ #define __ARCH_PXA_MTD_XIP_H__
#include <mach/regs-ost.h> #include <mach/regs-ost.h>
#include <mach/regs-intc.h>
#define xip_irqpending() (ICIP & ICMR) #define xip_irqpending() (ICIP & ICMR)
......
...@@ -34,7 +34,7 @@ extern struct pxafb_mode_info palm_320x320_new_lcd_mode; ...@@ -34,7 +34,7 @@ extern struct pxafb_mode_info palm_320x320_new_lcd_mode;
extern void __init palm27x_lcd_init(int power, extern void __init palm27x_lcd_init(int power,
struct pxafb_mode_info *mode); struct pxafb_mode_info *mode);
#else #else
static inline void palm27x_lcd_init(int power, struct pxafb_mode_info *mode) {} #define palm27x_lcd_init(power, mode) do {} while (0)
#endif #endif
#if defined(CONFIG_USB_GADGET_PXA27X) || \ #if defined(CONFIG_USB_GADGET_PXA27X) || \
......
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
/* Various addresses */ /* Various addresses */
#define PALMTX_PCMCIA_PHYS 0x28000000 #define PALMTX_PCMCIA_PHYS 0x28000000
#define PALMTX_PCMCIA_VIRT 0xf0000000 #define PALMTX_PCMCIA_VIRT IOMEM(0xf0000000)
#define PALMTX_PCMCIA_SIZE 0x100000 #define PALMTX_PCMCIA_SIZE 0x100000
#define PALMTX_PHYS_RAM_START 0xa0000000 #define PALMTX_PHYS_RAM_START 0xa0000000
...@@ -84,8 +84,8 @@ ...@@ -84,8 +84,8 @@
#define PALMTX_NAND_ALE_PHYS (PALMTX_PHYS_NAND_START | (1 << 24)) #define PALMTX_NAND_ALE_PHYS (PALMTX_PHYS_NAND_START | (1 << 24))
#define PALMTX_NAND_CLE_PHYS (PALMTX_PHYS_NAND_START | (1 << 25)) #define PALMTX_NAND_CLE_PHYS (PALMTX_PHYS_NAND_START | (1 << 25))
#define PALMTX_NAND_ALE_VIRT 0xff100000 #define PALMTX_NAND_ALE_VIRT IOMEM(0xff100000)
#define PALMTX_NAND_CLE_VIRT 0xff200000 #define PALMTX_NAND_CLE_VIRT IOMEM(0xff200000)
/* TOUCHSCREEN */ /* TOUCHSCREEN */
#define AC97_LINK_FRAME 21 #define AC97_LINK_FRAME 21
......
#ifndef __MACH_PXA27x_H #ifndef __MACH_PXA27x_H
#define __MACH_PXA27x_H #define __MACH_PXA27x_H
#include <linux/suspend.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/pxa2xx-regs.h> #include <mach/pxa2xx-regs.h>
#include <mach/mfp-pxa27x.h> #include <mach/mfp-pxa27x.h>
...@@ -21,6 +22,7 @@ ...@@ -21,6 +22,7 @@
extern void __init pxa27x_map_io(void); extern void __init pxa27x_map_io(void);
extern void __init pxa27x_init_irq(void); extern void __init pxa27x_init_irq(void);
extern int __init pxa27x_set_pwrmode(unsigned int mode); extern int __init pxa27x_set_pwrmode(unsigned int mode);
extern void pxa27x_cpu_pm_enter(suspend_state_t state);
#define pxa27x_handle_irq ichp_handle_irq #define pxa27x_handle_irq ichp_handle_irq
......
#ifndef __MACH_PXA95X_H
#define __MACH_PXA95X_H
#include <mach/pxa3xx.h>
#include <mach/mfp-pxa930.h>
#endif /* __MACH_PXA95X_H */
...@@ -158,5 +158,18 @@ struct pxafb_mach_info { ...@@ -158,5 +158,18 @@ struct pxafb_mach_info {
void pxa_set_fb_info(struct device *, struct pxafb_mach_info *); void pxa_set_fb_info(struct device *, struct pxafb_mach_info *);
unsigned long pxafb_get_hsync_time(struct device *dev); unsigned long pxafb_get_hsync_time(struct device *dev);
#ifdef CONFIG_FB_PXA_SMARTPANEL
extern int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int); extern int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int);
extern int pxafb_smart_flush(struct fb_info *info); extern int pxafb_smart_flush(struct fb_info *info);
#else
static inline int pxafb_smart_queue(struct fb_info *info,
uint16_t *cmds, int n)
{
return 0;
}
static inline int pxafb_smart_flush(struct fb_info *info)
{
return 0;
}
#endif
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
#define PXA2XX_SMEMC_BASE 0x48000000 #define PXA2XX_SMEMC_BASE 0x48000000
#define PXA3XX_SMEMC_BASE 0x4a000000 #define PXA3XX_SMEMC_BASE 0x4a000000
#define SMEMC_VIRT 0xf6000000 #define SMEMC_VIRT IOMEM(0xf6000000)
#define MDCNFG (SMEMC_VIRT + 0x00) /* SDRAM Configuration Register 0 */ #define MDCNFG (SMEMC_VIRT + 0x00) /* SDRAM Configuration Register 0 */
#define MDREFR (SMEMC_VIRT + 0x04) /* SDRAM Refresh Control Register */ #define MDREFR (SMEMC_VIRT + 0x04) /* SDRAM Refresh Control Register */
......
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
* Be gentle, and remap that over 32kB... * Be gentle, and remap that over 32kB...
*/ */
#define ZEUS_CPLD (0xf0000000) #define ZEUS_CPLD IOMEM(0xf0000000)
#define ZEUS_CPLD_VERSION (ZEUS_CPLD + 0x0000) #define ZEUS_CPLD_VERSION (ZEUS_CPLD + 0x0000)
#define ZEUS_CPLD_ISA_IRQ (ZEUS_CPLD + 0x1000) #define ZEUS_CPLD_ISA_IRQ (ZEUS_CPLD + 0x1000)
#define ZEUS_CPLD_CONTROL (ZEUS_CPLD + 0x2000) #define ZEUS_CPLD_CONTROL (ZEUS_CPLD + 0x2000)
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
/* CPLD register bits */ /* CPLD register bits */
#define ZEUS_CPLD_CONTROL_CF_RST 0x01 #define ZEUS_CPLD_CONTROL_CF_RST 0x01
#define ZEUS_PC104IO (0xf1000000) #define ZEUS_PC104IO IOMEM(0xf1000000)
#define ZEUS_SRAM_SIZE (256 * 1024) #define ZEUS_SRAM_SIZE (256 * 1024)
......
...@@ -19,7 +19,7 @@ extern int wm9713_irq; ...@@ -19,7 +19,7 @@ extern int wm9713_irq;
extern int lcd_id; extern int lcd_id;
extern int lcd_orientation; extern int lcd_orientation;
#ifdef CONFIG_CPU_PXA300 #ifdef CONFIG_MACH_ZYLONITE300
extern void zylonite_pxa300_init(void); extern void zylonite_pxa300_init(void);
#else #else
static inline void zylonite_pxa300_init(void) static inline void zylonite_pxa300_init(void)
...@@ -29,7 +29,7 @@ static inline void zylonite_pxa300_init(void) ...@@ -29,7 +29,7 @@ static inline void zylonite_pxa300_init(void)
} }
#endif #endif
#ifdef CONFIG_CPU_PXA320 #ifdef CONFIG_MACH_ZYLONITE320
extern void zylonite_pxa320_init(void); extern void zylonite_pxa320_init(void);
#else #else
static inline void zylonite_pxa320_init(void) static inline void zylonite_pxa320_init(void)
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#include "generic.h" #include "generic.h"
#define IRQ_BASE (void __iomem *)io_p2v(0x40d00000) #define IRQ_BASE io_p2v(0x40d00000)
#define ICIP (0x000) #define ICIP (0x000)
#define ICMR (0x004) #define ICMR (0x004)
...@@ -63,7 +63,7 @@ static inline void __iomem *irq_base(int i) ...@@ -63,7 +63,7 @@ static inline void __iomem *irq_base(int i)
0x40d00130, 0x40d00130,
}; };
return (void __iomem *)io_p2v(phys_base[i]); return io_p2v(phys_base[i]);
} }
void pxa_mask_irq(struct irq_data *d) void pxa_mask_irq(struct irq_data *d)
......
...@@ -480,7 +480,7 @@ static void __init lpd270_init(void) ...@@ -480,7 +480,7 @@ static void __init lpd270_init(void)
static struct map_desc lpd270_io_desc[] __initdata = { static struct map_desc lpd270_io_desc[] __initdata = {
{ {
.virtual = LPD270_CPLD_VIRT, .virtual = (unsigned long)LPD270_CPLD_VIRT,
.pfn = __phys_to_pfn(LPD270_CPLD_PHYS), .pfn = __phys_to_pfn(LPD270_CPLD_PHYS),
.length = LPD270_CPLD_SIZE, .length = LPD270_CPLD_SIZE,
.type = MT_DEVICE, .type = MT_DEVICE,
......
...@@ -423,6 +423,7 @@ static void __init palmphone_common_init(void) ...@@ -423,6 +423,7 @@ static void __init palmphone_common_init(void)
palmtreo_leds_init(); palmtreo_leds_init();
} }
#ifdef CONFIG_MACH_TREO680
static void __init treo680_init(void) static void __init treo680_init(void)
{ {
pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(treo680_pin_config));
...@@ -430,7 +431,9 @@ static void __init treo680_init(void) ...@@ -430,7 +431,9 @@ static void __init treo680_init(void)
palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY, palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, GPIO_NR_TREO680_SD_READONLY,
GPIO_NR_TREO680_SD_POWER, 0); GPIO_NR_TREO680_SD_POWER, 0);
} }
#endif
#ifdef CONFIG_MACH_CENTRO
static void __init centro_init(void) static void __init centro_init(void)
{ {
pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(centro685_pin_config));
...@@ -438,7 +441,9 @@ static void __init centro_init(void) ...@@ -438,7 +441,9 @@ static void __init centro_init(void)
palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, -1, palm27x_mmc_init(GPIO_NR_TREO_SD_DETECT_N, -1,
GPIO_NR_CENTRO_SD_POWER, 1); GPIO_NR_CENTRO_SD_POWER, 1);
} }
#endif
#ifdef CONFIG_MACH_TREO680
MACHINE_START(TREO680, "Palm Treo 680") MACHINE_START(TREO680, "Palm Treo 680")
.boot_params = 0xa0000100, .boot_params = 0xa0000100,
.map_io = pxa27x_map_io, .map_io = pxa27x_map_io,
...@@ -448,7 +453,9 @@ MACHINE_START(TREO680, "Palm Treo 680") ...@@ -448,7 +453,9 @@ MACHINE_START(TREO680, "Palm Treo 680")
.timer = &pxa_timer, .timer = &pxa_timer,
.init_machine = treo680_init, .init_machine = treo680_init,
MACHINE_END MACHINE_END
#endif
#ifdef CONFIG_MACH_CENTRO
MACHINE_START(CENTRO, "Palm Centro 685") MACHINE_START(CENTRO, "Palm Centro 685")
.boot_params = 0xa0000100, .boot_params = 0xa0000100,
.map_io = pxa27x_map_io, .map_io = pxa27x_map_io,
...@@ -458,3 +465,4 @@ MACHINE_START(CENTRO, "Palm Centro 685") ...@@ -458,3 +465,4 @@ MACHINE_START(CENTRO, "Palm Centro 685")
.timer = &pxa_timer, .timer = &pxa_timer,
.init_machine = centro_init, .init_machine = centro_init,
MACHINE_END MACHINE_END
#endif
...@@ -247,7 +247,7 @@ static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd, ...@@ -247,7 +247,7 @@ static void palmtx_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
unsigned int ctrl) unsigned int ctrl)
{ {
struct nand_chip *this = mtd->priv; struct nand_chip *this = mtd->priv;
unsigned long nandaddr = (unsigned long)this->IO_ADDR_W; char __iomem *nandaddr = this->IO_ADDR_W;
if (cmd == NAND_CMD_NONE) if (cmd == NAND_CMD_NONE)
return; return;
...@@ -315,17 +315,17 @@ static inline void palmtx_nand_init(void) {} ...@@ -315,17 +315,17 @@ static inline void palmtx_nand_init(void) {}
******************************************************************************/ ******************************************************************************/
static struct map_desc palmtx_io_desc[] __initdata = { static struct map_desc palmtx_io_desc[] __initdata = {
{ {
.virtual = PALMTX_PCMCIA_VIRT, .virtual = (unsigned long)PALMTX_PCMCIA_VIRT,
.pfn = __phys_to_pfn(PALMTX_PCMCIA_PHYS), .pfn = __phys_to_pfn(PALMTX_PCMCIA_PHYS),
.length = PALMTX_PCMCIA_SIZE, .length = PALMTX_PCMCIA_SIZE,
.type = MT_DEVICE, .type = MT_DEVICE,
}, { }, {
.virtual = PALMTX_NAND_ALE_VIRT, .virtual = (unsigned long)PALMTX_NAND_ALE_VIRT,
.pfn = __phys_to_pfn(PALMTX_NAND_ALE_PHYS), .pfn = __phys_to_pfn(PALMTX_NAND_ALE_PHYS),
.length = SZ_1M, .length = SZ_1M,
.type = MT_DEVICE, .type = MT_DEVICE,
}, { }, {
.virtual = PALMTX_NAND_CLE_VIRT, .virtual = (unsigned long)PALMTX_NAND_CLE_VIRT,
.pfn = __phys_to_pfn(PALMTX_NAND_CLE_PHYS), .pfn = __phys_to_pfn(PALMTX_NAND_CLE_PHYS),
.length = SZ_1M, .length = SZ_1M,
.type = MT_DEVICE, .type = MT_DEVICE,
......
...@@ -324,7 +324,7 @@ void __init pxa26x_init_irq(void) ...@@ -324,7 +324,7 @@ void __init pxa26x_init_irq(void)
static struct map_desc pxa25x_io_desc[] __initdata = { static struct map_desc pxa25x_io_desc[] __initdata = {
{ /* Mem Ctl */ { /* Mem Ctl */
.virtual = SMEMC_VIRT, .virtual = (unsigned long)SMEMC_VIRT,
.pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE), .pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE),
.length = 0x00200000, .length = 0x00200000,
.type = MT_DEVICE .type = MT_DEVICE
......
...@@ -390,7 +390,7 @@ void __init pxa27x_init_irq(void) ...@@ -390,7 +390,7 @@ void __init pxa27x_init_irq(void)
static struct map_desc pxa27x_io_desc[] __initdata = { static struct map_desc pxa27x_io_desc[] __initdata = {
{ /* Mem Ctl */ { /* Mem Ctl */
.virtual = SMEMC_VIRT, .virtual = (unsigned long)SMEMC_VIRT,
.pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE), .pfn = __phys_to_pfn(PXA2XX_SMEMC_BASE),
.length = 0x00200000, .length = 0x00200000,
.type = MT_DEVICE .type = MT_DEVICE
......
...@@ -265,6 +265,7 @@ int pxa3xx_u2d_start_hc(struct usb_bus *host) ...@@ -265,6 +265,7 @@ int pxa3xx_u2d_start_hc(struct usb_bus *host)
return err; return err;
} }
EXPORT_SYMBOL_GPL(pxa3xx_u2d_start_hc);
void pxa3xx_u2d_stop_hc(struct usb_bus *host) void pxa3xx_u2d_stop_hc(struct usb_bus *host)
{ {
...@@ -277,6 +278,7 @@ void pxa3xx_u2d_stop_hc(struct usb_bus *host) ...@@ -277,6 +278,7 @@ void pxa3xx_u2d_stop_hc(struct usb_bus *host)
clk_disable(u2d->clk); clk_disable(u2d->clk);
} }
EXPORT_SYMBOL_GPL(pxa3xx_u2d_stop_hc);
static int pxa3xx_u2d_probe(struct platform_device *pdev) static int pxa3xx_u2d_probe(struct platform_device *pdev)
{ {
......
...@@ -394,7 +394,7 @@ void __init pxa3xx_init_irq(void) ...@@ -394,7 +394,7 @@ void __init pxa3xx_init_irq(void)
static struct map_desc pxa3xx_io_desc[] __initdata = { static struct map_desc pxa3xx_io_desc[] __initdata = {
{ /* Mem Ctl */ { /* Mem Ctl */
.virtual = SMEMC_VIRT, .virtual = (unsigned long)SMEMC_VIRT,
.pfn = __phys_to_pfn(PXA3XX_SMEMC_BASE), .pfn = __phys_to_pfn(PXA3XX_SMEMC_BASE),
.length = 0x00200000, .length = 0x00200000,
.type = MT_DEVICE .type = MT_DEVICE
......
...@@ -21,9 +21,8 @@ ...@@ -21,9 +21,8 @@
#include <mach/irqs.h> #include <mach/irqs.h>
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/mfp.h>
#include <mach/mfp-pxa930.h>
#include <mach/gpio.h> #include <mach/gpio.h>
#include <mach/pxa95x.h>
#include "generic.h" #include "generic.h"
......
...@@ -686,7 +686,8 @@ static void z2_power_off(void) ...@@ -686,7 +686,8 @@ static void z2_power_off(void)
*/ */
PSPR = 0x0; PSPR = 0x0;
local_irq_disable(); local_irq_disable();
pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP, PLAT_PHYS_OFFSET - PAGE_OFFSET); pxa27x_set_pwrmode(PWRMODE_DEEPSLEEP);
pxa27x_cpu_pm_enter(PM_SUSPEND_MEM);
} }
#else #else
#define z2_power_off NULL #define z2_power_off NULL
......
...@@ -860,25 +860,25 @@ static void __init zeus_init(void) ...@@ -860,25 +860,25 @@ static void __init zeus_init(void)
static struct map_desc zeus_io_desc[] __initdata = { static struct map_desc zeus_io_desc[] __initdata = {
{ {
.virtual = ZEUS_CPLD_VERSION, .virtual = (unsigned long)ZEUS_CPLD_VERSION,
.pfn = __phys_to_pfn(ZEUS_CPLD_VERSION_PHYS), .pfn = __phys_to_pfn(ZEUS_CPLD_VERSION_PHYS),
.length = 0x1000, .length = 0x1000,
.type = MT_DEVICE, .type = MT_DEVICE,
}, },
{ {
.virtual = ZEUS_CPLD_ISA_IRQ, .virtual = (unsigned long)ZEUS_CPLD_ISA_IRQ,
.pfn = __phys_to_pfn(ZEUS_CPLD_ISA_IRQ_PHYS), .pfn = __phys_to_pfn(ZEUS_CPLD_ISA_IRQ_PHYS),
.length = 0x1000, .length = 0x1000,
.type = MT_DEVICE, .type = MT_DEVICE,
}, },
{ {
.virtual = ZEUS_CPLD_CONTROL, .virtual = (unsigned long)ZEUS_CPLD_CONTROL,
.pfn = __phys_to_pfn(ZEUS_CPLD_CONTROL_PHYS), .pfn = __phys_to_pfn(ZEUS_CPLD_CONTROL_PHYS),
.length = 0x1000, .length = 0x1000,
.type = MT_DEVICE, .type = MT_DEVICE,
}, },
{ {
.virtual = ZEUS_PC104IO, .virtual = (unsigned long)ZEUS_PC104IO,
.pfn = __phys_to_pfn(ZEUS_PC104IO_PHYS), .pfn = __phys_to_pfn(ZEUS_PC104IO_PHYS),
.length = 0x00800000, .length = 0x00800000,
.type = MT_DEVICE, .type = MT_DEVICE,
......
...@@ -122,7 +122,7 @@ static int __init pxa_init_gpio_chip(int gpio_end) ...@@ -122,7 +122,7 @@ static int __init pxa_init_gpio_chip(int gpio_end)
struct gpio_chip *c = &chips[i].chip; struct gpio_chip *c = &chips[i].chip;
sprintf(chips[i].label, "gpio-%d", i); sprintf(chips[i].label, "gpio-%d", i);
chips[i].regbase = (void __iomem *)GPIO_BANK(i); chips[i].regbase = GPIO_BANK(i);
c->base = gpio; c->base = gpio;
c->label = chips[i].label; c->label = chips[i].label;
......
...@@ -456,7 +456,7 @@ struct mfp_addr_map { ...@@ -456,7 +456,7 @@ struct mfp_addr_map {
#define MFP_ADDR_END { MFP_PIN_INVALID, 0 } #define MFP_ADDR_END { MFP_PIN_INVALID, 0 }
void __init mfp_init_base(unsigned long mfpr_base); void __init mfp_init_base(void __iomem *mfpr_base);
void __init mfp_init_addr(struct mfp_addr_map *map); void __init mfp_init_addr(struct mfp_addr_map *map);
/* /*
......
...@@ -229,7 +229,7 @@ void mfp_write(int mfp, unsigned long val) ...@@ -229,7 +229,7 @@ void mfp_write(int mfp, unsigned long val)
spin_unlock_irqrestore(&mfp_spin_lock, flags); spin_unlock_irqrestore(&mfp_spin_lock, flags);
} }
void __init mfp_init_base(unsigned long mfpr_base) void __init mfp_init_base(void __iomem *mfpr_base)
{ {
int i; int i;
...@@ -237,7 +237,7 @@ void __init mfp_init_base(unsigned long mfpr_base) ...@@ -237,7 +237,7 @@ void __init mfp_init_base(unsigned long mfpr_base)
for (i = 0; i < ARRAY_SIZE(mfp_table); i++) for (i = 0; i < ARRAY_SIZE(mfp_table); i++)
mfp_table[i].config = -1; mfp_table[i].config = -1;
mfpr_mmio_base = (void __iomem *)mfpr_base; mfpr_mmio_base = mfpr_base;
} }
void __init mfp_init_addr(struct mfp_addr_map *map) void __init mfp_init_addr(struct mfp_addr_map *map)
......
...@@ -97,7 +97,7 @@ static void balloon3_pcmcia_socket_state(struct soc_pcmcia_socket *skt, ...@@ -97,7 +97,7 @@ static void balloon3_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
static int balloon3_pcmcia_configure_socket(struct soc_pcmcia_socket *skt, static int balloon3_pcmcia_configure_socket(struct soc_pcmcia_socket *skt,
const socket_state_t *state) const socket_state_t *state)
{ {
__raw_writew(BALLOON3_CF_RESET, BALLOON3_CF_CONTROL_REG | __raw_writew(BALLOON3_CF_RESET, BALLOON3_CF_CONTROL_REG +
((state->flags & SS_RESET) ? ((state->flags & SS_RESET) ?
BALLOON3_FPGA_SETnCLR : 0)); BALLOON3_FPGA_SETnCLR : 0));
return 0; return 0;
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
#include "regs.h" #include "regs.h"
#include "reg_bits.h" #include "reg_bits.h"
static unsigned long virt_base_2700; static void __iomem *virt_base_2700;
#define write_reg(val, reg) do { writel((val), (reg)); } while(0) #define write_reg(val, reg) do { writel((val), (reg)); } while(0)
...@@ -850,7 +850,7 @@ static int mbxfb_suspend(struct platform_device *dev, pm_message_t state) ...@@ -850,7 +850,7 @@ static int mbxfb_suspend(struct platform_device *dev, pm_message_t state)
{ {
/* make frame buffer memory enter self-refresh mode */ /* make frame buffer memory enter self-refresh mode */
write_reg_dly(LMPWR_MC_PWR_SRM, LMPWR); write_reg_dly(LMPWR_MC_PWR_SRM, LMPWR);
while (LMPWRSTAT != LMPWRSTAT_MC_PWR_SRM) while (readl(LMPWRSTAT) != LMPWRSTAT_MC_PWR_SRM)
; /* empty statement */ ; /* empty statement */
/* reset the device, since it's initial state is 'mostly sleeping' */ /* reset the device, since it's initial state is 'mostly sleeping' */
...@@ -946,7 +946,7 @@ static int __devinit mbxfb_probe(struct platform_device *dev) ...@@ -946,7 +946,7 @@ static int __devinit mbxfb_probe(struct platform_device *dev)
ret = -EINVAL; ret = -EINVAL;
goto err3; goto err3;
} }
virt_base_2700 = (unsigned long)mfbi->reg_virt_addr; virt_base_2700 = mfbi->reg_virt_addr;
mfbi->fb_virt_addr = ioremap_nocache(mfbi->fb_phys_addr, mfbi->fb_virt_addr = ioremap_nocache(mfbi->fb_phys_addr,
res_size(mfbi->fb_req)); res_size(mfbi->fb_req));
......
...@@ -1309,16 +1309,6 @@ static int pxafb_smart_init(struct pxafb_info *fbi) ...@@ -1309,16 +1309,6 @@ static int pxafb_smart_init(struct pxafb_info *fbi)
return 0; return 0;
} }
#else #else
int pxafb_smart_queue(struct fb_info *info, uint16_t *cmds, int n_cmds)
{
return 0;
}
int pxafb_smart_flush(struct fb_info *info)
{
return 0;
}
static inline int pxafb_smart_init(struct pxafb_info *fbi) { return 0; } static inline int pxafb_smart_init(struct pxafb_info *fbi) { return 0; }
#endif /* CONFIG_FB_PXA_SMARTPANEL */ #endif /* CONFIG_FB_PXA_SMARTPANEL */
......
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