]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Merge remote-tracking branch 'renesas/next'
authorStephen Rothwell <sfr@canb.auug.org.au>
Fri, 12 Oct 2012 03:36:49 +0000 (14:36 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 12 Oct 2012 03:36:49 +0000 (14:36 +1100)
Conflicts:
arch/arm/Kconfig

arch/arm/Kconfig
arch/arm/configs/armadillo800eva_defconfig
arch/arm/configs/kzm9g_defconfig
arch/arm/configs/mackerel_defconfig
arch/arm/mach-shmobile/board-kzm9g.c
arch/arm/mach-shmobile/include/mach/sh7372.h
arch/arm/mach-shmobile/setup-r8a7740.c
arch/arm/mach-shmobile/setup-sh7372.c
arch/arm/mm/proc-v7-2level.S

index 47c2f86ca12919c27b1ff4dc2d52c7a287ca8933..272c3a1386300514efc7fa3949f964681f9fb9b1 100644 (file)
@@ -1418,6 +1418,15 @@ config ARM_ERRATA_775420
         to deadlock. This workaround puts DSB before executing ISB if
         an abort may occur on cache maintenance.
 
+config ARM_ERRATA_782773
+       bool "ARM errata: Updating a translation entry might cause an unexpected translation fault"
+       depends on CPU_V7
+       help
+         This option enables the workaround for the 782773 Cortex-A9 (all r0,
+         r2 and r3 revisions) erratum. It might cause MMU exception in case
+         page table walk happens just after updating the existing
+         with setting page table in L1 data cache.
+
 endmenu
 
 source "arch/arm/common/Kconfig"
index f78d259f8d23d900d4a2abb6461f8921ce74389c..3d764072dd54e456f020e48c5d65a7b394028d41 100644 (file)
@@ -7,6 +7,7 @@ CONFIG_LOG_BUF_SHIFT=16
 # CONFIG_IPC_NS is not set
 # CONFIG_PID_NS is not set
 CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+CONFIG_PERF_EVENTS=y
 CONFIG_SLAB=y
 CONFIG_MODULES=y
 CONFIG_MODULE_UNLOAD=y
index c88b57886e791906f8f21459df939718a95be0b6..ce99e3e00efa1c13e9a6b3f2d9282f94d046c36c 100644 (file)
@@ -74,6 +74,8 @@ CONFIG_KEYBOARD_GPIO=y
 # CONFIG_INPUT_MOUSE is not set
 CONFIG_INPUT_TOUCHSCREEN=y
 CONFIG_TOUCHSCREEN_ST1232=y
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_ADXL34X=y
 # CONFIG_LEGACY_PTYS is not set
 CONFIG_SERIAL_SH_SCI=y
 CONFIG_SERIAL_SH_SCI_NR_UARTS=9
@@ -119,6 +121,8 @@ CONFIG_DMADEVICES=y
 CONFIG_SH_DMAE=y
 CONFIG_ASYNC_TX_DMA=y
 CONFIG_STAGING=y
+CONFIG_SENSORS_AK8975=y
+CONFIG_IIO=y
 # CONFIG_DNOTIFY is not set
 CONFIG_INOTIFY_USER=y
 CONFIG_VFAT_FS=y
index 306a2e2d3622b6b7696822cd0f03f6a4e32b3e73..7b79a0b0352fc3fc07fd82707c984088efcbb93b 100644 (file)
@@ -70,17 +70,31 @@ CONFIG_SERIAL_SH_SCI_NR_UARTS=8
 CONFIG_SERIAL_SH_SCI_CONSOLE=y
 # CONFIG_LEGACY_PTYS is not set
 # CONFIG_HW_RANDOM is not set
+CONFIG_I2C=y
+CONFIG_I2C_SH_MOBILE=y
 # CONFIG_HWMON is not set
 # CONFIG_MFD_SUPPORT is not set
 CONFIG_FB=y
 CONFIG_FB_MODE_HELPERS=y
 CONFIG_FB_SH_MOBILE_LCDC=y
+CONFIG_FB_SH_MOBILE_HDMI=y
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_LOGO=y
 # CONFIG_LOGO_LINUX_MONO is not set
 # CONFIG_LOGO_LINUX_CLUT224 is not set
-# CONFIG_HID_SUPPORT is not set
-# CONFIG_USB_SUPPORT is not set
+# 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_SOC_SH4_FSI=y
+CONFIG_USB=y
+CONFIG_USB_RENESAS_USBHS_HCD=y
+CONFIG_USB_RENESAS_USBHS=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_GADGET=y
+CONFIG_USB_RENESAS_USBHS_UDC=y
+CONFIG_DMADEVICES=y
+CONFIG_SH_DMAE=y
 CONFIG_EXT2_FS=y
 CONFIG_EXT2_FS_XATTR=y
 CONFIG_EXT2_FS_POSIX_ACL=y
index 0a43f3189c21c176f41f13ee82062f837a9ab6f8..f63f2eeb0205d4361226a95ccb68fb5b34571bfa 100644 (file)
@@ -384,6 +384,8 @@ static struct regulator_consumer_supply fixed2v8_power_consumers[] =
 
 /* SDHI */
 static struct sh_mobile_sdhi_info sdhi0_info = {
+       .dma_slave_tx   = SHDMA_SLAVE_SDHI0_TX,
+       .dma_slave_rx   = SHDMA_SLAVE_SDHI0_RX,
        .tmio_flags     = TMIO_MMC_HAS_IDLE_WAIT,
        .tmio_caps      = MMC_CAP_SD_HIGHSPEED,
        .tmio_ocr_mask  = MMC_VDD_27_28 | MMC_VDD_28_29,
@@ -424,6 +426,8 @@ static struct platform_device sdhi0_device = {
 
 /* Micro SD */
 static struct sh_mobile_sdhi_info sdhi2_info = {
+       .dma_slave_tx   = SHDMA_SLAVE_SDHI2_TX,
+       .dma_slave_rx   = SHDMA_SLAVE_SDHI2_RX,
        .tmio_flags     = TMIO_MMC_HAS_IDLE_WAIT |
                          TMIO_MMC_USE_GPIO_CD |
                          TMIO_MMC_WRPROTECT_DISABLE,
@@ -557,7 +561,15 @@ static struct i2c_board_info i2c0_devices[] = {
        },
        {
                I2C_BOARD_INFO("r2025sd", 0x32),
-       }
+       },
+       {
+               I2C_BOARD_INFO("ak8975", 0x0c),
+               .irq = intcs_evt2irq(0x3380), /* IRQ28 */
+       },
+       {
+               I2C_BOARD_INFO("adxl34x", 0x1d),
+               .irq = intcs_evt2irq(0x3340), /* IRQ26 */
+       },
 };
 
 static struct i2c_board_info i2c1_devices[] = {
index eb98b45c508902c631153c093ed14aea877893d5..d65fbbe84678190522c1b6a40b3f830082ba47b0 100644 (file)
@@ -452,6 +452,10 @@ enum {
        SHDMA_SLAVE_SCIF5_RX,
        SHDMA_SLAVE_SCIF6_TX,
        SHDMA_SLAVE_SCIF6_RX,
+       SHDMA_SLAVE_FLCTL0_TX,
+       SHDMA_SLAVE_FLCTL0_RX,
+       SHDMA_SLAVE_FLCTL1_TX,
+       SHDMA_SLAVE_FLCTL1_RX,
        SHDMA_SLAVE_SDHI0_RX,
        SHDMA_SLAVE_SDHI0_TX,
        SHDMA_SLAVE_SDHI1_RX,
index 11bb1d9841975ef9be12c1591fae32c80903b55e..1e032cb55e07e00cdf5f3c58f98a566834c14c9d 100644 (file)
@@ -590,6 +590,21 @@ static struct platform_device i2c1_device = {
        .num_resources  = ARRAY_SIZE(i2c1_resources),
 };
 
+static struct resource pmu_resources[] = {
+       [0] = {
+               .start  = evt2irq(0x19a0),
+               .end    = evt2irq(0x19a0),
+               .flags  = IORESOURCE_IRQ,
+       },
+};
+
+static struct platform_device pmu_device = {
+       .name   = "arm-pmu",
+       .id             = -1,
+       .num_resources = ARRAY_SIZE(pmu_resources),
+       .resource = pmu_resources,
+};
+
 static struct platform_device *r8a7740_late_devices[] __initdata = {
        &i2c0_device,
        &i2c1_device,
@@ -597,6 +612,7 @@ static struct platform_device *r8a7740_late_devices[] __initdata = {
        &dma1_device,
        &dma2_device,
        &usb_dma_device,
+       &pmu_device,
 };
 
 /*
index a07954fbcd22b9017b588ef1f745bddf101bf419..a36011184c16c05d432de1cb0fbd678749a9ade8 100644 (file)
@@ -407,6 +407,26 @@ static const struct sh_dmae_slave_config sh7372_dmae_slaves[] = {
                .addr           = 0xe6c30060,
                .chcr           = CHCR_RX(XMIT_SZ_8BIT),
                .mid_rid        = 0x3e,
+       }, {
+               .slave_id       = SHDMA_SLAVE_FLCTL0_TX,
+               .addr           = 0xe6a30050,
+               .chcr           = CHCR_TX(XMIT_SZ_32BIT),
+               .mid_rid        = 0x83,
+       }, {
+               .slave_id       = SHDMA_SLAVE_FLCTL0_RX,
+               .addr           = 0xe6a30050,
+               .chcr           = CHCR_RX(XMIT_SZ_32BIT),
+               .mid_rid        = 0x83,
+       }, {
+               .slave_id       = SHDMA_SLAVE_FLCTL1_TX,
+               .addr           = 0xe6a30060,
+               .chcr           = CHCR_TX(XMIT_SZ_32BIT),
+               .mid_rid        = 0x87,
+       }, {
+               .slave_id       = SHDMA_SLAVE_FLCTL1_RX,
+               .addr           = 0xe6a30060,
+               .chcr           = CHCR_RX(XMIT_SZ_32BIT),
+               .mid_rid        = 0x87,
        }, {
                .slave_id       = SHDMA_SLAVE_SDHI0_TX,
                .addr           = 0xe6850030,
index fd045e706390dc0ddafb0560d2be66b1568cd69f..9207b9f6807af7bf864512796ae73cf3d5ffd038 100644 (file)
@@ -103,9 +103,17 @@ ENTRY(cpu_v7_set_pte_ext)
        tstne   r1, #L_PTE_PRESENT
        moveq   r3, #0
 
+#ifdef CONFIG_ARM_ERRATA_782773
+       mrs     r2, cpsr                        @ save cpsr
+       cpsid   if                              @ disable interrupts
+       mcr     p15, 0, r0, c7, c14, 1          @ clean & invalidate D line
+#endif
  ARM(  str     r3, [r0, #2048]! )
  THUMB(        add     r0, r0, #2048 )
  THUMB(        str     r3, [r0] )
+#ifdef CONFIG_ARM_ERRATA_782773
+       msr     cpsr_c, r2                      @ load cpsr
+#endif
        mcr     p15, 0, r0, c7, c10, 1          @ flush_pte
 #endif
        mov     pc, lr