Merge tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 2 Jul 2013 21:10:26 +0000 (14:10 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 2 Jul 2013 21:10:26 +0000 (14:10 -0700)
Pull ARM SoC board specific changes from Arnd Bergmann:
 "These are 18 branches on 9 platforms with board specific changes,
  mostly for defconfig files, but nothing really exciting in here.

  Since the shmobile platform still uses board files for some of the
  newer machines, we get a few changes there as the result of drivers
  getting enabled for those boards.  This causes some conflicts with
  contents getting added from multiple branches in sh-mobile specific
  files.  Renesas is putting a lot of work into migrating to device-tree
  based setup, which will make all those files obsolete in the future
  and avoid both the conflicts and the need to have these files in the
  first place."

* tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (49 commits)
  arm: multi_v7_defconfig: Enable initrd/initramfs support
  arm: multi_v7_defconfig: Enable Zynq UART driver
  ARM: omap2plus_defconfig: enable USB_PHY and NOP_USB_XCEIV
  ARM: OMAP1: nokia770: enable Tahvo
  ARM: OMAP3EVM: Marking omap3_evm_display_init() with CONFIG_BROKEN
  arm: omap: board-overo: reset GPIO for SMSC911x
  ARM: shmobile: BOCK-W: change Ether device name
  ARM: ux500: board-mop500: remove unused pin modes
  ARM: shmobile: bockw: add MMCIF support
  ARM: shmobile: bockw: add SPI FLASH support
  ARM: shmobile: bockw: add I2C device support
  ARM: shmobile: BOCK-W: add Ether support
  ARM: tegra: defconfig updates
  ARM: shmobile: bockw defconfig: add MMCIF support
  ARM: shmobile: bockw defconfig: add M25P80 support
  ARM: shmobile: bockw defconfig: add RTC RX8581 support
  ARM: shmobile: marzen: keep local function as static
  ARM: shmobile: bockw: add SDHI0 support
  ARM: shmobile: marzen: Use INTC External IRQ pin driver for SMSC
  ARM: shmobile: lager: support GPIO switches
  ...

1  2 
arch/arm/boot/dts/kirkwood-ts219.dtsi
arch/arm/configs/multi_v7_defconfig
arch/arm/mach-kirkwood/Kconfig
arch/arm/mach-kirkwood/Makefile
arch/arm/mach-kirkwood/board-dt.c
arch/arm/mach-kirkwood/common.h
arch/arm/mach-shmobile/board-bockw.c
arch/arm/mach-shmobile/board-marzen.c

Simple merge
Simple merge
Simple merge
index 2fdc3a7ad226fa91e270bc97d6ec321f06107a90,8846abf8fc737c0dbf80f063d13fb199a5d865eb..ac4cd75dd499d37117bfe1603dfc803ae6e5739f
@@@ -37,7 -37,9 +37,8 @@@ obj-$(CONFIG_MACH_NETSPACE_LITE_V2_DT)        
  obj-$(CONFIG_MACH_NETSPACE_MAX_V2_DT) += board-ns2.o
  obj-$(CONFIG_MACH_NETSPACE_MINI_V2_DT)        += board-ns2.o
  obj-$(CONFIG_MACH_NETSPACE_V2_DT)     += board-ns2.o
 -obj-$(CONFIG_MACH_NSA310_DT)          += board-nsa310.o
  obj-$(CONFIG_MACH_OPENBLOCKS_A6_DT)   += board-openblocks_a6.o
  obj-$(CONFIG_MACH_READYNAS_DT)                += board-readynas.o
+ obj-$(CONFIG_MACH_SHEEVAPLUG_DT)      += board-sheevaplug.o
  obj-$(CONFIG_MACH_TOPKICK_DT)         += board-usi_topkick.o
  obj-$(CONFIG_MACH_TS219_DT)           += board-ts219.o tsx1x-common.o
Simple merge
Simple merge
index 7ed2401b899c05044d2e8471545571711dc9d515,ce56381e0077ef16082816d64e2eed04439d5d1d..d5554646916c34a962a9e1790653fc22d8beefd0
@@@ -38,30 -76,112 +76,121 @@@ static struct resource smsc911x_resourc
        DEFINE_RES_IRQ(irq_pin(0)), /* IRQ 0 */
  };
  
++/* USB */
 +static struct rcar_phy_platform_data usb_phy_platform_data __initdata;
 +
