diff options
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/common/it8152.c | 1 | ||||
| -rw-r--r-- | arch/arm/include/asm/hardware/it8152.h | 1 | ||||
| -rw-r--r-- | arch/arm/mach-at91/include/mach/at91_mci.h | 2 | ||||
| -rw-r--r-- | arch/arm/mach-ixp4xx/common-pci.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-pxa/sleep.S | 4 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2412/Kconfig | 7 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2412/Makefile | 3 | ||||
| -rw-r--r-- | arch/arm/mach-s3c2416/Kconfig | 1 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv210/mach-aquila.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-s5pv210/mach-goni.c | 6 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/entry-macro.S | 30 | ||||
| -rw-r--r-- | arch/arm/mach-shmobile/include/mach/vmalloc.h | 2 | ||||
| -rw-r--r-- | arch/arm/plat-s3c24xx/Kconfig | 2 |
13 files changed, 57 insertions, 10 deletions
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c index 1bec96e85196..42ff90b46dfb 100644 --- a/arch/arm/common/it8152.c +++ b/arch/arm/common/it8152.c | |||
| @@ -352,3 +352,4 @@ struct pci_bus * __init it8152_pci_scan_bus(int nr, struct pci_sys_data *sys) | |||
| 352 | return pci_scan_bus(nr, &it8152_ops, sys); | 352 | return pci_scan_bus(nr, &it8152_ops, sys); |
| 353 | } | 353 | } |
| 354 | 354 | ||
| 355 | EXPORT_SYMBOL(dma_set_coherent_mask); | ||
diff --git a/arch/arm/include/asm/hardware/it8152.h b/arch/arm/include/asm/hardware/it8152.h index 21fa272301f8..b2f95c72287c 100644 --- a/arch/arm/include/asm/hardware/it8152.h +++ b/arch/arm/include/asm/hardware/it8152.h | |||
| @@ -76,6 +76,7 @@ extern unsigned long it8152_base_address; | |||
| 76 | IT8152_PD_IRQ(0) Audio controller (ACR) | 76 | IT8152_PD_IRQ(0) Audio controller (ACR) |
| 77 | */ | 77 | */ |
| 78 | #define IT8152_IRQ(x) (IRQ_BOARD_START + (x)) | 78 | #define IT8152_IRQ(x) (IRQ_BOARD_START + (x)) |
| 79 | #define IT8152_LAST_IRQ (IRQ_BOARD_START + 40) | ||
| 79 | 80 | ||
| 80 | /* IRQ-sources in 3 groups - local devices, LPC (serial), and external PCI */ | 81 | /* IRQ-sources in 3 groups - local devices, LPC (serial), and external PCI */ |
| 81 | #define IT8152_LD_IRQ_COUNT 9 | 82 | #define IT8152_LD_IRQ_COUNT 9 |
diff --git a/arch/arm/mach-at91/include/mach/at91_mci.h b/arch/arm/mach-at91/include/mach/at91_mci.h index 57f8ee154943..27ac6f550fe3 100644 --- a/arch/arm/mach-at91/include/mach/at91_mci.h +++ b/arch/arm/mach-at91/include/mach/at91_mci.h | |||
| @@ -74,6 +74,8 @@ | |||
| 74 | #define AT91_MCI_TRTYP_BLOCK (0 << 19) | 74 | #define AT91_MCI_TRTYP_BLOCK (0 << 19) |
| 75 | #define AT91_MCI_TRTYP_MULTIPLE (1 << 19) | 75 | #define AT91_MCI_TRTYP_MULTIPLE (1 << 19) |
| 76 | #define AT91_MCI_TRTYP_STREAM (2 << 19) | 76 | #define AT91_MCI_TRTYP_STREAM (2 << 19) |
| 77 | #define AT91_MCI_TRTYP_SDIO_BYTE (4 << 19) | ||
| 78 | #define AT91_MCI_TRTYP_SDIO_BLOCK (5 << 19) | ||
| 77 | 79 | ||
| 78 | #define AT91_MCI_BLKR 0x18 /* Block Register */ | 80 | #define AT91_MCI_BLKR 0x18 /* Block Register */ |
| 79 | #define AT91_MCI_BLKR_BCNT(n) ((0xffff & (n)) << 0) /* Block count */ | 81 | #define AT91_MCI_BLKR_BCNT(n) ((0xffff & (n)) << 0) /* Block count */ |
diff --git a/arch/arm/mach-ixp4xx/common-pci.c b/arch/arm/mach-ixp4xx/common-pci.c index 24498a932ba6..a54b3db80366 100644 --- a/arch/arm/mach-ixp4xx/common-pci.c +++ b/arch/arm/mach-ixp4xx/common-pci.c | |||
| @@ -513,4 +513,4 @@ int dma_set_coherent_mask(struct device *dev, u64 mask) | |||
| 513 | 513 | ||
| 514 | EXPORT_SYMBOL(ixp4xx_pci_read); | 514 | EXPORT_SYMBOL(ixp4xx_pci_read); |
| 515 | EXPORT_SYMBOL(ixp4xx_pci_write); | 515 | EXPORT_SYMBOL(ixp4xx_pci_write); |
| 516 | 516 | EXPORT_SYMBOL(dma_set_coherent_mask); | |
diff --git a/arch/arm/mach-pxa/sleep.S b/arch/arm/mach-pxa/sleep.S index 52c30b01a671..ae008110db4e 100644 --- a/arch/arm/mach-pxa/sleep.S +++ b/arch/arm/mach-pxa/sleep.S | |||
| @@ -353,8 +353,8 @@ resume_turn_on_mmu: | |||
| 353 | 353 | ||
| 354 | @ Let us ensure we jump to resume_after_mmu only when the mcr above | 354 | @ Let us ensure we jump to resume_after_mmu only when the mcr above |
| 355 | @ actually took effect. They call it the "cpwait" operation. | 355 | @ actually took effect. They call it the "cpwait" operation. |
| 356 | mrc p15, 0, r1, c2, c0, 0 @ queue a dependency on CP15 | 356 | mrc p15, 0, r0, c2, c0, 0 @ queue a dependency on CP15 |
| 357 | sub pc, r2, r1, lsr #32 @ jump to virtual addr | 357 | sub pc, r2, r0, lsr #32 @ jump to virtual addr |
| 358 | nop | 358 | nop |
| 359 | nop | 359 | nop |
| 360 | nop | 360 | nop |
diff --git a/arch/arm/mach-s3c2412/Kconfig b/arch/arm/mach-s3c2412/Kconfig index fa2e5bffbb8e..6983cb4d4cae 100644 --- a/arch/arm/mach-s3c2412/Kconfig +++ b/arch/arm/mach-s3c2412/Kconfig | |||
| @@ -28,9 +28,16 @@ config S3C2412_DMA | |||
| 28 | 28 | ||
| 29 | config S3C2412_PM | 29 | config S3C2412_PM |
| 30 | bool | 30 | bool |
| 31 | select S3C2412_PM_SLEEP | ||
| 31 | help | 32 | help |
| 32 | Internal config node to apply S3C2412 power management | 33 | Internal config node to apply S3C2412 power management |
| 33 | 34 | ||
| 35 | config S3C2412_PM_SLEEP | ||
| 36 | bool | ||
| 37 | help | ||
| 38 | Internal config node to apply sleep for S3C2412 power management. | ||
| 39 | Can be selected by another SoCs with similar sleep procedure. | ||
| 40 | |||
| 34 | # Note, the S3C2412 IOtiming support is in plat-s3c24xx | 41 | # Note, the S3C2412 IOtiming support is in plat-s3c24xx |
| 35 | 42 | ||
| 36 | config S3C2412_CPUFREQ | 43 | config S3C2412_CPUFREQ |
diff --git a/arch/arm/mach-s3c2412/Makefile b/arch/arm/mach-s3c2412/Makefile index 530ec46cbaea..6c48a91ea39e 100644 --- a/arch/arm/mach-s3c2412/Makefile +++ b/arch/arm/mach-s3c2412/Makefile | |||
| @@ -14,7 +14,8 @@ obj-$(CONFIG_CPU_S3C2412) += irq.o | |||
| 14 | obj-$(CONFIG_CPU_S3C2412) += clock.o | 14 | obj-$(CONFIG_CPU_S3C2412) += clock.o |
| 15 | obj-$(CONFIG_CPU_S3C2412) += gpio.o | 15 | obj-$(CONFIG_CPU_S3C2412) += gpio.o |
| 16 | obj-$(CONFIG_S3C2412_DMA) += dma.o | 16 | obj-$(CONFIG_S3C2412_DMA) += dma.o |
| 17 | obj-$(CONFIG_S3C2412_PM) += pm.o sleep.o | 17 | obj-$(CONFIG_S3C2412_PM) += pm.o |
| 18 | obj-$(CONFIG_S3C2412_PM_SLEEP) += sleep.o | ||
| 18 | obj-$(CONFIG_S3C2412_CPUFREQ) += cpu-freq.o | 19 | obj-$(CONFIG_S3C2412_CPUFREQ) += cpu-freq.o |
| 19 | 20 | ||
| 20 | # Machine support | 21 | # Machine support |
diff --git a/arch/arm/mach-s3c2416/Kconfig b/arch/arm/mach-s3c2416/Kconfig index 27b3e7c9d613..df8d14974c90 100644 --- a/arch/arm/mach-s3c2416/Kconfig +++ b/arch/arm/mach-s3c2416/Kconfig | |||
| @@ -27,6 +27,7 @@ config S3C2416_DMA | |||
| 27 | 27 | ||
| 28 | config S3C2416_PM | 28 | config S3C2416_PM |
| 29 | bool | 29 | bool |
| 30 | select S3C2412_PM_SLEEP | ||
| 30 | help | 31 | help |
| 31 | Internal config node to apply S3C2416 power management | 32 | Internal config node to apply S3C2416 power management |
| 32 | 33 | ||
diff --git a/arch/arm/mach-s5pv210/mach-aquila.c b/arch/arm/mach-s5pv210/mach-aquila.c index 28677caf3613..461aa035afc0 100644 --- a/arch/arm/mach-s5pv210/mach-aquila.c +++ b/arch/arm/mach-s5pv210/mach-aquila.c | |||
| @@ -378,6 +378,12 @@ static struct max8998_regulator_data aquila_regulators[] = { | |||
| 378 | static struct max8998_platform_data aquila_max8998_pdata = { | 378 | static struct max8998_platform_data aquila_max8998_pdata = { |
| 379 | .num_regulators = ARRAY_SIZE(aquila_regulators), | 379 | .num_regulators = ARRAY_SIZE(aquila_regulators), |
| 380 | .regulators = aquila_regulators, | 380 | .regulators = aquila_regulators, |
| 381 | .buck1_set1 = S5PV210_GPH0(3), | ||
| 382 | .buck1_set2 = S5PV210_GPH0(4), | ||
| 383 | .buck2_set3 = S5PV210_GPH0(5), | ||
| 384 | .buck1_max_voltage1 = 1200000, | ||
| 385 | .buck1_max_voltage2 = 1200000, | ||
| 386 | .buck2_max_voltage = 1200000, | ||
| 381 | }; | 387 | }; |
| 382 | #endif | 388 | #endif |
| 383 | 389 | ||
diff --git a/arch/arm/mach-s5pv210/mach-goni.c b/arch/arm/mach-s5pv210/mach-goni.c index b1dcf964a768..e22d5112fd44 100644 --- a/arch/arm/mach-s5pv210/mach-goni.c +++ b/arch/arm/mach-s5pv210/mach-goni.c | |||
| @@ -518,6 +518,12 @@ static struct max8998_regulator_data goni_regulators[] = { | |||
| 518 | static struct max8998_platform_data goni_max8998_pdata = { | 518 | static struct max8998_platform_data goni_max8998_pdata = { |
| 519 | .num_regulators = ARRAY_SIZE(goni_regulators), | 519 | .num_regulators = ARRAY_SIZE(goni_regulators), |
| 520 | .regulators = goni_regulators, | 520 | .regulators = goni_regulators, |
| 521 | .buck1_set1 = S5PV210_GPH0(3), | ||
| 522 | .buck1_set2 = S5PV210_GPH0(4), | ||
| 523 | .buck2_set3 = S5PV210_GPH0(5), | ||
| 524 | .buck1_max_voltage1 = 1200000, | ||
| 525 | .buck1_max_voltage2 = 1200000, | ||
| 526 | .buck2_max_voltage = 1200000, | ||
| 521 | }; | 527 | }; |
| 522 | #endif | 528 | #endif |
| 523 | 529 | ||
diff --git a/arch/arm/mach-shmobile/include/mach/entry-macro.S b/arch/arm/mach-shmobile/include/mach/entry-macro.S index a285d13c7416..f428c4db2b60 100644 --- a/arch/arm/mach-shmobile/include/mach/entry-macro.S +++ b/arch/arm/mach-shmobile/include/mach/entry-macro.S | |||
| @@ -1,4 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (C) 2010 Magnus Damm | ||
| 2 | * Copyright (C) 2008 Renesas Solutions Corp. | 3 | * Copyright (C) 2008 Renesas Solutions Corp. |
| 3 | * | 4 | * |
| 4 | * This program is free software; you can redistribute it and/or modify | 5 | * This program is free software; you can redistribute it and/or modify |
| @@ -14,24 +15,45 @@ | |||
| 14 | * along with this program; if not, write to the Free Software | 15 | * along with this program; if not, write to the Free Software |
| 15 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | 16 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
| 16 | */ | 17 | */ |
| 17 | #include <mach/hardware.h> | ||
| 18 | #include <mach/irqs.h> | 18 | #include <mach/irqs.h> |
| 19 | 19 | ||
| 20 | #define INTCA_BASE 0xe6980000 | ||
| 21 | #define INTFLGA_OFFS 0x00000018 /* accept pending interrupt */ | ||
| 22 | #define INTEVTA_OFFS 0x00000020 /* vector number of accepted interrupt */ | ||
| 23 | #define INTLVLA_OFFS 0x00000030 /* priority level of accepted interrupt */ | ||
| 24 | #define INTLVLB_OFFS 0x00000034 /* previous priority level */ | ||
| 25 | |||
| 20 | .macro disable_fiq | 26 | .macro disable_fiq |
| 21 | .endm | 27 | .endm |
| 22 | 28 | ||
| 23 | .macro get_irqnr_preamble, base, tmp | 29 | .macro get_irqnr_preamble, base, tmp |
| 24 | ldr \base, =INTFLGA | 30 | ldr \base, =INTCA_BASE |
| 25 | .endm | 31 | .endm |
| 26 | 32 | ||
| 27 | .macro arch_ret_to_user, tmp1, tmp2 | 33 | .macro arch_ret_to_user, tmp1, tmp2 |
| 28 | .endm | 34 | .endm |
| 29 | 35 | ||
| 30 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp | 36 | .macro get_irqnr_and_base, irqnr, irqstat, base, tmp |
| 31 | ldr \irqnr, [\base] | 37 | /* The single INTFLGA read access below results in the following: |
| 38 | * | ||
| 39 | * 1. INTLVLB is updated with old priority value from INTLVLA | ||
| 40 | * 2. Highest priority interrupt is accepted | ||
| 41 | * 3. INTLVLA is updated to contain priority of accepted interrupt | ||
| 42 | * 4. Accepted interrupt vector is stored in INTFLGA and INTEVTA | ||
| 43 | */ | ||
| 44 | ldr \irqnr, [\base, #INTFLGA_OFFS] | ||
| 45 | |||
| 46 | /* Restore INTLVLA with the value saved in INTLVLB. | ||
| 47 | * This is required to support interrupt priorities properly. | ||
| 48 | */ | ||
| 49 | ldrb \tmp, [\base, #INTLVLB_OFFS] | ||
| 50 | strb \tmp, [\base, #INTLVLA_OFFS] | ||
| 51 | |||
| 52 | /* Handle invalid vector number case */ | ||
| 32 | cmp \irqnr, #0 | 53 | cmp \irqnr, #0 |
| 33 | beq 1000f | 54 | beq 1000f |
| 34 | /* intevt to irq number */ | 55 | |
| 56 | /* Convert vector to irq number, same as the evt2irq() macro */ | ||
| 35 | lsr \irqnr, \irqnr, #0x5 | 57 | lsr \irqnr, \irqnr, #0x5 |
| 36 | subs \irqnr, \irqnr, #16 | 58 | subs \irqnr, \irqnr, #16 |
| 37 | 59 | ||
diff --git a/arch/arm/mach-shmobile/include/mach/vmalloc.h b/arch/arm/mach-shmobile/include/mach/vmalloc.h index 4aecf6e3a859..2b8fd8b942fe 100644 --- a/arch/arm/mach-shmobile/include/mach/vmalloc.h +++ b/arch/arm/mach-shmobile/include/mach/vmalloc.h | |||
| @@ -2,6 +2,6 @@ | |||
| 2 | #define __ASM_MACH_VMALLOC_H | 2 | #define __ASM_MACH_VMALLOC_H |
| 3 | 3 | ||
| 4 | /* Vmalloc at ... - 0xe5ffffff */ | 4 | /* Vmalloc at ... - 0xe5ffffff */ |
| 5 | #define VMALLOC_END 0xe6000000 | 5 | #define VMALLOC_END 0xe6000000UL |
| 6 | 6 | ||
| 7 | #endif /* __ASM_MACH_VMALLOC_H */ | 7 | #endif /* __ASM_MACH_VMALLOC_H */ |
diff --git a/arch/arm/plat-s3c24xx/Kconfig b/arch/arm/plat-s3c24xx/Kconfig index 5a27b1b538f2..eb105e61c746 100644 --- a/arch/arm/plat-s3c24xx/Kconfig +++ b/arch/arm/plat-s3c24xx/Kconfig | |||
| @@ -8,7 +8,7 @@ config PLAT_S3C24XX | |||
| 8 | default y | 8 | default y |
| 9 | select NO_IOPORT | 9 | select NO_IOPORT |
| 10 | select ARCH_REQUIRE_GPIOLIB | 10 | select ARCH_REQUIRE_GPIOLIB |
| 11 | select S3C_DEVICE_NAND | 11 | select S3C_DEV_NAND |
| 12 | select S3C_GPIO_CFG_S3C24XX | 12 | select S3C_GPIO_CFG_S3C24XX |
| 13 | help | 13 | help |
| 14 | Base platform code for any Samsung S3C24XX device | 14 | Base platform code for any Samsung S3C24XX device |
