These updates are all for board specific code, including
 
 * defconfig updates for shmobile, davinci, bcm2835, imx, omap and tegra
 * SD/MMC and I2C support on bcm2835 (Raspberry PI)
 * minor updates for PXA
 * shmobile updates to GPIO usage in board files
 * More things in OMAP board files are moved over to device tree probing
 * Better support for audio devices on some OMAP platforms
 
 Conflicts include the omap board-apollon.c file that is removed without
 a replacement, and conflicting context in the 4430sdp board file.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.12 (GNU/Linux)
 
 iQIVAwUAUSUyPmCrR//JCVInAQKc4xAAm3UXWLjjIecgdcWperYzUn8wVGg2sRvT
 eFFtGvj3iC+HttPw01O2uVn2O/ixW6SJIgls1O3VTt6IKXPQg3OCjeu1/1vvgq14
 IWuOVS9TLUS4IWkbIvQSdWrDTHocon1Umx+yIgyOpenHBn6kHMg1Tx6qQlUKKo8q
 ne8DKlAfSmao2oHg08Biuzc+cjUOCj7Dq57P1Y5gRhtmdXiFfvdd6GytyFAGUl/m
 60c7BECUs9ileeAUTgehsUk84uV9w/FHeWhccxKspd8GjuHg31t5lB/PEEud34FK
 CTBWoPRn/xG6qjmp34kjP2zIFVfiYYscJpSzXw+cOmPx2gNcs9mGUflAmG9I2t/C
 TPuRCgmhqjZkfHjoNPUaGSvLa4m3279lrqxVqU6BWs8NlqzXSma1rqUKCxikV4lR
 OlPasykwIGdHoJWyrm517RRkLq9Jn2XxtZmequp8TAsUBzW1Su3ZNArSQ6VqGTgs
 W8T20UGVj4bDaAUG4VICeRZGIJx5wknEr11NrRL1a0/EFhFUxNFZf5JAs1YHw/Yi
 rJP8oTppbo6eAaTThc6/a1/rklu8TUcRvmeS+iIH4IFxbroqc/ntAYd16+cKhPbO
 EJtvUv2B3WQZesV7zmDG4TzleYjgYeFxPzTeYHHOYRIgDA3al2eSlp6EIZULSmul
 gqxlMv/YHF8=
 =/qBE
 -----END PGP SIGNATURE-----
Merge tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC board specific changes from Arnd Bergmann:
 "These updates are all for board specific code, including
   - defconfig updates for shmobile, davinci, bcm2835, imx, omap and
     tegra
   - SD/MMC and I2C support on bcm2835 (Raspberry PI)
   - minor updates for PXA
   - shmobile updates to GPIO usage in board files
   - More things in OMAP board files are moved over to device tree
     probing
   - Better support for audio devices on some OMAP platforms"
* tag 'boards' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (55 commits)
  ARM: imx_v4_v5_defconfig: Add VPU support
  ARM: imx: configs: enable netfilter support
  ARM: OMAP2+: Fix twl section warnings related to omap_twl4030_audio_init
  ARM: OMAP2+: omap2plus_defconfig: enable omap1 rtc
  RX-51: Register twl4030-madc device
  RX-51: Add leds lp5523 names from Maemo 5 2.6.28 kernel
  ARM: OMAP2+: AM33XX: omap2plus_defconfig: Add support for few drivers
  ARM: OMAP1: nokia770: enable CBUS/Retu
  ARM: OMAP2+: omap2plus_defconfig: enable CMA allocator
  ARM: OMAP2+: omap2plus_defconfig: enable TFP410 chip support
  ARM: OMAP3: igep0020: simplify GPIO LEDs dependencies
  ARM: OMAP2+: craneboard: support the TPS65910 PMU
  ARM: OMAP2+: craneboard: support NAND device
  ARM: OMAP3: cm-t3517: add MMC support
  ARM: OMAP2+: Remove apollon board support
  ARM: shmobile: armadillo800eva: set clock rates before timer init
  ARM: tegra: defconfig updates
  ARM: shmobile: mackerel: Use gpio_request_one()
  ARM: shmobile: kzm9g: Use gpio_request_one()
  ARM: shmobile: bonito: Use gpio_request_one()
  ...
		
	
			
		
			
				
	
	
		
			156 lines
		
	
	
	
		
			3.9 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			156 lines
		
	
	
	
		
			3.9 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * Support for AM3517/05 Craneboard
 | 
						|
 * http://www.mistralsolutions.com/products/craneboard.php
 | 
						|
 *
 | 
						|
 * Copyright (C) 2010 Mistral Solutions Pvt Ltd. <www.mistralsolutions.com>
 | 
						|
 * Author: R.Srinath <srinath@mistralsolutions.com>
 | 
						|
 *
 | 
						|
 * Based on mach-omap2/board-am3517evm.c
 | 
						|
 *
 | 
						|
 * This program is free software; you can redistribute it and/or modify it
 | 
						|
 * under the terms of the GNU General Public License as  published by the
 | 
						|
 * Free Software Foundation version 2.
 | 
						|
 *
 | 
						|
 * This program is distributed "as is" WITHOUT ANY WARRANTY of any kind,
 | 
						|
 * whether express or implied; without even the implied warranty of
 | 
						|
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
						|
 * General Public License for more details.
 | 
						|
 */
 | 
						|
 | 
						|
