void __init gd2evf_fb_init(void) { spi_register_board_info(spi3_board_info, ARRAY_SIZE(spi3_board_info)); s3cfb_set_platdata(&fb_platform_data); evf_fb_platdata_addr = s3c_device_fb.dev.platform_data; }
//extern void s3cfb_set_display_path(void); void __init mipi_fb_init(void) { struct s5p_platform_dsim *dsim_pd = NULL; struct mipi_ddi_platform_data *mipi_ddi_pd = NULL; /* gpio pad configuration */ lcd_cfg_gpio(); s3cfb_set_display_path(); /* set platform data */ dsim_pd = s5p_device_dsim.dev.platform_data; dsim_pd->platform_rev = 1; dsim_pd->mipi_power = s5p_dsim_mipi_power_control; dsim_pd->dsim_lcd_info = &watch_lcd_info; dsim_pd->dsim_info->e_no_data_lane = DSIM_NO_DATA_LANE; dsim_pd->dsim_info->p = DPHY_PLL_P; dsim_pd->dsim_info->m = DPHY_PLL_M; dsim_pd->dsim_info->s = DPHY_PLL_S; mipi_ddi_pd = &watch_mipi_ddi_pd; mipi_ddi_pd->lcd_power_on = lcd_power_on; #if defined(CONFIG_FB_S5P_I80_LCD) lcd_panel_pdata_s6e63j003.te_irq = gpio_to_irq(GPIO_LCD_VSYNC); #endif platform_device_register(&s5p_device_dsim); s3cfb_set_platdata(&watch_fb_data); }
static void __init smdk6410_machine_init(void) { s3c_device_nand.dev.platform_data = &s3c_nand_mtd_part_info; s3c_device_onenand.dev.platform_data = &s3c_onenand_data; writel(readl(S3C_HCLK_GATE)|S3C_CLKCON_HCLK_SCALER,S3C_HCLK_GATE); smdk6410_smc911x_set(); s3c_i2c0_set_platdata(NULL); // s3c_i2c1_set_platdata(NULL); #if defined(CONFIG_TOUCHSCREEN_S3C) | defined(CONFIG_TOUCHSCREEN_S3C_ANDROID) s3c_ts_set_platdata(&s3c_ts_platform); s3c_adc_set_platdata(&s3c_adc_platform); #endif i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); #if defined(CONFIG_SPI_CNTRLR_0) s3cspi_set_slaves(BUSNUM(0), ARRAY_SIZE(s3c_slv_pdata_0), s3c_slv_pdata_0); #endif #if defined(CONFIG_SPI_CNTRLR_1) s3cspi_set_slaves(BUSNUM(1), ARRAY_SIZE(s3c_slv_pdata_1), s3c_slv_pdata_1); #endif spi_register_board_info(s3c_spi_devs, ARRAY_SIZE(s3c_spi_devs)); s3c_fimc0_set_platdata(NULL); s3c_fimc1_set_platdata(NULL); /* fb */ #ifdef CONFIG_FB_S3C_V2 s3cfb_set_platdata(NULL); #endif #ifdef CONFIG_VIDEO_FIMC // s3c_fimc_reset_camera(); #endif platform_add_devices(smdk6410_devices, ARRAY_SIZE(smdk6410_devices)); s3c6410_pm_init(); smdk_backlight_register(); smdk6410_set_qos(); real6410_set_gpio(); }
void __init mipi_fb_init(void) { struct s5p_platform_dsim *dsim_pd = NULL; struct mipi_ddi_platform_data *mipi_ddi_pd = NULL; struct dsim_lcd_config *dsim_lcd_info = NULL; /* gpio pad configuration */ lcd_cfg_gpio(); /* set platform data */ dsim_pd = s5p_device_dsim.dev.platform_data; dsim_pd->platform_rev = 1; dsim_pd->mipi_power = s5p_dsim_mipi_power_control; dsim_lcd_info = dsim_pd->dsim_lcd_info; dsim_lcd_info->lcd_panel_info = (void *)&lcd_panel_pdata; #if defined(CONFIG_MACH_T0) || defined(CONFIG_MACH_IPCAM) if (!gpio_get_value(GPIO_OLED_ID)) /* for EA8061 DDI */ memcpy(&lcd_panel_pdata, &ea8061, sizeof(struct s3cfb_lcd)); #endif dsim_pd->dsim_info->e_no_data_lane = DSIM_NO_DATA_LANE; dsim_pd->dsim_info->p = DPHY_PLL_P; dsim_pd->dsim_info->m = DPHY_PLL_M; dsim_pd->dsim_info->s = DPHY_PLL_S; mipi_ddi_pd = dsim_lcd_info->mipi_ddi_pd; mipi_ddi_pd->lcd_reset = reset_lcd; mipi_ddi_pd->lcd_power_on = lcd_power_on; platform_device_register(&s5p_device_dsim); s3cfb_set_platdata(&mipi_fb_data); #ifdef CONFIG_BACKLIGHT_LP855X lcd_bl_init(); #endif }
static void __init smdk6442_machine_init(void) { // s3c_device_nand.dev.platform_data = &s3c_nand_mtd_part_info; smdk6442_smc911x_set(); #ifdef CONFIG_FB_S3C_AMS320 spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); #endif s3cfb_set_platdata(NULL); s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); i2c_register_board_info(2, i2c_devs2, ARRAY_SIZE(i2c_devs2)); s3c_ts_set_platdata(&s3c_ts_platform); s3c_adc_set_platdata(&s3c_adc_platform); /* fb */ // s3cfb_set_platdata(&fb_data); platform_add_devices(smdk6442_devices, ARRAY_SIZE(smdk6442_devices)); s5p6442_pm_init(); smdk_backlight_register(); #if defined(CONFIG_MMC_SDHCI_S3C) s3c_sdhci_set_platdata(); #endif s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); smdk6442_cam0_power(1); smdk6442_cam1_power(1); }
static void __init universal_machine_init(void) { int err; tl2796_gpio_setup(); universal_i2c_gpio_init(); s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); i2c_register_board_info(I2C_GPIO_26V_BUS, i2c_gpio_26v_devs, ARRAY_SIZE(i2c_gpio_26v_devs)); i2c_register_board_info(I2C_GPIO_HDMI_BUS, i2c_gpio_hdmi_devs, ARRAY_SIZE(i2c_gpio_hdmi_devs)); i2c_register_board_info(I2C_GPIO_28V_BUS, i2c_gpio_28v_devs, ARRAY_SIZE(i2c_gpio_28v_devs)); spi_register_board_info(spi_board_info, ARRAY_SIZE(spi_board_info)); s3cfb_set_platdata(&fb_data); err = camera_pin_request(); if (err) printk(KERN_INFO "CAMERA PIN REQUEST FAILED\n"); /* Registering external camera to platform data */ /*fimc_setting.camera[0] = &camera_a;*/ fimc_setting.camera[0] = &camera_c; s3c_fimc0_set_platdata(&fimc_setting); s3c_fimc1_set_platdata(&fimc_setting); s3c_fimc2_set_platdata(&fimc_setting); /* testing MIPI */ /* CSI-2 */ s3c_csis_set_platdata(NULL); s3c_fimc_reset_camera(); platform_add_devices(universal_devices, ARRAY_SIZE(universal_devices)); }
static void __init smdkc100_machine_init(void) { s3c_device_nand.dev.platform_data = &s3c_nand_mtd_part_info; s3c_device_onenand.dev.platform_data = &s3c_onenand_data; smdkc100_smc911x_set(); s3c_ts_set_platdata(&s3c_ts_platform); s3c_adc_set_platdata(&s3c_adc_platform); /* i2c */ s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); /* fimc */ s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); s3c_csis_set_platdata(NULL); smdkc100_reset_camera(); /* fb */ #ifdef CONFIG_FB_S3C s3cfb_set_platdata(&fb_data); #endif platform_add_devices(smdkc100_devices, ARRAY_SIZE(smdkc100_devices)); #if defined(CONFIG_PM) s5pc1xx_pm_init(); #endif smdk_backlight_register(); }
static void __init smdkv210_machine_init(void) { /* Find out S5PC110 chip version */ _hw_version_check(); #ifdef CONFIG_ANDROID_PMEM android_pmem_set_platdata(); #endif /* i2c */ s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); i2c_register_board_info(2, i2c_devs2, ARRAY_SIZE(i2c_devs2)); #if defined(CONFIG_HKDKC110_BOARD) && defined(CONFIG_INPUT_YAMAHA_SENSORS) && !defined(CONFIG_INPUT_BMA150_SENSOR) // i2c-gpio sda/scl set pull-up yas529,bma150,ish1000 gpio_request(GPIO_SENSORS_SDA, "GPB2"); s3c_gpio_setpull(GPIO_SENSORS_SDA, S3C_GPIO_PULL_UP); gpio_direction_input(GPIO_SENSORS_SDA); gpio_free(GPIO_SENSORS_SDA); gpio_request(GPIO_SENSORS_SCL, "GPB2"); s3c_gpio_setpull(GPIO_SENSORS_SCL, S3C_GPIO_PULL_UP); gpio_direction_input(GPIO_SENSORS_SCL); gpio_free(GPIO_SENSORS_SCL); // BMA150 CS PIN --> HIGH gpio_request(S5PV210_GPB(1), "GPB2"); s3c_gpio_setpull(S5PV210_GPB(1), S3C_GPIO_PULL_NONE); gpio_direction_output(S5PV210_GPB(1), 1); gpio_free(S5PV210_GPB(1)); i2c_register_board_info(4, i2c_devs4, ARRAY_SIZE(i2c_devs4)); #endif /* to support system shut down */ pm_power_off = smdkv210_power_off; #ifdef CONFIG_FB_S3C_LP101WH1 s3cfb_set_platdata(&lp101wh1_data); #endif #ifdef CONFIG_FB_S3C_LMS350DF s3cfb_set_platdata(&lms350df_data); #endif #if defined(CONFIG_PM) s3c_pm_init(); #endif #ifdef CONFIG_VIDEO_FIMC /* fimc */ s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); #endif /* 5V */ hkdkc110_5V_power(1); #ifdef CONFIG_VIDEO_MFC50 /* mfc */ s3c_mfc_set_platdata(NULL); #endif #ifdef CONFIG_VIDEO_TV20 s3c_set_qos(); #endif #ifdef CONFIG_S3C_DEV_HSMMC s5pv210_default_sdhci0(); #endif #ifdef CONFIG_S3C_DEV_HSMMC1 s5pv210_default_sdhci1(); #endif #ifdef CONFIG_S3C_DEV_HSMMC2 s5pv210_default_sdhci2(); #endif #ifdef CONFIG_S5PV210_SETUP_SDHCI s3c_sdhci_set_platdata(); #endif platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_devices)); #if defined(CONFIG_HAVE_PWM) smdk_backlight_register(); #endif }
static void __init smdkc100_machine_init(void) { /* spi */ #ifdef CONFIG_SPI_S3C64XX u32 val; val = __raw_readl(S5PC1XX_GPBCON); val &= ~(0xf<<12); val |= (0x1<<12); __raw_writel(val, S5PC1XX_GPBCON); val = __raw_readl(S5PC1XX_GPBPUD); val &= ~(0x3<<6); val |= (0x2<<6); __raw_writel(val, S5PC1XX_GPBPUD); s3c64xx_spi_set_info(BUSNUM(0), S5PC1XX_SPI_SRCCLK_PCLK, ARRAY_SIZE(smdk_spi0_csi)); spi_register_board_info(s3c_spi_devs, ARRAY_SIZE(s3c_spi_devs)); #endif s3c_device_nand.dev.platform_data = &s3c_nand_mtd_part_info; s3c_device_onenand.dev.platform_data = &s3c_onenand_data; //smdkc100_smc911x_set(); s3c_ts_set_platdata(&s3c_ts_platform); s3c_adc_set_platdata(&s3c_adc_platform); /* i2c */ s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); /* pb206x i2c */ pb206x_i2c_add_bus(0, 100); pb206x_i2c_add_bus(1, 100); pb206x_i2c_add_bus(2, 100); pb206x_i2c_add_bus(3, 100); pb206x_i2c_add_bus(4, 100); //pb206x_i2c_add_bus(5, 100); /* i2c client */ pp876ax_i2c_client_init(); /* fimc */ s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); s3c_csis_set_platdata(NULL); /* fb */ #ifdef CONFIG_FB_S3C s3cfb_set_platdata(NULL); #endif platform_add_devices(smdkc100_devices, ARRAY_SIZE(smdkc100_devices)); #if defined(CONFIG_PM) s5pc1xx_pm_init(); #endif smdk_backlight_register(); #if defined(CONFIG_MMC_SDHCI_S3C) s3c_sdhci_set_platdata(); #endif smdkc100_reset_camera(); }
static void __init smdkv210_machine_init(void) { /* Find out S5PC110 chip version */ _hw_version_check(); /* OneNAND */ #ifdef CONFIG_MTD_ONENAND //s3c_device_onenand.dev.platform_data = &s5p_onenand_data; #endif #ifdef CONFIG_DM9000 smdkv210_dm9000_set(); #endif #ifdef CONFIG_ANDROID_PMEM android_pmem_set_platdata(); #endif /* i2c */ s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); i2c_register_board_info(2, i2c_devs2, ARRAY_SIZE(i2c_devs2)); #ifdef CONFIG_FB_S3C s3cfb_set_platdata(NULL); #endif #if defined(CONFIG_BLK_DEV_IDE_S3C) s3c_ide_set_platdata(&smdkv210_ide_pdata); #endif #if defined(CONFIG_TOUCHSCREEN_S3C) s3c_ts_set_platdata(&s3c_ts_platform); #endif #if defined(CONFIG_S5PV210_ADCTS) s3c_adcts_set_platdata(&s3c_adcts_cfgs); #endif #if defined(CONFIG_PM) s3c_pm_init(); #endif #ifdef CONFIG_VIDEO_FIMC /* fimc */ s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); s3c_csis_set_platdata(NULL); smdkv210_cam0_power(1); smdkv210_cam1_power(1); smdkv210_mipi_cam_reset(); #endif #ifdef CONFIG_VIDEO_MFC50 /* mfc */ s3c_mfc_set_platdata(NULL); #endif #ifdef CONFIG_S3C_DEV_HSMMC s5pv210_default_sdhci0(); #endif #ifdef CONFIG_S3C_DEV_HSMMC1 s5pv210_default_sdhci1(); #endif #ifdef CONFIG_S3C_DEV_HSMMC2 s5pv210_default_sdhci2(); #endif #ifdef CONFIG_S3C_DEV_HSMMC3 s5pv210_default_sdhci3(); #endif #ifdef CONFIG_S5PV210_SETUP_SDHCI s3c_sdhci_set_platdata(); #endif platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_devices)); }
static void __init smdkc110_machine_init(void) { /* i2c */ s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); s3c_i2c3_set_platdata(NULL); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); /* spi */ #if defined(CONFIG_SPI_CNTRLR_0) s3cspi_set_slaves(BUSNUM(0), ARRAY_SIZE(s3c_slv_pdata_0), s3c_slv_pdata_0); #endif #if defined(CONFIG_SPI_CNTRLR_1) s3cspi_set_slaves(BUSNUM(1), ARRAY_SIZE(s3c_slv_pdata_1), s3c_slv_pdata_1); #endif #if defined(CONFIG_SPI_CNTRLR_2) s3cspi_set_slaves(BUSNUM(2), ARRAY_SIZE(s3c_slv_pdata_2), s3c_slv_pdata_2); #endif spi_register_board_info(s3c_spi_devs, ARRAY_SIZE(s3c_spi_devs)); universal_wm8994_init(); universal_sdhci2_set_platdata(); #ifdef CONFIG_FB_S3C_LVDS s3cfb_set_platdata(&lvds_data); #endif /* pmem */ #ifdef CONFIG_ANDROID_PMEM android_pmem_set_platdata(); #endif /* fimc */ s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); s3c_csis_set_platdata(NULL); smdkc110_cam0_power(1); smdkc110_cam1_power(1); smdkc110_mipi_cam_power(1); /* ipc */ s3c_ipc_set_platdata(NULL); platform_add_devices(smdkc110_devices, ARRAY_SIZE(smdkc110_devices)); #if defined(CONFIG_PM) s5pc11x_pm_init(); #endif #if defined(CONFIG_HAVE_PWM) smdk_backlight_register(); #endif s3c_gpio_cfgpin( AP_I2C_SCL_28V, 1 ); s3c_gpio_setpull( AP_I2C_SCL_28V, S3C_GPIO_PULL_UP); s3c_gpio_cfgpin( AP_I2C_SDA_28V, 1 ); s3c_gpio_setpull( AP_I2C_SDA_28V, S3C_GPIO_PULL_UP); sec_class = class_create(THIS_MODULE, "sec"); }
static void __init smdkv210_machine_init(void) { /* Find out S5PC110 chip version */ _hw_version_check(); /* OneNAND */ #ifdef CONFIG_MTD_ONENAND //s3c_device_onenand.dev.platform_data = &s5p_onenand_data; #endif #ifdef CONFIG_MTD_NAND //s3c_device_nand.dev.platform_data = &s5p_nand_data; #endif #ifdef CONFIG_DM9000 smdkv210_dm9000_set(); #endif #ifdef CONFIG_ANDROID_PMEM android_pmem_set_platdata(); #endif /* i2c */ s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); i2c_register_board_info(2, i2c_devs2, ARRAY_SIZE(i2c_devs2)); /* to support system shut down */ pm_power_off = smdkv210_power_off; #if defined(CONFIG_SPI_CNTRLR_0) s3cspi_set_slaves(BUSNUM(0), ARRAY_SIZE(s3c_slv_pdata_0), s3c_slv_pdata_0); #endif #if defined(CONFIG_SPI_CNTRLR_1) s3cspi_set_slaves(BUSNUM(1), ARRAY_SIZE(s3c_slv_pdata_1), s3c_slv_pdata_1); #endif #if defined(CONFIG_SPI_CNTRLR_2) s3cspi_set_slaves(BUSNUM(2), ARRAY_SIZE(s3c_slv_pdata_2), s3c_slv_pdata_2); #endif spi_register_board_info(s3c_spi_devs, ARRAY_SIZE(s3c_spi_devs)); #ifdef CONFIG_FB_S3C_LTE480WV s3cfb_set_platdata(<e480wv_fb_data); #endif #if defined(CONFIG_BLK_DEV_IDE_S3C) s3c_ide_set_platdata(&smdkv210_ide_pdata); #endif #if defined(CONFIG_TOUCHSCREEN_S3C) s3c_ts_set_platdata(&s3c_ts_platform); #endif #if defined(CONFIG_S5PV210_ADC) s3c_adc_set_platdata(&s3c_adc_platform); #endif #if defined(CONFIG_PM) s3c_pm_init(); #endif #ifdef CONFIG_VIDEO_FIMC /* fimc */ s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); s3c_csis_set_platdata(NULL); smdkv210_cam0_power(1); smdkv210_cam1_power(1); smdkv210_mipi_cam_reset(); #endif #ifdef CONFIG_VIDEO_MFC50 /* mfc */ s3c_mfc_set_platdata(NULL); #endif #ifdef CONFIG_VIDEO_TV20 s3c_set_qos(); #endif #ifdef CONFIG_S3C_DEV_HSMMC s5pv210_default_sdhci0(); #endif #ifdef CONFIG_S3C_DEV_HSMMC1 s5pv210_default_sdhci1(); #endif #ifdef CONFIG_S3C_DEV_HSMMC2 s5pv210_default_sdhci2(); #endif #ifdef CONFIG_S3C_DEV_HSMMC3 s5pv210_default_sdhci3(); #endif #ifdef CONFIG_S5PV210_SETUP_SDHCI s3c_sdhci_set_platdata(); #endif platform_add_devices(smdkv210_devices, ARRAY_SIZE(smdkv210_devices)); #if defined(CONFIG_HAVE_PWM) smdk_backlight_register(); #endif }
static void __init mango210_machine_init(void) { /* Find out S5PC110 chip version */ _hw_version_check(); #ifdef CONFIG_MTD_NAND // s3c_device_nand.dev.platform_data = &s5p_nand_data; #endif #ifdef CONFIG_SMSC911X mango210_smsc911x_set(); #endif #ifdef CONFIG_ANDROID_PMEM android_pmem_set_platdata(); #endif /* i2c */ s3c_i2c0_set_platdata(NULL); s3c_i2c1_set_platdata(NULL); s3c_i2c2_set_platdata(NULL); i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0)); i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1)); i2c_register_board_info(2, i2c_devs2, ARRAY_SIZE(i2c_devs2)); /* to support system shut down */ pm_power_off = mango210_power_off; #if defined(CONFIG_SPI_CNTRLR_0) s3cspi_set_slaves(BUSNUM(0), ARRAY_SIZE(s3c_slv_pdata_0), s3c_slv_pdata_0); #endif #if defined(CONFIG_SPI_CNTRLR_1) s3cspi_set_slaves(BUSNUM(1), ARRAY_SIZE(s3c_slv_pdata_1), s3c_slv_pdata_1); #endif #if defined(CONFIG_SPI_CNTRLR_2) s3cspi_set_slaves(BUSNUM(2), ARRAY_SIZE(s3c_slv_pdata_2), s3c_slv_pdata_2); #endif spi_register_board_info(s3c_spi_devs, ARRAY_SIZE(s3c_spi_devs)); #if defined(CONFIG_FB_S3C_LB070WV6) || defined(CONFIG_FB_S3C_LTN101NT05) s3cfb_set_platdata(&mango_fb_data); #endif #if defined(CONFIG_TOUCHSCREEN_S3C) s3c_ts_set_platdata(&s3c_ts_platform); #endif #if defined(CONFIG_S5PV210_ADC) s3c_adc_set_platdata(&s3c_adc_platform); #endif #if defined(CONFIG_PM) s3c_pm_init(); #endif #ifdef CONFIG_VIDEO_FIMC #ifdef CONFIG_S5PV210_SETUP_FIMC0 s3c_fimc0_set_platdata(&fimc_plat); #endif #ifdef CONFIG_S5PV210_SETUP_FIMC1 s3c_fimc1_set_platdata(&fimc_plat); #endif #ifdef CONFIG_S5PV210_SETUP_FIMC2 s3c_fimc2_set_platdata(&fimc_plat); #endif mango210_camera_set(); mango210_cam0_power(1); #else #ifdef CONFIG_S5PV210_SETUP_FIMC0 s3c_fimc0_set_platdata(NULL); #endif #ifdef CONFIG_S5PV210_SETUP_FIMC1 s3c_fimc1_set_platdata(NULL); #endif #ifdef CONFIG_S5PV210_SETUP_FIMC2 s3c_fimc2_set_platdata(NULL); #endif #endif #ifdef CONFIG_SMSC911X mango210_smsc911x_set(); #endif #ifdef CONFIG_VIDEO_MFC50 /* mfc */ s3c_mfc_set_platdata(NULL); #endif #ifdef CONFIG_VIDEO_TV20 s3c_set_qos(); #endif #ifdef CONFIG_S3C_DEV_HSMMC s5pv210_default_sdhci0(); #endif #ifdef CONFIG_S3C_DEV_HSMMC1 s5pv210_default_sdhci1(); #endif #ifdef CONFIG_S3C_DEV_HSMMC2 s5pv210_default_sdhci2(); #endif #ifdef CONFIG_S3C_DEV_HSMMC3 s5pv210_default_sdhci3(); #endif #ifdef CONFIG_S5PV210_SETUP_SDHCI s3c_sdhci_set_platdata(); #endif platform_add_devices(mango210_devices, ARRAY_SIZE(mango210_devices)); #if defined(CONFIG_HAVE_PWM) mango_backlight_register(); #endif #ifdef CONFIG_USB_SUPPORT mango210_usb_host_set(); #endif }
static void __init smdk4210_machine_init(void) { c1_config_gpio_table(); c1_config_sleep_gpio_table(); s3c_pm_init(); s3c_gpio_cfgpin(GPIO_WLAN_EN, S3C_GPIO_OUTPUT); s3c_gpio_setpull(GPIO_WLAN_EN, S3C_GPIO_PULL_NONE); exynos4_pd_enable(&exynos4_device_pd[PD_MFC].dev); exynos4_pd_enable(&exynos4_device_pd[PD_G3D].dev); exynos4_pd_enable(&exynos4_device_pd[PD_LCD0].dev); exynos4_pd_enable(&exynos4_device_pd[PD_LCD1].dev); exynos4_pd_enable(&exynos4_device_pd[PD_CAM].dev); exynos4_pd_enable(&exynos4_device_pd[PD_TV].dev); /* SROMC Setup */ /* TODO: Move me to a separate function */ /*u32 tmp; tmp = __raw_readl(S5P_SROM_BW); tmp &= ~(0xffff); tmp |= (0x9999); __raw_writel(tmp, S5P_SROM_BW); __raw_writel(0xff1ffff1, S5P_SROM_BC1); tmp = __raw_readl(S5P_VA_GPIO + 0x120); tmp &= ~(0xffffff); tmp |= (0x221121); __raw_writel(tmp, (S5P_VA_GPIO + 0x120)); __raw_writel(0x22222222, (S5P_VA_GPIO + 0x180)); __raw_writel(0x22222222, (S5P_VA_GPIO + 0x1a0)); __raw_writel(0x22222222, (S5P_VA_GPIO + 0x1c0)); __raw_writel(0x22222222, (S5P_VA_GPIO + 0x1e0)); */ /* MMC Card init */ s3c_gpio_cfgpin(GPIO_MASSMEM_EN, S3C_GPIO_OUTPUT); gpio_set_value(GPIO_MASSMEM_EN, GPIO_MASSMEM_EN_LEVEL); /* 400 kHz for initialization of MMC Card */ __raw_writel((__raw_readl(S5P_CLKDIV_FSYS3) & 0xfffffff0) | 0x9, S5P_CLKDIV_FSYS3); __raw_writel((__raw_readl(S5P_CLKDIV_FSYS2) & 0xfff0fff0) | 0x80008, S5P_CLKDIV_FSYS2); __raw_writel((__raw_readl(S5P_CLKDIV_FSYS1) & 0xfff0fff0) | 0x90009, S5P_CLKDIV_FSYS1); /* PLATDATA init */ s3c_i2c0_set_platdata(NULL); /*i2c_register_board_info(0, i2c_devs0, ARRAY_SIZE(i2c_devs0))*/ s3c_i2c1_set_platdata(NULL); /*i2c_register_board_info(1, i2c_devs1, ARRAY_SIZE(i2c_devs1));*/ smdk4210_init_tsp(); s3c_i2c3_set_platdata(&i2c3_data); i2c_register_board_info(3, i2c_devs3, ARRAY_SIZE(i2c_devs3)); /* TSP */ smdk4210_init_pmic(); s3c_i2c5_set_platdata(NULL); i2c_register_board_info(5, i2c_devs5, ARRAY_SIZE(i2c_devs5)); s3c_i2c6_set_platdata(NULL); //i2c_register_board_info(6, i2c_devs6, ARRAY_SIZE(i2c_devs6)); /*s3c_i2c7_set_platdata(NULL); TVOUT i2c_register_board_info(7, i2c_devs7, ARRAY_SIZE(i2c_devs7));*/ smdk4210_init_touchkey(); i2c_register_board_info(9, i2c_gpio_gauge_devs, ARRAY_SIZE(i2c_gpio_gauge_devs)); s3cfb_set_platdata(NULL); s3c_device_fb.dev.parent = &exynos4_device_pd[PD_LCD0].dev; s3c_sdhci2_set_platdata(&smdk4210_hsmmc2_pdata); s3c_sdhci0_set_platdata(&smdk4210_hsmmc0_pdata); s3c_sdhci3_set_platdata(&smdk4210_hsmmc3_pdata); s3c_mshci_set_platdata(&smdk4210_mshc_pdata); s5p_fimg2d_set_platdata(&fimg2d_data); s5p_device_fimg2d.dev.parent = &exynos4_device_pd[PD_LCD0].dev; /* fimc */ s3c_fimc0_set_platdata(&fimc_plat); s3c_fimc1_set_platdata(&fimc_plat); s3c_fimc2_set_platdata(&fimc_plat); #if 0 /* TVOUT - Will nebkat hax? */ s5p_hdmi_hpd_set_platdata(&hdmi_hpd_data); s5p_hdmi_cec_set_platdata(&hdmi_cec_data); s5p_device_tvout.dev.parent = &exynos4_device_pd[PD_TV].dev; #endif smdk4210_otg_init(); smdk4210_ohci_init(); clk_xusbxti.rate = 24000000; smdk4210_init_battery_gauge(); smdk4210_ehci_init(); platform_add_devices(smdk4210_devices, ARRAY_SIZE(smdk4210_devices)); samsung_bl_set(&smdk4210_bl_gpio_info, &smdk4210_bl_data); /*smdk4210_bt_setup();*/ }