Commit 68e24ba7 authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'next/fixes' of git://git.linaro.org/people/arnd/arm-soc

* 'next/fixes' of git://git.linaro.org/people/arnd/arm-soc: (28 commits)
  ARM: pxa/cm-x300: properly set bt_reset pin
  ARM: mmp: rename SHEEVAD to GPLUGD
  ARM: imx: Fix typo 'MACH_MX31_3DS_MXC_NAND_USE_BBT'
  ARM: i.MX28: shift frac value in _CLK_SET_RATE
  plat-mxc: iomux-v3.h: implicitly enable pull-up/down when that's desired
  ARM: mx5: fix clock usage for suspend
  ARM: pxa: use correct __iomem annotations
  ARM: pxa: sharpsl pm needs SPI
  ARM: pxa: centro and treo680 need palm27x
  ARM: pxa: make pxafb_smart_*() empty when not enabled
  ARM: pxa: select POWER_SUPPLY on raumfeld
  ARM: pxa: pxa95x is incompatible with earlier pxa
  ARM: pxa: CPU_FREQ_TABLE is needed for CPU_FREQ
  ARM: pxa: pxa95x/saarb depends on pxa3xx code
  ARM: pxa: allow selecting just one of TREO680/CENTRO
  ARM: pxa: export symbols from pxa3xx-ulpi
  ARM: pxa: make zylonite_pxa*_init declaration match code
  ARM: pxa/z2: fix building error of pxa27x_cpu_suspend() no longer available
  ARM: at91: add defconfig for at91sam9g45 family
  ARM: at91: remove dependency for Atmel PWM driver selector in Kconfig
  ...
