static void __init board_init(void)
{
	int num_displays = 0;

	init_buffer_pbias();

	omap_board_config = board_config;
	omap_board_config_size = ARRAY_SIZE(board_config);

#ifdef CONFIG_CLOCKS_INIT
	archos_clocks_init(&board_clocks);
#endif
	archos_leds_init();	// set it here mask hugly transitions

	/* before omap_i2c_init() or IRQ will not forwarded to driver */
	if (display_config.nrev > hardware_rev)
		archos_hdmi_gpio_init(&display_config.rev[hardware_rev]);

	msecure_init();
	/* offmode config, before I2C config! */
	board_offmode_config();
	omap_i2c_init();
	/* Fix to prevent VIO leakage on wl127x */
	wl127x_vio_leakage_fix();

#if defined CONFIG_OMAP2_DSS
	if (archos_lcd_panel_init(&board_lcd_device) == 0) {
		board_dss_devices[num_displays++] = &board_lcd_device;
		board_dss_data.default_device = &board_lcd_device;
	}
	board_dss_devices[num_displays++] = &board_hdmi_device;
#ifdef CONFIG_OMAP2_DSS_DUMMY
	board_dss_devices[num_displays++] = &board_dummy_device;
	board_dss_data.default_device = &board_dummy_device;
#endif /* CONFIG_OMAP2_DSS_DUMMY */
	board_dss_data.num_devices = num_displays;
#endif/* CONFIG_OMAP2_DSS */

	platform_add_devices(board_devices, ARRAY_SIZE(board_devices));

	omap_cfg_reg(H20_3430_UART3_RX_IRRX);
	omap_serial_init();

	usb_musb_init();

	archos_usb_ehci_init();

	archos_accel_init(&board_mma7660fc_pdata);

	twl4030_mmc_init(mmc);
	board_vmmc2_supply.dev = mmc[0].dev;
	
	archos_audio_gpio_init();

	archos_usb2sata_init();

	archos_camera_ov7675_init();
	archos_keys_init();
	enable_board_wakeup_source();
}
void conn_board_init(void)
{
	pr_info(" Connectivity board init\n");

#ifdef CONFIG_MACH_OMAP_FST_OMAP3_127x
	pr_info(" Connectivity board init for OMAP3+WL127x\n");

	wl127x_vio_leakage_fix();
#endif
}
Exemplo n.º 3
0
static void __init omap_encore_init(void)
{
	omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);

	encore_peripherals_init();
	encore_display_init();
	omap_register_ion();
	/* Added to register encore devices */
	platform_add_devices(encore_devices, ARRAY_SIZE(encore_devices));
	wl127x_vio_leakage_fix();
}
static void __init board_init(void)
{
	int num_displays = 0;

	omap_board_config = board_config;
	omap_board_config_size = ARRAY_SIZE(board_config);

	msecure_init();
	/* offmode config, before I2C config! */
	board_offmode_config();	
	omap_i2c_init();
	/* Fix to prevent VIO leakage on wl127x */
	wl127x_vio_leakage_fix();

#if defined CONFIG_OMAP2_DSS
	if (archos_lcd_panel_init(&board_lcd_device) == 0) {
		board_dss_devices[num_displays++] = &board_lcd_device;
		board_dss_data.default_device = &board_lcd_device;
	}
#ifdef CONFIG_OMAP2_DSS_DUMMY
	board_dss_devices[num_displays++] = &board_dummy_device;
	board_dss_data.default_device = &board_dummy_device;
#endif /* CONFIG_OMAP2_DSS_DUMMY */
	board_dss_data.num_devices = num_displays;
#endif/* CONFIG_OMAP2_DSS */

	platform_add_devices(board_devices, ARRAY_SIZE(board_devices));

	omap_cfg_reg(R3_3611_UART2_RX);
	omap_cfg_reg(Y3_3611_UART1_RX);
	omap_cfg_reg(AA2_3611_UART1_CTS);
	omap_serial_init();
	usb_musb_init();

	archos_accel_init(&board_mma7660fc_pdata);

	ads7846_dev_init();

	archos_mmc1_setup_gpios(&mmc[0], &board_vmmc_ext);
	twl4030_mmc_init(mmc);
	board_vmmc_ext_supply.dev = mmc[0].dev;
	board_vmmc2_supply.dev = mmc[1].dev;

	archos_audio_gpio_init();
	archos_leds_init();
	archos_keys_init();
	enable_board_wakeup_source();
}
Exemplo n.º 5
0
static void __init board_init(void)
{
	int num_displays = 0;
	
	omap_board_config = board_config;
	omap_board_config_size = ARRAY_SIZE(board_config);

	msecure_init();
	/* offmode config, before I2C config! */
	board_offmode_config();
	omap_i2c_init();
	
	/* Fix to prevent VIO leakage on wl127x */
	wl127x_vio_leakage_fix();
	
#if defined CONFIG_OMAP2_DSS
	if (archos_lcd_panel_init(&board_lcd_device) == 0) {
		board_dss_devices[num_displays++] = &board_lcd_device;
		board_dss_data.default_device = &board_lcd_device;
	}
	board_dss_devices[num_displays++] = &board_tv_device;
	board_dss_data.num_devices = num_displays;
	panel_tv_init();
#endif

	platform_add_devices(board_devices, ARRAY_SIZE(board_devices));

	omap_cfg_reg(H20_3430_UART3_RX_IRRX);
	omap_serial_init();
	usb_musb_init();

	archos_accel_init(&board_mma7660fc_pdata);

	ads7846_dev_init();

	twl4030_mmc_init(mmc);
	board_vmmc2_supply.dev = mmc[0].dev;

	archos_audio_gpio_init();
	archos_camera_ov7675_init();
	archos_leds_init();
	archos_keys_init();
	enable_board_wakeup_source();
}
Exemplo n.º 6
0
static void __init omap_zoom_init(void)
{
	if (machine_is_omap_zoom2()) {
		omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
	} else if (machine_is_omap_zoom3()) {
		omap3_mux_init(board_mux, OMAP_PACKAGE_CBP);
		omap_mux_init_gpio(ZOOM3_EHCI_RESET_GPIO, OMAP_PIN_OUTPUT);
		omap_mux_init_gpio(ZOOM3_McBSP3_BT_GPIO, OMAP_PIN_OUTPUT);
		usbhs_init(&usbhs_bdata);
	}

	board_nand_init(zoom_nand_partitions, ARRAY_SIZE(zoom_nand_partitions),
						ZOOM_NAND_CS, NAND_BUSWIDTH_16);
	zoom3_wifi_init();
	zoom_debugboard_init();
	zoom_peripherals_init();
	zoom_display_init();
	omap_register_ion();
	/* Added to register zoom devices */
	platform_add_devices(zoom_devices, ARRAY_SIZE(zoom_devices));
	wl127x_vio_leakage_fix();
}