#include <linux/kernel.h>
 | 
						|
#include <linux/init.h>
 | 
						|
#include <linux/gpio.h>
 | 
						|
#include <linux/mfd/tps65910.h>
 | 
						|
#include <linux/mtd/mtd.h>
 | 
						|
#include <linux/mtd/nand.h>
 | 
						|
#include <linux/mtd/partitions.h>
 | 
						|
 | 
						|
#include <asm/mach-types.h>
 | 
						|
#include <asm/mach/arch.h>
 | 
						|
#include <asm/mach/map.h>
 | 
						|
 | 
						|
#include "common.h"
 | 
						|
#include "common-board-devices.h"
 | 
						|
#include "board-flash.h"
 | 
						|
 | 
						|
#include "am35xx-emac.h"
 | 
						|
#include "mux.h"
 | 
						|
#include "control.h"
 | 
						|
 | 
						|
#define GPIO_USB_POWER		35
 | 
						|
#define GPIO_USB_NRESET		38
 | 
						|
 | 
						|
#ifdef CONFIG_OMAP_MUX
 | 
						|
static struct omap_board_mux board_mux[] __initdata = {
 | 
						|
	OMAP3_MUX(SYS_NIRQ, OMAP_MUX_MODE0 | OMAP_PIN_INPUT_PULLUP),
 | 
						|
	{ .reg_offset = OMAP_MUX_TERMINATOR },
 | 
						|
};
 | 
						|
#endif
 | 
						|
 | 
						|
static struct usbhs_omap_platform_data usbhs_bdata __initdata = {
 | 
						|
	.port_mode[0] = OMAP_EHCI_PORT_MODE_PHY,
 | 
						|
	.port_mode[1] = OMAP_USBHS_PORT_MODE_UNUSED,
 | 
						|
	.port_mode[2] = OMAP_USBHS_PORT_MODE_UNUSED,
 | 
						|
 | 
						|
	.phy_reset  = true,
 | 
						|
	.reset_gpio_port[0]  = GPIO_USB_NRESET,
 | 
						|
	.reset_gpio_port[1]  = -EINVAL,
 | 
						|
	.reset_gpio_port[2]  = -EINVAL
 | 
						|
};
 | 
						|
 | 
						|
static struct mtd_partition crane_nand_partitions[] = {
 | 
						|
	{
 | 
						|
		.name		= "X-Loader",
 | 
						|
		.offset		= 0,
 | 
						|
		.size		= 4 * NAND_BLOCK_SIZE,
 | 
						|
		.mask_flags	= MTD_WRITEABLE,
 | 
						|
	},
 | 
						|
	{
 | 
						|
		.name		= "U-Boot",
 | 
						|
		.offset		= MTDPART_OFS_APPEND,
 | 
						|
		.size		= 14 * NAND_BLOCK_SIZE,
 | 
						|
		.mask_flags	= MTD_WRITEABLE,
 | 
						|
	},
 | 
						|
	{
 | 
						|
		.name		= "U-Boot Env",
 | 
						|
		.offset		= MTDPART_OFS_APPEND,
 | 
						|
		.size		= 2 * NAND_BLOCK_SIZE,
 | 
						|
	},
 | 
						|
	{
 | 
						|
		.name		= "Kernel",
 | 
						|
		.offset		= MTDPART_OFS_APPEND,
 | 
						|
		.size		= 40 * NAND_BLOCK_SIZE,
 | 
						|
	},
 | 
						|
	{
 | 
						|
		.name		= "File System",
 | 
						|
		.offset		= MTDPART_OFS_APPEND,
 | 
						|
		.size		= MTDPART_SIZ_FULL,
 | 
						|
	},
 | 
						|
};
 | 
						|
 | 
						|
