예제 #1
0
static void __init omap_4430_acclaim_init_irq(void)
{
	omap2_init_common_hw(NULL, NULL);
#ifdef CONFIG_OMAP_32K_TIMER
	omap2_gp_clockevent_set_gptimer(1);
#endif
	gic_init_irq();
	sr_class3_init();
}
예제 #2
0
static void __init omap_3430sdp_init(void)
{
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
	omap3430_i2c_init();
	platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices));
	if (omap_rev() > OMAP3430_REV_ES1_0)
		ts_gpio = SDP3430_TS_GPIO_IRQ_SDPV2;
	else
		ts_gpio = SDP3430_TS_GPIO_IRQ_SDPV1;
	sdp3430_spi_board_info[0].irq = gpio_to_irq(ts_gpio);
	spi_register_board_info(sdp3430_spi_board_info,
				ARRAY_SIZE(sdp3430_spi_board_info));
	ads7846_dev_init();
	omap_serial_init();
	usb_musb_init(&musb_board_data);
	board_smc91x_init();
	sdp_flash_init(sdp_flash_partitions);
	sdp3430_display_init();
	enable_board_wakeup_source();
	usb_uhhtll_init(&usbhs_pdata);
	sr_class3_init();
}
static void __init omap_fidji_init(void)
{
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);

	print_board_rev();

	if (fidji_board_rev() < 7)
		panic("hardware not supported");

	peripherals_init();

	parrot_omap_gpmc_nand_config(&fidji_nand_data);

	gpmc_nand_init(&fidji_nand_data);

	display_init();

	sr_class3_init();

	parrot_omap_voltage_init();

	platform_add_devices(fidji_devices, ARRAY_SIZE(fidji_devices));



	/* config BT */
	/* PCM */
	omap_mux_init_signal("mcbsp1_dx.mcbsp3_dx",
			OMAP_PIN_OUTPUT);
	omap_mux_init_signal("mcbsp1_dr.mcbsp3_dr",
			OMAP_PIN_INPUT);
	omap_mux_init_signal("mcbsp1_fsx.mcbsp3_fsx",
			OMAP_PIN_INPUT);
	omap_mux_init_signal("mcbsp1_clkx.mcbsp3_clkx",
			OMAP_PIN_INPUT);

	/* UART */
	omap_mux_init_signal("uart1_tx.uart1_tx",
			OMAP_PIN_OUTPUT);
	omap_mux_init_signal("uart1_rx.uart1_rx",
			OMAP_PIN_INPUT);
	omap_mux_init_signal("uart1_rts.uart1_rts",
			OMAP_PIN_OUTPUT);
	omap_mux_init_signal("uart1_cts.uart1_cts",
			OMAP_PIN_INPUT);

	/* reset */
	parrot_gpio_user_out_init(GPIO_BTWIFI_RESET, 1, "bt-rst");

	/* config GPS */
	/* UART */
	omap_mux_init_signal("mcbsp3_clkx.uart2_tx",
			OMAP_PIN_OUTPUT);
	omap_mux_init_signal("mcbsp3_fsx.uart2_rx",
			OMAP_PIN_INPUT);

	/* ON/OFF - RESET */
	parrot_gpio_out_init(GPIO_GPS_ONOFF, 0);

	if (fidji_board_rev() < 9) {
		mdelay(20);
		gpio_set_value(GPIO_GPS_ONOFF, 1);
		omap_mux_init_gpio(GPIO_GPS_RESET, OMAP_PIN_INPUT);
		parrot_gpio_out_init(GPIO_GPS_RESET, 0);
	}
	else  {
		// Hardware 09+
		omap_mux_init_gpio(GPIO_GPS_UPDATE, OMAP_PIN_INPUT);
		parrot_gpio_out_init(GPIO_GPS_UPDATE, 0);
	}

	/* config SPI-RF */
	/* SDN_RF*/
	parrot_gpio_user_out_init(GPIO_RF_SDN, 0, "rf-sdn");
	/* IRQ from the rf device */
	omap_mux_init_gpio(GPIO_RF_IRQ, OMAP_PIN_INPUT|OMAP_PIN_OFF_WAKEUPENABLE);

	/* SPI pin configuration */
	omap_mux_init_signal("mcspi2_clk.mcspi2_clk",
			OMAP_PIN_INPUT);
	omap_mux_init_signal("mcspi2_simo.mcspi2_simo",
			OMAP_PIN_INPUT);
	omap_mux_init_signal("mcspi2_somi.mcspi2_somi",
			OMAP_PIN_INPUT);
	omap_mux_init_signal("mcspi2_cs0.mcspi2_cs0",
			OMAP_PIN_INPUT);

	/* level shifter */
	parrot_gpio_out_init(GPIO_RF_LSH, 0);

	/* IPOD chip */

	/* level shifter */
	parrot_gpio_out_init(GPIO_IPOD_LEV_SH, 1);
	/* reset */
	parrot_gpio_user_out_init(GPIO_IPOD_RESET, 1, "ipod-rst");


	/* put in safe mode unused pins */
	omap_mux_init_signal("gpmc_clk.safe_mode", OMAP_PIN_INPUT);
	omap_mux_init_signal("gpmc_nbe1.safe_mode", OMAP_PIN_INPUT);
	omap_mux_init_signal("gpmc_wait2.safe_mode", OMAP_PIN_INPUT);
	omap_mux_init_signal("gpmc_wait3.safe_mode", OMAP_PIN_INPUT);
	omap_mux_init_signal("i2c4_scl.safe_mode", OMAP_PIN_INPUT);
	omap_mux_init_signal("i2c4_sda.safe_mode", OMAP_PIN_INPUT);
	omap_mux_init_signal("sdmmc2_dat7.safe_mode", OMAP_PIN_INPUT);
	omap_mux_init_signal("mcbsp3_dx.safe_mode", OMAP_PIN_INPUT);
	omap_mux_init_signal("mcbsp3_dr.safe_mode", OMAP_PIN_INPUT);

	pm_power_off = omap_fidji_power_off;
}