This patch updates McSPI register offset addresses with respect to OMAP4 Signed-off-by: Syed Rafiuddin <rafiuddin.syed@xxxxxx> --- arch/arm/mach-omap2/devices.c | 10 ++++---- drivers/spi/omap2_mcspi.c | 51 ++++++++++++++++++++++++++++-------------- 2 files changed, 41 insertions(+), 20 deletions(-) Index: omap4_dev/arch/arm/mach-omap2/devices.c =================================================================== --- omap4_dev.orig/arch/arm/mach-omap2/devices.c +++ omap4_dev/arch/arm/mach-omap2/devices.c @@ -301,7 +301,8 @@ static struct platform_device omap2_mcsp }, }; -#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) +#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ +defined(CONFIG_ARCH_OMAP4) static struct omap2_mcspi_platform_config omap2_mcspi3_config = { .num_cs = 2, }; @@ -325,7 +326,7 @@ static struct platform_device omap2_mcsp }; #endif -#ifdef CONFIG_ARCH_OMAP3 +#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) static struct omap2_mcspi_platform_config omap2_mcspi4_config = { .num_cs = 1, }; @@ -353,10 +354,11 @@ static void omap_init_mcspi(void) { platform_device_register(&omap2_mcspi1); platform_device_register(&omap2_mcspi2); -#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) +#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) || \ +defined(CONFIG_ARCH_OMAP4) platform_device_register(&omap2_mcspi3); #endif -#ifdef CONFIG_ARCH_OMAP3 +#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) platform_device_register(&omap2_mcspi4); #endif } Index: omap4_dev/drivers/spi/omap2_mcspi.c =================================================================== --- omap4_dev.orig/drivers/spi/omap2_mcspi.c +++ omap4_dev/drivers/spi/omap2_mcspi.c @@ -42,21 +42,38 @@ #define OMAP2_MCSPI_MAX_FREQ 48000000 #define OMAP2_MCSPI_REVISION 0x00 -#define OMAP2_MCSPI_SYSCONFIG 0x10 -#define OMAP2_MCSPI_SYSSTATUS 0x14 -#define OMAP2_MCSPI_IRQSTATUS 0x18 -#define OMAP2_MCSPI_IRQENABLE 0x1c -#define OMAP2_MCSPI_WAKEUPENABLE 0x20 -#define OMAP2_MCSPI_SYST 0x24 -#define OMAP2_MCSPI_MODULCTRL 0x28 +#ifdef CONFIG_ARCH_OMAP4 +#define OMAP2_MCSPI_SYSCONFIG 0x110 +#define OMAP2_MCSPI_SYSSTATUS 0x114 +#define OMAP2_MCSPI_IRQSTATUS 0x118 +#define OMAP2_MCSPI_IRQENABLE 0x11c +#define OMAP2_MCSPI_WAKEUPENABLE 0x120 +#define OMAP2_MCSPI_SYST 0x124 +#define OMAP2_MCSPI_MODULCTRL 0x128 /* per-channel banks, 0x14 bytes each, first is: */ -#define OMAP2_MCSPI_CHCONF0 0x2c -#define OMAP2_MCSPI_CHSTAT0 0x30 -#define OMAP2_MCSPI_CHCTRL0 0x34 -#define OMAP2_MCSPI_TX0 0x38 -#define OMAP2_MCSPI_RX0 0x3c +#define OMAP2_MCSPI_CHCONF0 0x12c +#define OMAP2_MCSPI_CHSTAT0 0x130 +#define OMAP2_MCSPI_CHCTRL0 0x134 +#define OMAP2_MCSPI_TX0 0x138 +#define OMAP2_MCSPI_RX0 0x13c +#else +#define OMAP2_MCSPI_REVISION 0x00 +#define OMAP2_MCSPI_SYSCONFIG 0x10 +#define OMAP2_MCSPI_SYSSTATUS 0x14 +#define OMAP2_MCSPI_IRQSTATUS 0x18 +#define OMAP2_MCSPI_IRQENABLE 0x1c +#define OMAP2_MCSPI_WAKEUPENABLE 0x20 +#define OMAP2_MCSPI_SYST 0x24 +#define OMAP2_MCSPI_MODULCTRL 0x28 +/* per-channel banks, 0x14 bytes each, first is: */ +#define OMAP2_MCSPI_CHCONF0 0x2c +#define OMAP2_MCSPI_CHSTAT0 0x30 +#define OMAP2_MCSPI_CHCTRL0 0x34 +#define OMAP2_MCSPI_TX0 0x38 +#define OMAP2_MCSPI_RX0 0x3c +#endif /* per-register bitmasks: */ #define OMAP2_MCSPI_SYSCONFIG_AUTOIDLE (1 << 0) @@ -918,7 +935,8 @@ static u8 __initdata spi2_txdma_id[] = { OMAP24XX_DMA_SPI2_TX1, }; -#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP34XX) +#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP34XX) ||\ +defined(CONFIG_ARCH_OMAP44XX) static u8 __initdata spi3_rxdma_id[] = { OMAP24XX_DMA_SPI3_RX0, OMAP24XX_DMA_SPI3_RX1, @@ -930,7 +948,7 @@ static u8 __initdata spi3_txdma_id[] = { }; #endif -#ifdef CONFIG_ARCH_OMAP3 +#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) static u8 __initdata spi4_rxdma_id[] = { OMAP34XX_DMA_SPI4_RX0, }; @@ -960,14 +978,15 @@ static int __init omap2_mcspi_probe(stru txdma_id = spi2_txdma_id; num_chipselect = 2; break; -#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) +#if defined(CONFIG_ARCH_OMAP2430) || defined(CONFIG_ARCH_OMAP3) ||\ +defined(CONFIG_ARCH_OMAP4) case 3: rxdma_id = spi3_rxdma_id; txdma_id = spi3_txdma_id; num_chipselect = 2; break; #endif -#ifdef CONFIG_ARCH_OMAP3 +#if defined(CONFIG_ARCH_OMAP3) || defined(CONFIG_ARCH_OMAP4) case 4: rxdma_id = spi4_rxdma_id; txdma_id = spi4_txdma_id; -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html