parents b4beb4bf 5725aeae
...@@ -394,7 +394,7 @@ config ARCH_EP93XX ...@@ -394,7 +394,7 @@ config ARCH_EP93XX
select ARCH_REQUIRE_GPIOLIB select ARCH_REQUIRE_GPIOLIB
select ARCH_HAS_HOLES_MEMORYMODEL select ARCH_HAS_HOLES_MEMORYMODEL
select ARCH_USES_GETTIMEOFFSET select ARCH_USES_GETTIMEOFFSET
select NEED_MEMORY_H select NEED_MACH_MEMORY_H
help help
This enables support for the Cirrus EP93xx series of CPUs. This enables support for the Cirrus EP93xx series of CPUs.
...@@ -2044,6 +2044,7 @@ config CPU_FREQ_PXA ...@@ -2044,6 +2044,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
......
...@@ -66,5 +66,6 @@ sdhci@c8000600 { ...@@ -66,5 +66,6 @@ sdhci@c8000600 {
cd-gpios = <&gpio 58 0>; /* gpio PH2 */ cd-gpios = <&gpio 58 0>; /* gpio PH2 */
wp-gpios = <&gpio 59 0>; /* gpio PH3 */ wp-gpios = <&gpio 59 0>; /* gpio PH3 */
power-gpios = <&gpio 70 0>; /* gpio PI6 */ power-gpios = <&gpio 70 0>; /* gpio PI6 */
support-8bit;
}; };
}; };
...@@ -25,4 +25,8 @@ sdhci@c8000400 { ...@@ -25,4 +25,8 @@ sdhci@c8000400 {
wp-gpios = <&gpio 57 0>; /* gpio PH1 */ wp-gpios = <&gpio 57 0>; /* gpio PH1 */
power-gpios = <&gpio 70 0>; /* gpio PI6 */ power-gpios = <&gpio 70 0>; /* gpio PI6 */
}; };
sdhci@c8000600 {
support-8bit;
};
}; };
CONFIG_EXPERIMENTAL=y
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_EMBEDDED=y
CONFIG_SLAB=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_LBDAF is not set
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_IOSCHED_DEADLINE is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_ARCH_AT91=y
CONFIG_ARCH_AT91SAM9G45=y
CONFIG_MACH_AT91SAM9M10G45EK=y
CONFIG_AT91_PROGRAMMABLE_CLOCKS=y
CONFIG_AT91_SLOW_CLOCK=y
CONFIG_AEABI=y
# CONFIG_OABI_COMPAT is not set
CONFIG_LEDS=y
CONFIG_LEDS_CPU=y
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="mem=128M console=ttyS0,115200 initrd=0x71100000,25165824 root=/dev/ram0 rw"
CONFIG_AUTO_ZRELADDR=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_DIAG is not set
CONFIG_IPV6=y
# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET6_XFRM_MODE_TUNNEL is not set
# CONFIG_INET6_XFRM_MODE_BEET is not set
CONFIG_IPV6_SIT_6RD=y
CONFIG_CFG80211=y
CONFIG_LIB80211=y
CONFIG_MAC80211=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_DATAFLASH=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_ATMEL=y
CONFIG_MTD_UBI=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=4
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_MISC_DEVICES=y
CONFIG_ATMEL_PWM=y
CONFIG_ATMEL_TCLIB=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_DAVICOM_PHY=y
CONFIG_NET_ETHERNET=y
CONFIG_MACB=y
# CONFIG_NETDEV_1000 is not set
# CONFIG_NETDEV_10000 is not set
CONFIG_LIBERTAS_THINFIRM=m
CONFIG_LIBERTAS_THINFIRM_USB=m
CONFIG_AT76C50X_USB=m
CONFIG_USB_ZD1201=m
CONFIG_RTL8187=m
CONFIG_ATH_COMMON=m
CONFIG_ATH9K=m
CONFIG_CARL9170=m
CONFIG_B43=m
CONFIG_B43_PHY_N=y
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
CONFIG_LIBERTAS_SDIO=m
CONFIG_LIBERTAS_SPI=m
CONFIG_RT2X00=m
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
CONFIG_RT2800USB_RT53XX=y
CONFIG_RT2800USB_UNKNOWN=y
CONFIG_RTL8192CU=m
CONFIG_WL1251=m
CONFIG_WL1251_SDIO=m
CONFIG_WL12XX_MENU=m
CONFIG_WL12XX=m
CONFIG_WL12XX_SDIO=m
CONFIG_ZD1211RW=m
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m
CONFIG_INPUT_POLLDEV=m
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=480
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
# CONFIG_KEYBOARD_ATKBD is not set
CONFIG_KEYBOARD_QT1070=m
CONFIG_KEYBOARD_QT2160=m
CONFIG_KEYBOARD_GPIO=y
# CONFIG_INPUT_MOUSE is not set
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
CONFIG_TOUCHSCREEN_ATMEL_TSADCC=y
# CONFIG_SERIO is not set
CONFIG_LEGACY_PTY_COUNT=4
CONFIG_SERIAL_ATMEL=y
CONFIG_SERIAL_ATMEL_CONSOLE=y
CONFIG_HW_RANDOM=y
CONFIG_I2C=y
CONFIG_I2C_GPIO=y
CONFIG_SPI=y
CONFIG_SPI_ATMEL=y
# CONFIG_HWMON is not set
# CONFIG_MFD_SUPPORT is not set
CONFIG_FB=y
CONFIG_FB_ATMEL=y
CONFIG_FB_UDL=m
CONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_ATMEL_LCDC=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_DRIVERS is not set
# CONFIG_SND_ARM is not set
CONFIG_SND_ATMEL_AC97C=y
# CONFIG_SND_SPI is not set
CONFIG_SND_USB_AUDIO=m
# CONFIG_USB_HID is not set
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEVICEFS=y
# CONFIG_USB_DEVICE_CLASS is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_ACM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_GADGET=y
CONFIG_USB_ATMEL_USBA=m
CONFIG_USB_ZERO=m
CONFIG_USB_AUDIO=m
CONFIG_USB_ETH=m
CONFIG_USB_ETH_EEM=y
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
CONFIG_USB_CDC_COMPOSITE=m
CONFIG_USB_G_MULTI=m
CONFIG_USB_G_MULTI_CDC=y
CONFIG_MMC=y
# CONFIG_MMC_BLOCK_BOUNCE is not set
CONFIG_SDIO_UART=m
CONFIG_MMC_ATMELMCI=y
CONFIG_MMC_ATMELMCI_DMA=y
CONFIG_LEDS_ATMEL_PWM=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_AT91RM9200=y
CONFIG_DMADEVICES=y
CONFIG_AT_HDMAC=y
CONFIG_DMATEST=m
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_EXT2_FS=y
CONFIG_FANOTIFY=y
CONFIG_VFAT_FS=y
CONFIG_TMPFS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_SUMMARY=y
CONFIG_CRAMFS=m
CONFIG_SQUASHFS=m
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_ISO8859_1=y
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_SCHED_DEBUG is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_FTRACE is not set
CONFIG_DEBUG_USER=y
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
# CONFIG_CRYPTO_HW is not set
...@@ -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)
......
...@@ -449,6 +449,7 @@ config MACH_MX31_3DS ...@@ -449,6 +449,7 @@ config MACH_MX31_3DS
select IMX_HAVE_PLATFORM_IMX_UART select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_IPU_CORE select IMX_HAVE_PLATFORM_IPU_CORE
select IMX_HAVE_PLATFORM_MXC_EHCI select IMX_HAVE_PLATFORM_MXC_EHCI
select IMX_HAVE_PLATFORM_MXC_MMC
select IMX_HAVE_PLATFORM_MXC_NAND select IMX_HAVE_PLATFORM_MXC_NAND
select IMX_HAVE_PLATFORM_SPI_IMX select IMX_HAVE_PLATFORM_SPI_IMX
select MXC_ULPI if USB_ULPI select MXC_ULPI if USB_ULPI
......
...@@ -540,7 +540,7 @@ static const struct mxc_nand_platform_data ...@@ -540,7 +540,7 @@ static const struct mxc_nand_platform_data
mx31_3ds_nand_board_info __initconst = { mx31_3ds_nand_board_info __initconst = {
.width = 1, .width = 1,
.hw_ecc = 1, .hw_ecc = 1,
#ifdef MACH_MX31_3DS_MXC_NAND_USE_BBT #ifdef CONFIG_MACH_MX31_3DS_MXC_NAND_USE_BBT
.flash_bbt = 1, .flash_bbt = 1,
#endif #endif
}; };
......
...@@ -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 */
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#define GPIO_REGS_VIRT (APB_VIRT_BASE + 0x19000) #define GPIO_REGS_VIRT (APB_VIRT_BASE + 0x19000)
#define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2)) #define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2))
#define GPIO_REG(x) (*((volatile u32 *)(GPIO_REGS_VIRT + (x)))) #define GPIO_REG(x) (GPIO_REGS_VIRT + (x))
#define NR_BUILTIN_GPIO IRQ_GPIO_NUM #define NR_BUILTIN_GPIO IRQ_GPIO_NUM
......
...@@ -86,7 +86,8 @@ static struct mfp_addr_map mmp2_addr_map[] __initdata = { ...@@ -86,7 +86,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);
......
...@@ -19,9 +19,13 @@ ...@@ -19,9 +19,13 @@
static struct clk *gpc_dvfs_clk; static struct clk *gpc_dvfs_clk;
static int mx5_suspend_prepare(void)
{
return clk_enable(gpc_dvfs_clk);
}
static int mx5_suspend_enter(suspend_state_t state) static int mx5_suspend_enter(suspend_state_t state)
{ {
clk_enable(gpc_dvfs_clk);
switch (state) { switch (state) {
case PM_SUSPEND_MEM: case PM_SUSPEND_MEM:
mx5_cpu_lp_set(STOP_POWER_OFF); mx5_cpu_lp_set(STOP_POWER_OFF);
...@@ -42,11 +46,14 @@ static int mx5_suspend_enter(suspend_state_t state) ...@@ -42,11 +46,14 @@ static int mx5_suspend_enter(suspend_state_t state)
__raw_writel(0, MXC_SRPG_EMPGC1_SRPGCR); __raw_writel(0, MXC_SRPG_EMPGC1_SRPGCR);
} }
cpu_do_idle(); cpu_do_idle();
clk_disable(gpc_dvfs_clk);
return 0; return 0;
} }
static void mx5_suspend_finish(void)
{
clk_disable(gpc_dvfs_clk);
}
static int mx5_pm_valid(suspend_state_t state) static int mx5_pm_valid(suspend_state_t state)
{ {
return (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX); return (state > PM_SUSPEND_ON && state <= PM_SUSPEND_MAX);
...@@ -54,7 +61,9 @@ static int mx5_pm_valid(suspend_state_t state) ...@@ -54,7 +61,9 @@ static int mx5_pm_valid(suspend_state_t state)
static const struct platform_suspend_ops mx5_suspend_ops = { static const struct platform_suspend_ops mx5_suspend_ops = {
.valid = mx5_pm_valid, .valid = mx5_pm_valid,
.prepare = mx5_suspend_prepare,
.enter = mx5_suspend_enter, .enter = mx5_suspend_enter,
.finish = mx5_suspend_finish,
}; };
static int __init mx5_pm_init(void) static int __init mx5_pm_init(void)
......
...@@ -349,7 +349,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \ ...@@ -349,7 +349,7 @@ static int name##_set_rate(struct clk *clk, unsigned long rate) \
\ \
reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_##fr); \ reg = __raw_readl(CLKCTRL_BASE_ADDR + HW_CLKCTRL_##fr); \
reg &= ~BM_CLKCTRL_##fr##_##fs##FRAC; \ reg &= ~BM_CLKCTRL_##fr##_##fs##FRAC; \
reg |= frac; \ reg |= frac << BP_CLKCTRL_##fr##_##fs##FRAC; \
__raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_##fr); \ __raw_writel(reg, CLKCTRL_BASE_ADDR + HW_CLKCTRL_##fr); \
} \ } \
\ \
......
...@@ -133,7 +133,7 @@ static const int sdp4430_keymap[] = { ...@@ -133,7 +133,7 @@ static const int sdp4430_keymap[] = {
KEY(7, 6, KEY_OK), KEY(7, 6, KEY_OK),
KEY(7, 7, KEY_DOWN), KEY(7, 7, KEY_DOWN),
}; };
static struct omap_device_pad keypad_pads[] __initdata = { static struct omap_device_pad keypad_pads[] = {
{ .name = "kpd_col1.kpd_col1", { .name = "kpd_col1.kpd_col1",
.enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1, .enable = OMAP_WAKEUP_EN | OMAP_MUX_MODE1,
}, },
......
...@@ -165,8 +165,8 @@ static void __init omap_init_irq(u32 base, int nr_irqs) ...@@ -165,8 +165,8 @@ static void __init omap_init_irq(u32 base, int nr_irqs)
omap_irq_bank_init_one(bank); omap_irq_bank_init_one(bank);
for (i = 0, j = 0; i < bank->nr_irqs; i += 32, j += 0x20) for (j = 0; j < bank->nr_irqs; j += 32)
omap_alloc_gc(bank->base_reg + j, i, 32); omap_alloc_gc(bank->base_reg + j, j, 32);
nr_of_irqs += bank->nr_irqs; nr_of_irqs += bank->nr_irqs;
nr_banks++; nr_banks++;
......
...@@ -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)
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
#define GPIO_REGS_VIRT io_p2v(0x40E00000) #define GPIO_REGS_VIRT io_p2v(0x40E00000)
#define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2)) #define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2))
#define GPIO_REG(x) (*(volatile u32 *)(GPIO_REGS_VIRT + (x))) #define GPIO_REG(x) (GPIO_REGS_VIRT + (x))
/* GPIO Pin Level Registers */ /* GPIO Pin Level Registers */
#define GPLR0 GPIO_REG(BANK_OFF(0) + 0x00) #define GPLR0 GPIO_REG(BANK_OFF(0) + 0x00)
......
...@@ -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)
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,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)
...@@ -64,7 +64,7 @@ static inline void __iomem *irq_base(int i) ...@@ -64,7 +64,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)
......
...@@ -479,7 +479,7 @@ static void __init lpd270_init(void) ...@@ -479,7 +479,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")
.atag_offset = 0x100, .atag_offset = 0x100,
.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")
.atag_offset = 0x100, .atag_offset = 0x100,
.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,
......
...@@ -325,7 +325,7 @@ void __init pxa26x_init_irq(void) ...@@ -325,7 +325,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
......
...@@ -391,7 +391,7 @@ void __init pxa27x_init_irq(void) ...@@ -391,7 +391,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)
{ {
......
...@@ -393,7 +393,7 @@ void __init pxa3xx_init_irq(void) ...@@ -393,7 +393,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
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
#include <mach/hardware.h> #include <mach/hardware.h>
#include <mach/mfp.h> #include <mach/mfp.h>
#include <mach/mfp-pxa930.h> #include <mach/mfp-pxa930.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, 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,
......
...@@ -99,7 +99,27 @@ static void ux500_l2x0_inv_all(void) ...@@ -99,7 +99,27 @@ static void ux500_l2x0_inv_all(void)
ux500_cache_sync(); ux500_cache_sync();
} }
static int ux500_l2x0_init(void) static int __init ux500_l2x0_unlock(void)
{
int i;
/*
* Unlock Data and Instruction Lock if locked. Ux500 U-Boot versions
* apparently locks both caches before jumping to the kernel. The
* l2x0 core will not touch the unlock registers if the l2x0 is
* already enabled, so we do it right here instead. The PL310 has
* 8 sets of registers, one per possible CPU.
*/
for (i = 0; i < 8; i++) {
writel_relaxed(0x0, l2x0_base + L2X0_LOCKDOWN_WAY_D_BASE +
i * L2X0_LOCKDOWN_STRIDE);
writel_relaxed(0x0, l2x0_base + L2X0_LOCKDOWN_WAY_I_BASE +
i * L2X0_LOCKDOWN_STRIDE);
}
return 0;
}
static int __init ux500_l2x0_init(void)
{ {
if (cpu_is_u5500()) if (cpu_is_u5500())
l2x0_base = __io_address(U5500_L2CC_BASE); l2x0_base = __io_address(U5500_L2CC_BASE);
...@@ -108,6 +128,9 @@ static int ux500_l2x0_init(void) ...@@ -108,6 +128,9 @@ static int ux500_l2x0_init(void)
else else
ux500_unknown_soc(); ux500_unknown_soc();
/* Unlock before init */
ux500_l2x0_unlock();
/* 64KB way size, 8 way associativity, force WA */ /* 64KB way size, 8 way associativity, force WA */
l2x0_init(l2x0_base, 0x3e060000, 0xc0000fff); l2x0_init(l2x0_base, 0x3e060000, 0xc0000fff);
......
...@@ -89,11 +89,11 @@ typedef u64 iomux_v3_cfg_t; ...@@ -89,11 +89,11 @@ typedef u64 iomux_v3_cfg_t;
#define PAD_CTL_HYS (1 << 8) #define PAD_CTL_HYS (1 << 8)
#define PAD_CTL_PKE (1 << 7) #define PAD_CTL_PKE (1 << 7)
#define PAD_CTL_PUE (1 << 6) #define PAD_CTL_PUE (1 << 6 | PAD_CTL_PKE)
#define PAD_CTL_PUS_100K_DOWN (0 << 4) #define PAD_CTL_PUS_100K_DOWN (0 << 4 | PAD_CTL_PUE)
#define PAD_CTL_PUS_47K_UP (1 << 4) #define PAD_CTL_PUS_47K_UP (1 << 4 | PAD_CTL_PUE)
#define PAD_CTL_PUS_100K_UP (2 << 4) #define PAD_CTL_PUS_100K_UP (2 << 4 | PAD_CTL_PUE)
#define PAD_CTL_PUS_22K_UP (3 << 4) #define PAD_CTL_PUS_22K_UP (3 << 4 | PAD_CTL_PUE)
#define PAD_CTL_ODE (1 << 3) #define PAD_CTL_ODE (1 << 3)
......
...@@ -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)
......
...@@ -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;
......
...@@ -63,7 +63,7 @@ config AD525X_DPOT_SPI ...@@ -63,7 +63,7 @@ config AD525X_DPOT_SPI
config ATMEL_PWM config ATMEL_PWM
tristate "Atmel AT32/AT91 PWM support" tristate "Atmel AT32/AT91 PWM support"
depends on AVR32 || ARCH_AT91SAM9263 || ARCH_AT91SAM9RL || ARCH_AT91CAP9 depends on HAVE_CLK
help help
This option enables device driver support for the PWM channels This option enables device driver support for the PWM channels
on certain Atmel processors. Pulse Width Modulation is used for on certain Atmel processors. Pulse Width Modulation is used for
......
...@@ -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