void __init msm8960_init_fb(void) { uint32_t soc_platform_version = socinfo_get_version(); if (SOCINFO_VERSION_MAJOR(soc_platform_version) >= 3) mdp_pdata.mdp_rev = MDP_REV_43; if (cpu_is_msm8960ab()) mdp_pdata.mdp_rev = MDP_REV_44; platform_device_register(&msm_fb_device); #ifdef CONFIG_FB_MSM_WRITEBACK_MSM_PANEL platform_device_register(&wfd_panel_device); platform_device_register(&wfd_device); #endif if (machine_is_msm8960_sim()) platform_device_register(&mipi_dsi_simulator_panel_device); if (machine_is_msm8960_rumi3()) platform_device_register(&mipi_dsi_renesas_panel_device); if (!machine_is_msm8960_sim() && !machine_is_msm8960_rumi3()) { platform_device_register(&mipi_dsi_novatek_panel_device); platform_device_register(&mipi_dsi_orise_panel_device); #ifdef CONFIG_FB_MSM_HDMI_MSM_PANEL platform_device_register(&hdmi_msm_device); #endif } if (machine_is_msm8960_liquid()) platform_device_register(&mipi_dsi2lvds_bridge_device); else platform_device_register(&mipi_dsi_toshiba_panel_device); if (machine_is_msm8x60_rumi3()) { msm_fb_register_device("mdp", NULL); mipi_dsi_pdata.target_type = 1; } else msm_fb_register_device("mdp", &mdp_pdata); msm_fb_register_device("mipi_dsi", &mipi_dsi_pdata); #ifdef CONFIG_MSM_BUS_SCALING msm_fb_register_device("dtv", &dtv_pdata); #endif }
void __init msm8960_init_fb(void) { platform_device_register(&msm_fb_device); #ifdef CONFIG_FB_MSM_WRITEBACK_MSM_PANEL platform_device_register(&wfd_panel_device); platform_device_register(&wfd_device); #endif if (machine_is_msm8960_sim()) platform_device_register(&mipi_dsi_simulator_panel_device); if (machine_is_msm8960_rumi3()) platform_device_register(&mipi_dsi_renesas_panel_device); if (!machine_is_msm8960_sim() && !machine_is_msm8960_rumi3()) { platform_device_register(&mipi_dsi_novatek_panel_device); platform_device_register(&mipi_dsi_orise_panel_device); #ifdef CONFIG_SHLCDC_BOARD platform_device_register(&mipi_dsi_sharp_panel_device); #endif /* CONFIG_SHLCDC_BOARD */ #ifdef CONFIG_FB_MSM_HDMI_MSM_PANEL platform_device_register(&hdmi_msm_device); #endif } if (machine_is_msm8960_liquid()) platform_device_register(&mipi_dsi2lvds_bridge_device); else platform_device_register(&mipi_dsi_toshiba_panel_device); if (machine_is_msm8x60_rumi3()) { msm_fb_register_device("mdp", NULL); mipi_dsi_pdata.target_type = 1; } else msm_fb_register_device("mdp", &mdp_pdata); msm_fb_register_device("mipi_dsi", &mipi_dsi_pdata); #ifdef CONFIG_MSM_BUS_SCALING msm_fb_register_device("dtv", &dtv_pdata); #endif }
static int __cpuinit release_secondary(unsigned int cpu) { BUG_ON(cpu >= get_core_count()); if (cpu_is_msm8x60()) return scorpion_release_secondary(); if (machine_is_msm8960_sim() || machine_is_msm8960_rumi3() || machine_is_apq8064_sim()) return krait_release_secondary_sim(cpu); if (cpu_is_msm8960() || cpu_is_msm8930() || cpu_is_apq8064()) return krait_release_secondary(cpu); WARN(1, "unknown CPU case in release_secondary\n"); return -EINVAL; }
static int __cpuinit krait_release_secondary_sim(unsigned long base, int cpu) { void *base_ptr = ioremap_nocache(base + (cpu * 0x10000), SZ_4K); if (!base_ptr) return -ENODEV; if (machine_is_msm8960_sim() || machine_is_msm8960_rumi3()) { writel_relaxed(0x10, base_ptr+0x04); writel_relaxed(0x80, base_ptr+0x04); } if (machine_is_apq8064_sim()) writel_relaxed(0xf0000, base_ptr+0x04); mb(); iounmap(base_ptr); return 0; }
static void __init msm8960_init_irq(void) { unsigned int i; gic_init(0, GIC_PPI_START, MSM_QGIC_DIST_BASE, (void *)MSM_QGIC_CPU_BASE); /* Edge trigger PPIs except AVS_SVICINT and AVS_SVICINTSWDONE */ writel(0xFFFFD7FF, MSM_QGIC_DIST_BASE + GIC_DIST_CONFIG + 4); if (machine_is_msm8960_rumi3()) writel(0x0000FFFF, MSM_QGIC_DIST_BASE + GIC_DIST_ENABLE_SET); /* FIXME: Not installing AVS_SVICINT and AVS_SVICINTSWDONE yet * as they are configured as level, which does not play nice with * handle_percpu_irq. */ for (i = GIC_PPI_START; i < GIC_SPI_START; i++) { if (i != AVS_SVICINT && i != AVS_SVICINTSWDONE) irq_set_handler(i, handle_percpu_irq); } }
void __init msm8960_init_fb(void) { platform_device_register(&msm_fb_device); #ifdef CONFIG_FB_MSM_WRITEBACK_MSM_PANEL platform_device_register(&wfd_panel_device); platform_device_register(&wfd_device); #endif if (machine_is_msm8960_sim()) platform_device_register(&mipi_dsi_simulator_panel_device); if (!machine_is_msm8960_sim() && !machine_is_msm8960_rumi3()) { #ifdef CONFIG_FB_MSM_MIPI_DSI_HIMAX platform_device_register(&mipi_dsi_himax_panel_device); #endif #ifdef CONFIG_FB_MSM_HDMI_MSM_PANEL platform_device_register(&hdmi_msm_device); #endif } if (machine_is_msm8x60_rumi3()) { msm_fb_register_device("mdp", NULL); mipi_dsi_pdata.target_type = 1; } else msm_fb_register_device("mdp", &mdp_pdata); msm_fb_register_device("mipi_dsi", &mipi_dsi_pdata); #ifdef CONFIG_MSM_BUS_SCALING msm_fb_register_device("dtv", &dtv_pdata); #endif #ifdef CONFIG_ACER_HDMI_MHL_SII8334 i2c_register_board_info(MSM_8960_GSBI10_QUP_I2C_BUS_ID, mhl_sii8334_info, ARRAY_SIZE(mhl_sii8334_info)); #endif }
static int __init msm_peripheral_reset_init(void) { /* * Don't initialize PIL on simulated targets, as some * subsystems may not be emulated on them. */ if (machine_is_msm8960_sim() || machine_is_msm8960_rumi3()) return 0; use_secure_pil(); BUG_ON(platform_device_register(&pil_dsps)); BUG_ON(msm_pil_register(&pil_dsps_desc)); BUG_ON(platform_device_register(&pil_tzapps)); BUG_ON(msm_pil_register(&pil_tzapps_desc)); msm_riva_base = ioremap(MSM_RIVA_PHYS, SZ_256); if (!msm_riva_base) return -ENOMEM; BUG_ON(platform_device_register(&pil_riva)); BUG_ON(msm_pil_register(&pil_riva_desc)); return 0; }