static void __init msm7x27a_init_ebi2(void) { uint32_t ebi2_cfg; void __iomem *ebi2_cfg_ptr; ebi2_cfg_ptr = ioremap_nocache(MSM_EBI2_PHYS, sizeof(uint32_t)); if (!ebi2_cfg_ptr) return; ebi2_cfg = readl(ebi2_cfg_ptr); /* LGE_CHANGE : [email protected] - add LGE specific machine name */ if (machine_is_msm7x27a_rumi3() || machine_is_msm7x27a_surf() || machine_is_msm7625a_surf() || machine_is_msm8625_surf() || machine_is_msm7x27a_u0() ) ebi2_cfg |= (1 << 4); /* CS2 */ writel(ebi2_cfg, ebi2_cfg_ptr); iounmap(ebi2_cfg_ptr); /* Enable A/D MUX[bit 31] from EBI2_XMEM_CS2_CFG1 */ ebi2_cfg_ptr = ioremap_nocache(MSM_EBI2_XMEM_CS2_CFG1, sizeof(uint32_t)); if (!ebi2_cfg_ptr) return; ebi2_cfg = readl(ebi2_cfg_ptr); if (machine_is_msm7x27a_surf() || machine_is_msm7625a_surf() || machine_is_msm7x27a_u0() ) ebi2_cfg |= (1 << 31); writel(ebi2_cfg, ebi2_cfg_ptr); iounmap(ebi2_cfg_ptr); }
void __init msm_msm7627a_allocate_memory_regions(void) { void *addr; unsigned long fb_size; if (machine_is_msm7625a_surf() || machine_is_msm7625a_ffa()) fb_size = MSM7x25A_MSM_FB_SIZE; else if (machine_is_msm7x27a_u0()) fb_size = MSM7x27A_MSM_FB_SIZE; else if (machine_is_msm7627a_evb() || machine_is_msm8625_evb() || machine_is_msm8625_evt()) fb_size = MSM8x25_MSM_FB_SIZE; else fb_size = MSM_FB_SIZE; addr = alloc_bootmem_align(fb_size, 0x1000); msm_fb_resources[0].start = __pa(addr); msm_fb_resources[0].end = msm_fb_resources[0].start + fb_size - 1; pr_info("allocating %lu bytes at %p (%lx physical) for fb\n", fb_size, addr, __pa(addr)); #ifdef CONFIG_MSM_V4L2_VIDEO_OVERLAY_DEVICE fb_size = MSM_V4L2_VIDEO_OVERLAY_BUF_SIZE; addr = alloc_bootmem_align(fb_size, 0x1000); msm_v4l2_video_overlay_resources[0].start = __pa(addr); msm_v4l2_video_overlay_resources[0].end = msm_v4l2_video_overlay_resources[0].start + fb_size - 1; pr_debug("allocating %lu bytes at %p (%lx physical) for v4l2\n", fb_size, addr, __pa(addr)); #endif }
static void __init register_i2c_devices(void) { /* LGE_CHANGE : [email protected] - add LGE specific machine name */ if (machine_is_msm7x27a_surf() || machine_is_msm7625a_surf() || machine_is_msm8625_surf() || machine_is_msm7x27a_u0() ) sx150x_data[SX150X_CORE].io_open_drain_ena = 0xe0f0; core_exp_i2c_info[0].platform_data = &sx150x_data[SX150X_CORE]; i2c_register_board_info(MSM_GSBI1_QUP_I2C_BUS_ID, core_exp_i2c_info, ARRAY_SIZE(core_exp_i2c_info)); }
static void __init msm7x27a_init_cam(void) { if (!(machine_is_msm7x27a_ffa() || machine_is_msm7625a_ffa() || machine_is_msm7627a_qrd1() || machine_is_msm8625_ffa())) { /* LGE_CHANGE_S: 2012/11/2 [email protected] U0 Camera Bring Up */ #ifdef CONFIG_MACH_LGE #ifdef CONFIG_HI542 sensor_board_info_hi542.cam_vreg = NULL; sensor_board_info_hi542.num_vreg = 0; #endif #ifdef CONFIG_MT9E013_LGIT mt9e013_lgit_sensor_info.cam_vreg = NULL; mt9e013_lgit_sensor_info.num_vreg = 0; #endif #ifdef CONFIG_MT9V113 sensor_board_info_mt9v113.cam_vreg = NULL; sensor_board_info_mt9v113.num_vreg = 0; #endif #else #ifdef CONFIG_S5K4E1 sensor_board_info_s5k4e1.cam_vreg = NULL; sensor_board_info_s5k4e1.num_vreg = 0; #endif #ifdef CONFIG_MT9E013 sensor_board_info_mt9e013.cam_vreg = NULL; sensor_board_info_mt9e013.num_vreg = 0; #endif #ifdef CONFIG_WEBCAM_OV9726 sensor_board_info_ov9726.cam_vreg = NULL; sensor_board_info_ov9726.num_vreg = 0; #endif #ifdef CONFIG_OV7692 sensor_board_info_ov7692.cam_vreg = NULL; sensor_board_info_ov7692.num_vreg = 0; #endif #ifdef CONFIG_OV5647 sensor_board_info_ov5647.cam_vreg = NULL; sensor_board_info_ov5647.num_vreg = 0; #endif sensor_board_info_ov8825.cam_vreg = NULL; sensor_board_info_ov8825.num_vreg = 0; #endif /* LGE_CHANGE_E: 2012/11/2 [email protected] U0 Camera Bring Up */ } if (machine_is_msm8625_evb() || machine_is_msm8625_evt()) { #ifdef CONFIG_OV7692 sensor_board_info_ov7692.cam_vreg = ov7692_gpio_vreg; sensor_board_info_ov7692.num_vreg = ARRAY_SIZE(ov7692_gpio_vreg); #endif #ifdef CONFIG_OV5647 sensor_board_info_ov5647.cam_vreg = ov5647_gpio_vreg; sensor_board_info_ov5647.num_vreg = ARRAY_SIZE(ov5647_gpio_vreg); #endif /* LGE_CHANGE_S: 2012/11/2 [email protected] U0 Camera Bring Up */ #ifndef CONFIG_MACH_LGE sensor_board_info_ov8825.cam_vreg = ov8825_gpio_vreg; sensor_board_info_ov8825.num_vreg = ARRAY_SIZE(ov8825_gpio_vreg); #endif /* LGE_CHANGE_E: 2012/11/2 [email protected] U0 Camera Bring Up */ } platform_device_register(&msm_camera_server); /* LGE_CHANGE_S: 2012/11/2 [email protected] U0 Camera Bring Up */ #ifndef CONFIG_MACH_LGE if (machine_is_msm8625_surf() || machine_is_msm8625_evb() || machine_is_msm8625_evt() || machine_is_msm8625_qrd7() || machine_is_msm7x27a_u0()) { platform_device_register(&msm8625_device_csic0); platform_device_register(&msm8625_device_csic1); } else { platform_device_register(&msm7x27a_device_csic0); platform_device_register(&msm7x27a_device_csic1); } #endif platform_device_register(&msm7x27a_device_csic0); platform_device_register(&msm7x27a_device_csic1); /* LGE_CHANGE_E: 2012/11/2 [email protected] U0 Camera Bring Up */ if (machine_is_msm8625_evb() || machine_is_msm8625_evt() || machine_is_msm8625_qrd7()) *(int *) msm7x27a_device_clkctl.dev.platform_data = 1; platform_device_register(&msm7x27a_device_clkctl); platform_device_register(&msm7x27a_device_vfe); }