Description: MPC85xx support for CPM2 timers Date: Thu Mar 31 14:49:49 EST 2005 Patches: linux-2.6.12-rc1.bk Signed-Off-By: Jason McMullan Difference summary: arch/ppc/syslib/mpc85xx_devices.c | 25 +++++++++++++++++++++++++ arch/ppc/syslib/mpc85xx_sys.c | 17 ++++++++++------- include/asm-ppc/mpc85xx.h | 1 + 3 files changed, 36 insertions(+), 7 deletions(-) diff -urN -X /home/jmcmullan/dontdiff linux-2.6/arch/ppc/syslib/mpc85xx_devices.c linux-2.6.patch/arch/ppc/syslib/mpc85xx_devices.c --- linux-2.6/arch/ppc/syslib/mpc85xx_devices.c 2005-03-31 14:06:04.000000000 -0500 +++ linux-2.6.patch/arch/ppc/syslib/mpc85xx_devices.c 2005-03-31 14:42:42.000000000 -0500 @@ -19,6 +19,8 @@ #include #include #include +#include +#include #include #include @@ -61,8 +63,14 @@ .iotype = UPIO_MEM, .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_SHARE_IRQ, }, + [2] = { + .flags = 0 + } }; +#define CPM2_OFFSET(t) ((void *)(&((cpm2_map_t *)NULL)->t)-NULL) +#define CPM2_END(t) (CPM2_OFFSET(t)+(sizeof(((cpm2_map_t *)NULL)->t))-1) + struct platform_device ppc_sys_platform_devices[] = { [MPC85xx_TSEC1] = { .name = "fsl-gianfar", @@ -534,6 +542,23 @@ }, }, }, + [MPC85xx_CPM_TIMER] = { + .name = "fsl-cpm-timer", + .id = 0, + .num_resources = 2, + .resource = (struct resource[]) { + { + .start = CPM2_OFFSET(im_cpmtimer), + .end = CPM2_END(im_cpmtimer), + .flags = IORESOURCE_MEM, + }, + { + .start = SIU_INT_TIMER1, + .end = SIU_INT_TIMER4, + .flags = IORESOURCE_IRQ, + }, + }, + }, #endif /* CONFIG_CPM2 */ }; diff -urN -X /home/jmcmullan/dontdiff linux-2.6/arch/ppc/syslib/mpc85xx_sys.c linux-2.6.patch/arch/ppc/syslib/mpc85xx_sys.c --- linux-2.6/arch/ppc/syslib/mpc85xx_sys.c 2005-03-31 14:06:04.000000000 -0500 +++ linux-2.6.patch/arch/ppc/syslib/mpc85xx_sys.c 2005-03-31 14:46:53.768274801 -0500 @@ -36,7 +36,7 @@ .ppc_sys_name = "8560", .mask = 0xFFFF0000, .value = 0x80700000, - .num_devices = 19, + .num_devices = 20, .device_list = (enum ppc_sys_devices[]) { MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1, @@ -46,13 +46,14 @@ MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3, MPC85xx_CPM_SCC4, MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, MPC85xx_CPM_FCC3, MPC85xx_CPM_MCC1, MPC85xx_CPM_MCC2, + MPC85xx_CPM_TIMER, }, }, { .ppc_sys_name = "8541", .mask = 0xFFFF0000, .value = 0x80720000, - .num_devices = 13, + .num_devices = 14, .device_list = (enum ppc_sys_devices[]) { MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1, @@ -60,13 +61,14 @@ MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, + MPC85xx_CPM_TIMER, }, }, { .ppc_sys_name = "8541E", .mask = 0xFFFF0000, .value = 0x807A0000, - .num_devices = 14, + .num_devices = 15, .device_list = (enum ppc_sys_devices[]) { MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1, @@ -74,13 +76,14 @@ MPC85xx_PERFMON, MPC85xx_DUART, MPC85xx_SEC2, MPC85xx_CPM_SPI, MPC85xx_CPM_I2C, MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, + MPC85xx_CPM_TIMER, }, }, { .ppc_sys_name = "8555", .mask = 0xFFFF0000, .value = 0x80710000, - .num_devices = 19, + .num_devices = 20, .device_list = (enum ppc_sys_devices[]) { MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1, @@ -90,14 +93,14 @@ MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3, MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2, - MPC85xx_CPM_USB, + MPC85xx_CPM_USB, MPC85xx_CPM_TIMER, }, }, { .ppc_sys_name = "8555E", .mask = 0xFFFF0000, .value = 0x80790000, - .num_devices = 20, + .num_devices = 21, .device_list = (enum ppc_sys_devices[]) { MPC85xx_TSEC1, MPC85xx_TSEC2, MPC85xx_IIC1, @@ -107,7 +110,7 @@ MPC85xx_CPM_SCC2, MPC85xx_CPM_SCC3, MPC85xx_CPM_FCC1, MPC85xx_CPM_FCC2, MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2, - MPC85xx_CPM_USB, + MPC85xx_CPM_USB, MPC85xx_CPM_TIMER, }, }, { /* default match */ diff -urN -X /home/jmcmullan/dontdiff linux-2.6/include/asm-ppc/mpc85xx.h linux-2.6.patch/include/asm-ppc/mpc85xx.h --- linux-2.6/include/asm-ppc/mpc85xx.h 2005-03-31 14:17:00.000000000 -0500 +++ linux-2.6.patch/include/asm-ppc/mpc85xx.h 2005-03-31 14:36:06.000000000 -0500 @@ -127,6 +127,7 @@ MPC85xx_CPM_MCC2, MPC85xx_CPM_SMC1, MPC85xx_CPM_SMC2, + MPC85xx_CPM_TIMER, }; #endif /* CONFIG_85xx */