#endif struct msm_rpm_platform_data msm9615_rpm_data __initdata = { .reg_base_addrs = { [MSM_RPM_PAGE_STATUS] = MSM_RPM_BASE, [MSM_RPM_PAGE_CTRL] = MSM_RPM_BASE + 0x400, [MSM_RPM_PAGE_REQ] = MSM_RPM_BASE + 0x600, [MSM_RPM_PAGE_ACK] = MSM_RPM_BASE + 0xa00, }, .irq_ack = RPM_APCC_CPU0_GP_HIGH_IRQ, .irq_err = RPM_APCC_CPU0_GP_LOW_IRQ, .irq_wakeup = RPM_APCC_CPU0_WAKE_UP_IRQ, .ipc_rpm_reg = MSM_APCS_GCC_BASE + 0x008, .ipc_rpm_val = 4, .target_id = { MSM_RPM_MAP(9615, NOTIFICATION_CONFIGURED_0, NOTIFICATION, 4), MSM_RPM_MAP(9615, NOTIFICATION_REGISTERED_0, NOTIFICATION, 4), MSM_RPM_MAP(9615, INVALIDATE_0, INVALIDATE, 8), MSM_RPM_MAP(9615, TRIGGER_TIMED_TO, TRIGGER_TIMED, 1), MSM_RPM_MAP(9615, TRIGGER_TIMED_SCLK_COUNT, TRIGGER_TIMED, 1), MSM_RPM_MAP(9615, RPM_CTL, RPM_CTL, 1), MSM_RPM_MAP(9615, CXO_CLK, CXO_CLK, 1), MSM_RPM_MAP(9615, SYSTEM_FABRIC_CLK, SYSTEM_FABRIC_CLK, 1), MSM_RPM_MAP(9615, DAYTONA_FABRIC_CLK, DAYTONA_FABRIC_CLK, 1), MSM_RPM_MAP(9615, SFPB_CLK, SFPB_CLK, 1), MSM_RPM_MAP(9615, CFPB_CLK, CFPB_CLK, 1), MSM_RPM_MAP(9615, EBI1_CLK, EBI1_CLK, 1), MSM_RPM_MAP(9615, SYS_FABRIC_CFG_HALT_0, SYS_FABRIC_CFG_HALT, 2), MSM_RPM_MAP(9615, SYS_FABRIC_CFG_CLKMOD_0, SYS_FABRIC_CFG_CLKMOD, 3),
}; struct msm_rpm_platform_data msm8930_rpm_data __initdata = { .reg_base_addrs = { [MSM_RPM_PAGE_STATUS] = MSM_RPM_BASE, [MSM_RPM_PAGE_CTRL] = MSM_RPM_BASE + 0x400, [MSM_RPM_PAGE_REQ] = MSM_RPM_BASE + 0x600, [MSM_RPM_PAGE_ACK] = MSM_RPM_BASE + 0xa00, }, .irq_ack = RPM_APCC_CPU0_GP_HIGH_IRQ, .irq_err = RPM_APCC_CPU0_GP_LOW_IRQ, .irq_wakeup = RPM_APCC_CPU0_WAKE_UP_IRQ, .ipc_rpm_reg = MSM_APCS_GCC_BASE + 0x008, .ipc_rpm_val = 4, .target_id = { MSM_RPM_MAP(8930, NOTIFICATION_CONFIGURED_0, NOTIFICATION, 4), MSM_RPM_MAP(8930, NOTIFICATION_REGISTERED_0, NOTIFICATION, 4), MSM_RPM_MAP(8930, INVALIDATE_0, INVALIDATE, 8), MSM_RPM_MAP(8960, TRIGGER_TIMED_TO, TRIGGER_TIMED, 1), MSM_RPM_MAP(8960, TRIGGER_TIMED_SCLK_COUNT, TRIGGER_TIMED, 1), MSM_RPM_MAP(8930, RPM_CTL, RPM_CTL, 1), MSM_RPM_MAP(8930, CXO_CLK, CXO_CLK, 1), MSM_RPM_MAP(8930, PXO_CLK, PXO_CLK, 1), MSM_RPM_MAP(8930, APPS_FABRIC_CLK, APPS_FABRIC_CLK, 1), MSM_RPM_MAP(8930, SYSTEM_FABRIC_CLK, SYSTEM_FABRIC_CLK, 1), MSM_RPM_MAP(8930, MM_FABRIC_CLK, MM_FABRIC_CLK, 1), MSM_RPM_MAP(8930, DAYTONA_FABRIC_CLK, DAYTONA_FABRIC_CLK, 1), MSM_RPM_MAP(8930, SFPB_CLK, SFPB_CLK, 1), MSM_RPM_MAP(8930, CFPB_CLK, CFPB_CLK, 1), MSM_RPM_MAP(8930, MMFPB_CLK, MMFPB_CLK, 1), MSM_RPM_MAP(8930, EBI1_CLK, EBI1_CLK, 1),
(0x1 << L2X0_AUX_CTRL_EVNT_MON_BUS_EN_SHIFT); /* L2 Latency setting required by hardware. Default is 0x20 which is no good. */ writel_relaxed(0x220, MSM_L2CC_BASE + L2X0_DATA_LATENCY_CTRL); l2x0_init(MSM_L2CC_BASE, aux_ctrl, L2X0_AUX_CTRL_MASK); return 0; } #else static int __init l2x0_cache_init(void){ return 0; } #endif struct msm_rpm_map_data rpm_map_data[] __initdata = { MSM_RPM_MAP(TRIGGER_TIMED_TO, TRIGGER_TIMED, 1), MSM_RPM_MAP(TRIGGER_TIMED_SCLK_COUNT, TRIGGER_TIMED, 1), MSM_RPM_MAP(RPM_CTL, RPM_CTL, 1), MSM_RPM_MAP(CXO_CLK, CXO_CLK, 1), MSM_RPM_MAP(SYSTEM_FABRIC_CLK, SYSTEM_FABRIC_CLK, 1), MSM_RPM_MAP(DAYTONA_FABRIC_CLK, DAYTONA_FABRIC_CLK, 1), MSM_RPM_MAP(SFPB_CLK, SFPB_CLK, 1), MSM_RPM_MAP(CFPB_CLK, CFPB_CLK, 1), MSM_RPM_MAP(EBI1_CLK, EBI1_CLK, 1), MSM_RPM_MAP(SYS_FABRIC_CFG_HALT_0, SYS_FABRIC_CFG_HALT, 2), MSM_RPM_MAP(SYS_FABRIC_CFG_CLKMOD_0, SYS_FABRIC_CFG_CLKMOD, 3), MSM_RPM_MAP(SYS_FABRIC_CFG_IOCTL, SYS_FABRIC_CFG_IOCTL, 1), MSM_RPM_MAP(SYSTEM_FABRIC_ARB_0, SYSTEM_FABRIC_ARB, 27),
#endif struct msm_rpm_platform_data msm8930_rpm_data __initdata = { .reg_base_addrs = { [MSM_RPM_PAGE_STATUS] = MSM_RPM_BASE, [MSM_RPM_PAGE_CTRL] = MSM_RPM_BASE + 0x400, [MSM_RPM_PAGE_REQ] = MSM_RPM_BASE + 0x600, [MSM_RPM_PAGE_ACK] = MSM_RPM_BASE + 0xa00, }, .irq_ack = RPM_APCC_CPU0_GP_HIGH_IRQ, .irq_err = RPM_APCC_CPU0_GP_LOW_IRQ, .irq_wakeup = RPM_APCC_CPU0_WAKE_UP_IRQ, .ipc_rpm_reg = MSM_APCS_GCC_BASE + 0x008, .ipc_rpm_val = 4, .target_id = { MSM_RPM_MAP(8930, NOTIFICATION_CONFIGURED_0, NOTIFICATION, 4), MSM_RPM_MAP(8930, NOTIFICATION_REGISTERED_0, NOTIFICATION, 4), MSM_RPM_MAP(8930, INVALIDATE_0, INVALIDATE, 8), MSM_RPM_MAP(8960, TRIGGER_TIMED_TO, TRIGGER_TIMED, 1), MSM_RPM_MAP(8960, TRIGGER_TIMED_SCLK_COUNT, TRIGGER_TIMED, 1), MSM_RPM_MAP(8930, RPM_CTL, RPM_CTL, 1), MSM_RPM_MAP(8930, CXO_CLK, CXO_CLK, 1), MSM_RPM_MAP(8930, PXO_CLK, PXO_CLK, 1), MSM_RPM_MAP(8930, APPS_FABRIC_CLK, APPS_FABRIC_CLK, 1), MSM_RPM_MAP(8930, SYSTEM_FABRIC_CLK, SYSTEM_FABRIC_CLK, 1), MSM_RPM_MAP(8930, MM_FABRIC_CLK, MM_FABRIC_CLK, 1), MSM_RPM_MAP(8930, DAYTONA_FABRIC_CLK, DAYTONA_FABRIC_CLK, 1), MSM_RPM_MAP(8930, SFPB_CLK, SFPB_CLK, 1), MSM_RPM_MAP(8930, CFPB_CLK, CFPB_CLK, 1), MSM_RPM_MAP(8930, MMFPB_CLK, MMFPB_CLK, 1), MSM_RPM_MAP(8930, EBI1_CLK, EBI1_CLK, 1),
{ .start = JPEG_IRQ, .end = JPEG_IRQ, .flags = IORESOURCE_IRQ, }, }; struct platform_device msm8960_gemini_device = { .name = "msm_gemini", .resource = msm_gemini_resources, .num_resources = ARRAY_SIZE(msm_gemini_resources), }; #endif struct msm_rpm_map_data rpm_map_data[] __initdata = { MSM_RPM_MAP(TRIGGER_TIMED_TO, TRIGGER_TIMED, 1), MSM_RPM_MAP(TRIGGER_TIMED_SCLK_COUNT, TRIGGER_TIMED, 1), MSM_RPM_MAP(RPM_CTL, RPM_CTL, 1), MSM_RPM_MAP(CXO_CLK, CXO_CLK, 1), MSM_RPM_MAP(PXO_CLK, PXO_CLK, 1), MSM_RPM_MAP(APPS_FABRIC_CLK, APPS_FABRIC_CLK, 1), MSM_RPM_MAP(SYSTEM_FABRIC_CLK, SYSTEM_FABRIC_CLK, 1), MSM_RPM_MAP(MM_FABRIC_CLK, MM_FABRIC_CLK, 1), MSM_RPM_MAP(DAYTONA_FABRIC_CLK, DAYTONA_FABRIC_CLK, 1), MSM_RPM_MAP(SFPB_CLK, SFPB_CLK, 1), MSM_RPM_MAP(CFPB_CLK, CFPB_CLK, 1), MSM_RPM_MAP(MMFPB_CLK, MMFPB_CLK, 1), MSM_RPM_MAP(EBI1_CLK, EBI1_CLK, 1),