Esempio n. 1
0
// Cotulla: added for photon reset
void kgsl_boot_reset(void)
{
	pc_clk_reset(8);
	kgsl_power_rail_mode(0);
	kgsl_power(false);
	pc_clk_reset(8);
	mdelay(150);
	kgsl_power(true);
	pc_clk_reset(8);
}
void __init msm_add_mem_devices(struct msm_pmem_setting *setting)
{
	if (setting->pmem_size) {
		pmem_pdata.start = setting->pmem_start;
		pmem_pdata.size = setting->pmem_size;
		platform_device_register(&pmem_device);
	}

	if (setting->pmem_adsp_size) {
		pmem_adsp_pdata.start = setting->pmem_adsp_start;
		pmem_adsp_pdata.size = setting->pmem_adsp_size;
		platform_device_register(&pmem_adsp_device);
	}

	if (setting->pmem_camera_size) {
		pmem_camera_pdata.start = setting->pmem_camera_start;
		pmem_camera_pdata.size = setting->pmem_camera_size;
		platform_device_register(&pmem_camera_device);
	}

	if (setting->ram_console_size) {
		ram_console_resource[0].start = setting->ram_console_start;
		ram_console_resource[0].end = setting->ram_console_start
			+ setting->ram_console_size - 1;
		platform_device_register(&ram_console_device);
	}

#if defined(CONFIG_MSM_KGSL) && !defined(CONFIG_ARCH_MSM8X60)
	if (setting->kgsl_size) {
		kgsl_3d0_resources[1].start = setting->kgsl_start;
		kgsl_3d0_resources[1].end   = setting->kgsl_start +
                                              setting->kgsl_size - 1;

#if !defined(CONFIG_ARCH_MSM7X30)
		/*
		 * Due to 7x30 gpu hw bug, we have to apply clk
		 * first then power on gpu, thus we move power on
		 * into kgsl driver.
		 */
		kgsl_power_rail_mode(0);
		kgsl_power(true);
#endif

		platform_device_register(&kgsl_3d0_device);
	}
#endif /* CONFIG_MSM_KGSL */

#ifdef CONFIG_MSM_CAMERA_7X30
		platform_device_register(&msm_vpe_device);
#endif
}
Esempio n. 3
0
void __init msm_add_mem_devices(struct msm_pmem_setting *setting)
{
    if (setting->pmem_size) {
        pmem_pdata.start = setting->pmem_start;
        pmem_pdata.size = setting->pmem_size;
        platform_device_register(&pmem_device);
    }

    if (setting->pmem_adsp_size) {
        pmem_adsp_pdata.start = setting->pmem_adsp_start;
        pmem_adsp_pdata.size = setting->pmem_adsp_size;
        platform_device_register(&pmem_adsp_device);
    }

#if defined(CONFIG_MSM_HW3D)
    if (setting->pmem_gpu0_size && setting->pmem_gpu1_size) {
        struct resource *res;

        res = platform_get_resource_byname(&hw3d_device, IORESOURCE_MEM,
                                           "smi");
        res->start = setting->pmem_gpu0_start;
        res->end = res->start + setting->pmem_gpu0_size - 1;

        res = platform_get_resource_byname(&hw3d_device, IORESOURCE_MEM,
                                           "ebi");
        res->start = setting->pmem_gpu1_start;
        res->end = res->start + setting->pmem_gpu1_size - 1;
        platform_device_register(&hw3d_device);
    }
#endif

    if (setting->pmem_camera_size) {
        pmem_camera_pdata.start = setting->pmem_camera_start;
        pmem_camera_pdata.size = setting->pmem_camera_size;
        platform_device_register(&pmem_camera_device);
    }

    if (setting->ram_console_size) {
        ram_console_resource[0].start = setting->ram_console_start;
        ram_console_resource[0].end = setting->ram_console_start
                                      + setting->ram_console_size - 1;
        platform_device_register(&ram_console_device);
    }

#if defined(CONFIG_GPU_MSM_KGSL)&& !defined(CONFIG_ARCH_MSM8X60)
    if (setting->kgsl_size) {
        msm_kgsl_resources[1].start = setting->kgsl_start;
        msm_kgsl_resources[1].end = setting->kgsl_start
                                    + setting->kgsl_size - 1;
        /* due to 7x30 gpu hw bug, we have to apply clk
         * first then power on gpu, thus we move power on
         * into kgsl driver
         */
#if !defined(CONFIG_ARCH_MSM7X30)
        kgsl_power_rail_mode(0);
        kgsl_power(true);
#endif
        platform_device_register(&msm_kgsl_device);
    }
#endif

#ifdef CONFIG_MSM_CAMERA_7X30
    platform_device_register(&msm_vpe_device);
#endif
}