示例#1
0
static void __init ipcam_init(void)
{
	pxa168_set_vdd_iox(VDD_IO0, VDD_IO_3P3V);
	pxa168_set_vdd_iox(VDD_IO1, VDD_IO_3P3V);
	pxa168_set_vdd_iox(VDD_IO2, VDD_IO_3P3V);
	pxa168_set_vdd_iox(VDD_IO3, VDD_IO_3P3V);
	pxa168_set_vdd_iox(VDD_IO4, VDD_IO_3P3V);
	pxa168_mfp_set_fastio_drive(MFP_DS02X);

	mfp_config(ARRAY_AND_SIZE(ipcam_pin_config));

	/* on-chip devices */
	pxa168_add_uart(3);
	pxa168_add_ssp(0);
	pxa168_add_twsi(0, &pwri2c_info, ARRAY_AND_SIZE(ipcam_i2c_board_info));
	pxa168_add_twsi(1, &pwri2c_info, ARRAY_AND_SIZE(pwri2c_board_info));
#ifdef CONFIG_USB_GADGET_PXA_U2O
	pxa168_add_u2o(&ipcam_u2o_info);
#endif
#ifdef CONFIG_USB_EHCI_PXA_U2H
	pxa168_add_u2h(&ipcam_u2h_info);
#endif
#if defined(CONFIG_MMC_PXA_SDH)
	ipcam_init_mmc();
#endif
	pxa168_add_mfu(&pxa168_eth_data);

	/* off-chip devices */
#if defined(CONFIG_PXA168_CAMERA) && defined(CONFIG_VIDEO_OV7740)
	pxa168_add_cam();
#endif
#if defined(CONFIG_VIDEO_OV529)
	pxa168_add_ov529(&ov529_encoder_data);
#endif
	ipcam_init_spi();
}
static void __init aspenite_init(void)
{
	mfp_config(ARRAY_AND_SIZE(aspenite_pin_config));
        pxa168_set_vdd_iox(VDD_IO0, VDD_IO_3P3V);
	pxa168_set_vdd_iox(VDD_IO1, VDD_IO_3P3V);
	pxa168_set_vdd_iox(VDD_IO2, VDD_IO_3P3V);
	pxa168_set_vdd_iox(VDD_IO3, VDD_IO_3P3V);
	pxa168_set_vdd_iox(VDD_IO4, VDD_IO_3P3V);
	pxa168_mfp_set_fastio_drive(MFP_DS02X);

	/* on-chip devices */
	pxa168_add_uart(1);
#if defined(CONFIG_BT_HCIUART) && defined(CONFIG_WLAN_8688_SDIO)
	pxa168_add_uart(3);
#endif
	aspenite_add_nand();
	pxa168_add_ssp(0);
#if defined(CONFIG_MTD_M25P80) && defined(CONFIG_SPI_PXA2XX)
	pxa168_add_ssp(1);
	pxa168_add_spi(2, &pxa_ssp_master_info);
	spi_flashinit();
#endif
	pxa168_add_twsi(0, &pwri2c_info, ARRAY_AND_SIZE(aspenite_i2c_board_info));
	pxa168_add_twsi(1, &pwri2c_info, ARRAY_AND_SIZE(pwri2c_board_info));

	if (is_android())
		pxa168_add_keypad(&aspenite_android_keypad_info);
	else
		pxa168_add_keypad(&aspenite_keypad_info);

#ifdef CONFIG_USB_GADGET_PXA_U2O
 	pxa168_add_u2o(&aspenite_u2o_info);
#endif

#ifdef CONFIG_USB_OTG
	pxa168_add_u2ootg(&aspenite_u2o_info);
	pxa168_add_u2oehci(&aspenite_u2o_info);
#endif

#ifdef CONFIG_USB_EHCI_PXA_U2H
 	pxa168_add_u2h(&aspenite_u2h_info);
#endif
	pxa168_add_mfu(&pxa168_eth_data);
#ifdef CONFIG_PCI
	pxa168_add_pcie(&pxa168_pcie_data);
#endif
#if defined(CONFIG_MMC_PXA_SDH)
	pxa168_add_sdh(0, &aspenite_sdh_platform_data_MMC1);
#if defined(CONFIG_WLAN_8688_SDIO)
	pxa168_add_sdh(1, &aspenite_sdh_platform_data_MMC2);
#if defined(CONFIG_BT_HCIUART)
	aspenite_bt_init();
#endif
#endif
#if defined(CONFIG_MMC3)
	pxa168_add_sdh(2, &aspenite_sdh_platform_data_MMC3);
#endif
#endif
#if defined(CONFIG_CIR)
	pxa168_cir_init(); /*init the gpio */
#endif
#if defined(CONFIG_PXA168_CF)
#if defined(CONFIG_PXA168_CF_USE_GPIO_CARDDETECT)
	pxa168_cf_init();
#else
	pxa168_add_cf();	
#endif
#endif
	pxa168_add_freq();
	if (machine_is_aspenite()) {
		pxa168_add_fb(&aspenite_lcd_info);
		pxa168_add_fb_ovly(&aspenite_lcd_ovly_info);
	}
	/* off-chip devices */
	if (machine_is_zylonite2()) {
		pxa168_add_fb(&zylonite2_lcd_info);
		platform_device_register(&smc91x_device);
	}
#if defined(CONFIG_PXA168_CAMERA)
	pxa168_add_cam();
#endif
#if defined(CONFIG_PXA_ICR)
	pxa168_add_icr();
#endif
#if defined(CONFIG_BATTERY_PXA168)
	pxa168_add_battery();
#endif
}