+ /* SDHI */
+ static struct sh_mobile_sdhi_info sdhi0_info = {
+       .tmio_caps      = MMC_CAP_SD_HIGHSPEED,
+       .tmio_ocr_mask  = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34,
+       .tmio_flags     = TMIO_MMC_HAS_IDLE_WAIT,
+ };
+ static struct sh_eth_plat_data ether_platform_data __initdata = {
+       .phy            = 0x01,
+       .edmac_endian   = EDMAC_LITTLE_ENDIAN,
+       .register_type  = SH_ETH_REG_FAST_RCAR,
+       .phy_interface  = PHY_INTERFACE_MODE_RMII,
+       /*
+        * Although the LINK signal is available on the board, it's connected to
+        * the link/activity LED output of the PHY, thus the link disappears and
+        * reappears after each packet.  We'd be better off ignoring such signal
+        * and getting the link state from the PHY indirectly.
+        */
+       .no_ether_link  = 1,
+ };
+ /* I2C */
+ static struct i2c_board_info i2c0_devices[] = {
+       {
+               I2C_BOARD_INFO("rx8581", 0x51),
+       },
+ };
+ /* HSPI*/
+ static struct mtd_partition m25p80_spi_flash_partitions[] = {
+       {
+               .name   = "data(spi)",
+               .size   = 0x0100000,
+               .offset = 0,
+       },
+ };
+ static struct flash_platform_data spi_flash_data = {
+       .name           = "m25p80",
+       .type           = "s25fl008k",
+       .parts          = m25p80_spi_flash_partitions,
+       .nr_parts       = ARRAY_SIZE(m25p80_spi_flash_partitions),
+ };
+ static struct spi_board_info spi_board_info[] __initdata = {
+       {
+               .modalias       = "m25p80",
+               .max_speed_hz   = 104000000,
+               .chip_select    = 0,
+               .bus_num        = 0,
+               .mode           = SPI_MODE_0,
+               .platform_data  = &spi_flash_data,
+       },
+ };
+ /* MMC */
+ static struct sh_mmcif_plat_data sh_mmcif_plat = {
+       .sup_pclk       = 0,
+       .ocr            = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34,
+       .caps           = MMC_CAP_4_BIT_DATA |
+                         MMC_CAP_8_BIT_DATA |
+                         MMC_CAP_NEEDS_POLL,
+ };
  static const struct pinctrl_map bockw_pinctrl_map[] = {
+       /* Ether */
+       PIN_MAP_MUX_GROUP_DEFAULT("r8a777x-ether", "pfc-r8a7778",
+                                 "ether_rmii", "ether"),
+       /* HSPI0 */
+       PIN_MAP_MUX_GROUP_DEFAULT("sh-hspi.0", "pfc-r8a7778",
+                                 "hspi0_a", "hspi0"),
+       /* MMC */
+       PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif", "pfc-r8a7778",
+                                 "mmc_data8", "mmc"),
+       PIN_MAP_MUX_GROUP_DEFAULT("sh_mmcif", "pfc-r8a7778",
+                                 "mmc_ctrl", "mmc"),
        /* SCIF0 */
        PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a7778",
                                  "scif0_data_a", "scif0"),
        PIN_MAP_MUX_GROUP_DEFAULT("sh-sci.0", "pfc-r8a7778",
                                  "scif0_ctrl", "scif0"),
++      /* USB */
 +      PIN_MAP_MUX_GROUP_DEFAULT("ehci-platform", "pfc-r8a7778",
 +                                "usb0", "usb0"),
 +      PIN_MAP_MUX_GROUP_DEFAULT("ehci-platform", "pfc-r8a7778",
 +                                "usb1", "usb1"),
+       /* SDHI0 */
+       PIN_MAP_MUX_GROUP_DEFAULT("sh_mobile_sdhi.0", "pfc-r8a7778",
+                                 "sdhi0", "sdhi0"),
  };
  
+ #define FPGA  0x18200000
  #define IRQ0MR        0x30
+ #define PFC   0xfffc0000
+ #define PUPR4 0x110
  static void __init bockw_init(void)
  {
-       void __iomem *fpga;
+       void __iomem *base;
  
        r8a7778_clock_init();
        r8a7778_init_irq_extpin(1);
        r8a7778_add_standard_devices();
 +      r8a7778_add_usb_phy_device(&usb_phy_platform_data);
+       r8a7778_add_ether_device(&ether_platform_data);
+       r8a7778_add_i2c_device(0);
+       r8a7778_add_hspi_device(0);
+       r8a7778_add_mmc_device(&sh_mmcif_plat);
  
+       i2c_register_board_info(0, i2c0_devices,
+                               ARRAY_SIZE(i2c0_devices));
+       spi_register_board_info(spi_board_info,
+                               ARRAY_SIZE(spi_board_info));
        pinctrl_register_mappings(bockw_pinctrl_map,
                                  ARRAY_SIZE(bockw_pinctrl_map));
        r8a7778_pinmux_init();
index b1b41b199f99b429c1e54f865fda63591b2f6930,a3810b03297c27ecf3e55eee50b77dc4f5a3f47d..a7d1010505bf9ff9246df09eca4a9706f2cf3a3f
@@@ -231,9 -405,9 +231,10 @@@ static void __init marzen_init(void
        pinctrl_register_mappings(marzen_pinctrl_map,
                                  ARRAY_SIZE(marzen_pinctrl_map));
        r8a7779_pinmux_init();
+       r8a7779_init_irq_extpin(1); /* IRQ1 as individual interrupt */
  
        r8a7779_add_standard_devices();
 +      r8a7779_add_usb_phy_device(&usb_phy_platform_data);
        platform_add_devices(marzen_devices, ARRAY_SIZE(marzen_devices));
  }