static struct tps65910_board tps65910_pdata = {
 | 
						|
	.irq = 7 + OMAP_INTC_START,
 | 
						|
	.en_ck32k_xtal = true,
 | 
						|
};
 | 
						|
 | 
						|
static struct i2c_board_info __initdata tps65910_board_info[] = {
 | 
						|
	{
 | 
						|
		I2C_BOARD_INFO("tps65910", 0x2d),
 | 
						|
		.platform_data = &tps65910_pdata,
 | 
						|
	},
 | 
						|
};
 | 
						|
 | 
						|
static void __init am3517_crane_i2c_init(void)
 | 
						|
{
 | 
						|
	omap_register_i2c_bus(1, 2600, tps65910_board_info,
 | 
						|
			ARRAY_SIZE(tps65910_board_info));
 | 
						|
}
 | 
						|
 | 
						|
static void __init am3517_crane_init(void)
 | 
						|
{
 | 
						|
	int ret;
 | 
						|
 | 
						|
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
 | 
						|
	omap_serial_init();
 | 
						|
	omap_sdrc_init(NULL, NULL);
 | 
						|
	board_nand_init(crane_nand_partitions,
 | 
						|
			ARRAY_SIZE(crane_nand_partitions), 0,
 | 
						|
			NAND_BUSWIDTH_16, NULL);
 | 
						|
	am3517_crane_i2c_init();
 | 
						|
 | 
						|
	/* Configure GPIO for EHCI port */
 | 
						|
	if (omap_mux_init_gpio(GPIO_USB_NRESET, OMAP_PIN_OUTPUT)) {
 | 
						|
		pr_err("Can not configure mux for GPIO_USB_NRESET %d\n",
 | 
						|
			GPIO_USB_NRESET);
 | 
						|
		return;
 | 
						|
	}
 | 
						|
 | 
						|
	if (omap_mux_init_gpio(GPIO_USB_POWER, OMAP_PIN_OUTPUT)) {
 | 
						|
		pr_err("Can not configure mux for GPIO_USB_POWER %d\n",
 | 
						|
			GPIO_USB_POWER);
 | 
						|
		return;
 | 
						|
	}
 | 
						|
 | 
						|
	ret = gpio_request_one(GPIO_USB_POWER, GPIOF_OUT_INIT_HIGH,
 | 
						|
			       "usb_ehci_enable");
 | 
						|
	if (ret < 0) {
 | 
						|
		pr_err("Can not request GPIO %d\n", GPIO_USB_POWER);
 | 
						|
		return;
 | 
						|
	}
 | 
						|
 | 
						|
	usbhs_init(&usbhs_bdata);
 | 
						|
	am35xx_emac_init(AM35XX_DEFAULT_MDIO_FREQUENCY, 1);
 | 
						|
}
 | 
						|
 | 
						|
MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
 | 
						|
	.atag_offset	= 0x100,
 | 
						|
	.reserve	= omap_reserve,
 | 
						|
	.map_io		= omap3_map_io,
 | 
						|
	.init_early	= am35xx_init_early,
 | 
						|
	.init_irq	= omap3_init_irq,
 | 
						|
	.handle_irq	= omap3_intc_handle_irq,
 | 
						|
	.init_machine	= am3517_crane_init,
 | 
						|
	.init_late	= am35xx_init_late,
 | 
						|
	.init_time	= omap3_sync32k_timer_init,
 | 
						|
	.restart	= omap3xxx_restart,
 | 
						|
MACHINE_END
 |