You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge branch 'amba' into for-armsoc
This commit is contained in:
@@ -52,27 +52,8 @@
|
||||
#include <mach/csp/chipcHw_inline.h>
|
||||
#include <mach/csp/tmrHw_reg.h>
|
||||
|
||||
#define AMBA_DEVICE(name, initname, base, plat, size) \
|
||||
static struct amba_device name##_device = { \
|
||||
.dev = { \
|
||||
.coherent_dma_mask = ~0, \
|
||||
.init_name = initname, \
|
||||
.platform_data = plat \
|
||||
}, \
|
||||
.res = { \
|
||||
.start = MM_ADDR_IO_##base, \
|
||||
.end = MM_ADDR_IO_##base + (size) - 1, \
|
||||
.flags = IORESOURCE_MEM \
|
||||
}, \
|
||||
.dma_mask = ~0, \
|
||||
.irq = { \
|
||||
IRQ_##base \
|
||||
} \
|
||||
}
|
||||
|
||||
|
||||
AMBA_DEVICE(uartA, "uarta", UARTA, NULL, SZ_4K);
|
||||
AMBA_DEVICE(uartB, "uartb", UARTB, NULL, SZ_4K);
|
||||
static AMBA_APB_DEVICE(uartA, "uarta", MM_ADDR_IO_UARTA, { IRQ_UARTA }, NULL);
|
||||
static AMBA_APB_DEVICE(uartB, "uartb", MM_ADDR_IO_UARTB, { IRQ_UARTB }, NULL);
|
||||
|
||||
static struct clk pll1_clk = {
|
||||
.name = "PLL1",
|
||||
|
||||
@@ -279,48 +279,14 @@ static struct amba_pl010_data ep93xx_uart_data = {
|
||||
.set_mctrl = ep93xx_uart_set_mctrl,
|
||||
};
|
||||
|
||||
static struct amba_device uart1_device = {
|
||||
.dev = {
|
||||
.init_name = "apb:uart1",
|
||||
.platform_data = &ep93xx_uart_data,
|
||||
},
|
||||
.res = {
|
||||
.start = EP93XX_UART1_PHYS_BASE,
|
||||
.end = EP93XX_UART1_PHYS_BASE + 0x0fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_EP93XX_UART1, NO_IRQ },
|
||||
.periphid = 0x00041010,
|
||||
};
|
||||
static AMBA_APB_DEVICE(uart1, "apb:uart1", 0x00041010, EP93XX_UART1_PHYS_BASE,
|
||||
{ IRQ_EP93XX_UART1 }, &ep93xx_uart_data);
|
||||
|
||||
static struct amba_device uart2_device = {
|
||||
.dev = {
|
||||
.init_name = "apb:uart2",
|
||||
.platform_data = &ep93xx_uart_data,
|
||||
},
|
||||
.res = {
|
||||
.start = EP93XX_UART2_PHYS_BASE,
|
||||
.end = EP93XX_UART2_PHYS_BASE + 0x0fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_EP93XX_UART2, NO_IRQ },
|
||||
.periphid = 0x00041010,
|
||||
};
|
||||
|
||||
static struct amba_device uart3_device = {
|
||||
.dev = {
|
||||
.init_name = "apb:uart3",
|
||||
.platform_data = &ep93xx_uart_data,
|
||||
},
|
||||
.res = {
|
||||
.start = EP93XX_UART3_PHYS_BASE,
|
||||
.end = EP93XX_UART3_PHYS_BASE + 0x0fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_EP93XX_UART3, NO_IRQ },
|
||||
.periphid = 0x00041010,
|
||||
};
|
||||
static AMBA_APB_DEVICE(uart2, "apb:uart2", 0x00041010, EP93XX_UART2_PHYS_BASE,
|
||||
{ IRQ_EP93XX_UART2 }, &ep93xx_uart_data);
|
||||
|
||||
static AMBA_APB_DEVICE(uart3, "apb:uart3", 0x00041010, EP93XX_UART3_PHYS_BASE,
|
||||
{ IRQ_EP93XX_UART3 }, &ep93xx_uart_data);
|
||||
|
||||
static struct resource ep93xx_rtc_resource[] = {
|
||||
{
|
||||
|
||||
@@ -74,21 +74,8 @@ struct dma_pl330_platdata exynos4_pdma0_pdata = {
|
||||
.peri_id = pdma0_peri,
|
||||
};
|
||||
|
||||
struct amba_device exynos4_device_pdma0 = {
|
||||
.dev = {
|
||||
.init_name = "dma-pl330.0",
|
||||
.dma_mask = &dma_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &exynos4_pdma0_pdata,
|
||||
},
|
||||
.res = {
|
||||
.start = EXYNOS4_PA_PDMA0,
|
||||
.end = EXYNOS4_PA_PDMA0 + SZ_4K,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = {IRQ_PDMA0, NO_IRQ},
|
||||
.periphid = 0x00041330,
|
||||
};
|
||||
AMBA_AHB_DEVICE(exynos4_pdma0, "dma-pl330.0", 0x00041330, EXYNOS4_PA_PDMA0,
|
||||
{IRQ_PDMA0}, &exynos4_pdma0_pdata);
|
||||
|
||||
u8 pdma1_peri[] = {
|
||||
DMACH_PCM0_RX,
|
||||
@@ -123,21 +110,8 @@ struct dma_pl330_platdata exynos4_pdma1_pdata = {
|
||||
.peri_id = pdma1_peri,
|
||||
};
|
||||
|
||||
struct amba_device exynos4_device_pdma1 = {
|
||||
.dev = {
|
||||
.init_name = "dma-pl330.1",
|
||||
.dma_mask = &dma_dmamask,
|
||||
.coherent_dma_mask = DMA_BIT_MASK(32),
|
||||
.platform_data = &exynos4_pdma1_pdata,
|
||||
},
|
||||
.res = {
|
||||
.start = EXYNOS4_PA_PDMA1,
|
||||
.end = EXYNOS4_PA_PDMA1 + SZ_4K,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = {IRQ_PDMA1, NO_IRQ},
|
||||
.periphid = 0x00041330,
|
||||
};
|
||||
AMBA_AHB_DEVICE(exynos4_pdma1, "dma-pl330.1", 0x00041330, EXYNOS4_PA_PDMA1,
|
||||
{IRQ_PDMA1}, &exynos4_pdma1_pdata);
|
||||
|
||||
static int __init exynos4_dma_init(void)
|
||||
{
|
||||
@@ -146,11 +120,11 @@ static int __init exynos4_dma_init(void)
|
||||
|
||||
dma_cap_set(DMA_SLAVE, exynos4_pdma0_pdata.cap_mask);
|
||||
dma_cap_set(DMA_CYCLIC, exynos4_pdma0_pdata.cap_mask);
|
||||
amba_device_register(&exynos4_device_pdma0, &iomem_resource);
|
||||
amba_device_register(&exynos4_pdma0_device, &iomem_resource);
|
||||
|
||||
dma_cap_set(DMA_SLAVE, exynos4_pdma1_pdata.cap_mask);
|
||||
dma_cap_set(DMA_CYCLIC, exynos4_pdma1_pdata.cap_mask);
|
||||
amba_device_register(&exynos4_device_pdma1, &iomem_resource);
|
||||
amba_device_register(&exynos4_pdma1_device, &iomem_resource);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -35,67 +35,23 @@
|
||||
|
||||
static struct amba_pl010_data integrator_uart_data;
|
||||
|
||||
static struct amba_device rtc_device = {
|
||||
.dev = {
|
||||
.init_name = "mb:15",
|
||||
},
|
||||
.res = {
|
||||
.start = INTEGRATOR_RTC_BASE,
|
||||
.end = INTEGRATOR_RTC_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_RTCINT, NO_IRQ },
|
||||
};
|
||||
#define INTEGRATOR_RTC_IRQ { IRQ_RTCINT }
|
||||
#define INTEGRATOR_UART0_IRQ { IRQ_UARTINT0 }
|
||||
#define INTEGRATOR_UART1_IRQ { IRQ_UARTINT1 }
|
||||
#define KMI0_IRQ { IRQ_KMIINT0 }
|
||||
#define KMI1_IRQ { IRQ_KMIINT1 }
|
||||
|
||||
static struct amba_device uart0_device = {
|
||||
.dev = {
|
||||
.init_name = "mb:16",
|
||||
.platform_data = &integrator_uart_data,
|
||||
},
|
||||
.res = {
|
||||
.start = INTEGRATOR_UART0_BASE,
|
||||
.end = INTEGRATOR_UART0_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_UARTINT0, NO_IRQ },
|
||||
};
|
||||
static AMBA_APB_DEVICE(rtc, "mb:15", 0,
|
||||
INTEGRATOR_RTC_BASE, INTEGRATOR_RTC_IRQ, NULL);
|
||||
|
||||
static struct amba_device uart1_device = {
|
||||
.dev = {
|
||||
.init_name = "mb:17",
|
||||
.platform_data = &integrator_uart_data,
|
||||
},
|
||||
.res = {
|
||||
.start = INTEGRATOR_UART1_BASE,
|
||||
.end = INTEGRATOR_UART1_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_UARTINT1, NO_IRQ },
|
||||
};
|
||||
static AMBA_APB_DEVICE(uart0, "mb:16", 0,
|
||||
INTEGRATOR_UART0_BASE, INTEGRATOR_UART0_IRQ, &integrator_uart_data);
|
||||
|
||||
static struct amba_device kmi0_device = {
|
||||
.dev = {
|
||||
.init_name = "mb:18",
|
||||
},
|
||||
.res = {
|
||||
.start = KMI0_BASE,
|
||||
.end = KMI0_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_KMIINT0, NO_IRQ },
|
||||
};
|
||||
static AMBA_APB_DEVICE(uart1, "mb:17", 0,
|
||||
INTEGRATOR_UART1_BASE, INTEGRATOR_UART1_IRQ, &integrator_uart_data);
|
||||
|
||||
static struct amba_device kmi1_device = {
|
||||
.dev = {
|
||||
.init_name = "mb:19",
|
||||
},
|
||||
.res = {
|
||||
.start = KMI1_BASE,
|
||||
.end = KMI1_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_KMIINT1, NO_IRQ },
|
||||
};
|
||||
static AMBA_APB_DEVICE(kmi0, "mb:18", 0, KMI0_BASE, KMI0_IRQ, NULL);
|
||||
static AMBA_APB_DEVICE(kmi1, "mb:19", 0, KMI1_BASE, KMI1_IRQ, NULL);
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&rtc_device,
|
||||
|
||||
@@ -401,24 +401,21 @@ static int impd1_probe(struct lm_device *dev)
|
||||
|
||||
pc_base = dev->resource.start + idev->offset;
|
||||
|
||||
d = kzalloc(sizeof(struct amba_device), GFP_KERNEL);
|
||||
d = amba_device_alloc(NULL, pc_base, SZ_4K);
|
||||
if (!d)
|
||||
continue;
|
||||
|
||||
dev_set_name(&d->dev, "lm%x:%5.5lx", dev->id, idev->offset >> 12);
|
||||
d->dev.parent = &dev->dev;
|
||||
d->res.start = dev->resource.start + idev->offset;
|
||||
d->res.end = d->res.start + SZ_4K - 1;
|
||||
d->res.flags = IORESOURCE_MEM;
|
||||
d->irq[0] = dev->irq;
|
||||
d->irq[1] = dev->irq;
|
||||
d->periphid = idev->id;
|
||||
d->dev.platform_data = idev->platform_data;
|
||||
|
||||
ret = amba_device_register(d, &dev->resource);
|
||||
ret = amba_device_add(d, &dev->resource);
|
||||
if (ret) {
|
||||
dev_err(&d->dev, "unable to register device: %d\n", ret);
|
||||
kfree(d);
|
||||
amba_device_put(d);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -347,32 +347,14 @@ static struct mmci_platform_data mmc_data = {
|
||||
.gpio_cd = -1,
|
||||
};
|
||||
|
||||
static struct amba_device mmc_device = {
|
||||
.dev = {
|
||||
.init_name = "mb:1c",
|
||||
.platform_data = &mmc_data,
|
||||
},
|
||||
.res = {
|
||||
.start = INTEGRATOR_CP_MMC_BASE,
|
||||
.end = INTEGRATOR_CP_MMC_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_CP_MMCIINT0, IRQ_CP_MMCIINT1 },
|
||||
.periphid = 0,
|
||||
};
|
||||
#define INTEGRATOR_CP_MMC_IRQS { IRQ_CP_MMCIINT0, IRQ_CP_MMCIINT1 }
|
||||
#define INTEGRATOR_CP_AACI_IRQS { IRQ_CP_AACIINT }
|
||||
|
||||
static struct amba_device aaci_device = {
|
||||
.dev = {
|
||||
.init_name = "mb:1d",
|
||||
},
|
||||
.res = {
|
||||
.start = INTEGRATOR_CP_AACI_BASE,
|
||||
.end = INTEGRATOR_CP_AACI_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { IRQ_CP_AACIINT, NO_IRQ },
|
||||
.periphid = 0,
|
||||
};
|
||||
static AMBA_APB_DEVICE(mmc, "mb:1c", 0, INTEGRATOR_CP_MMC_BASE,
|
||||
INTEGRATOR_CP_MMC_IRQS, &mmc_data);
|
||||
|
||||
static AMBA_APB_DEVICE(aaci, "mb:1d", 0, INTEGRATOR_CP_AACI_BASE,
|
||||
INTEGRATOR_CP_AACI_IRQS, NULL);
|
||||
|
||||
|
||||
/*
|
||||
@@ -425,21 +407,8 @@ static struct clcd_board clcd_data = {
|
||||
.remove = versatile_clcd_remove_dma,
|
||||
};
|
||||
|
||||
static struct amba_device clcd_device = {
|
||||
.dev = {
|
||||
.init_name = "mb:c0",
|
||||
.coherent_dma_mask = ~0,
|
||||
.platform_data = &clcd_data,
|
||||
},
|
||||
.res = {
|
||||
.start = INTCP_PA_CLCD_BASE,
|
||||
.end = INTCP_PA_CLCD_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.dma_mask = ~0,
|
||||
.irq = { IRQ_CP_CLCDCINT, NO_IRQ },
|
||||
.periphid = 0,
|
||||
};
|
||||
static AMBA_AHB_DEVICE(clcd, "mb:c0", 0, INTCP_PA_CLCD_BASE,
|
||||
{ IRQ_CP_CLCDCINT }, &clcd_data);
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&mmc_device,
|
||||
|
||||
@@ -149,20 +149,8 @@ static struct clcd_board lpc32xx_clcd_data = {
|
||||
.remove = lpc32xx_clcd_remove,
|
||||
};
|
||||
|
||||
static struct amba_device lpc32xx_clcd_device = {
|
||||
.dev = {
|
||||
.coherent_dma_mask = ~0,
|
||||
.init_name = "dev:clcd",
|
||||
.platform_data = &lpc32xx_clcd_data,
|
||||
},
|
||||
.res = {
|
||||
.start = LPC32XX_LCD_BASE,
|
||||
.end = (LPC32XX_LCD_BASE + SZ_4K - 1),
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.dma_mask = ~0,
|
||||
.irq = {IRQ_LPC32XX_LCD, NO_IRQ},
|
||||
};
|
||||
static AMBA_AHB_DEVICE(lpc32xx_clcd, "dev:clcd", 0,
|
||||
LPC32XX_LCD_BASE, { IRQ_LPC32XX_LCD }, &lpc32xx_clcd_data);
|
||||
|
||||
/*
|
||||
* AMBA SSP (SPI)
|
||||
@@ -191,20 +179,8 @@ static struct pl022_ssp_controller lpc32xx_ssp0_data = {
|
||||
.enable_dma = 0,
|
||||
};
|
||||
|
||||
static struct amba_device lpc32xx_ssp0_device = {
|
||||
.dev = {
|
||||
.coherent_dma_mask = ~0,
|
||||
.init_name = "dev:ssp0",
|
||||
.platform_data = &lpc32xx_ssp0_data,
|
||||
},
|
||||
.res = {
|
||||
.start = LPC32XX_SSP0_BASE,
|
||||
.end = (LPC32XX_SSP0_BASE + SZ_4K - 1),
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.dma_mask = ~0,
|
||||
.irq = {IRQ_LPC32XX_SSP0, NO_IRQ},
|
||||
};
|
||||
static AMBA_APB_DEVICE(lpc32xx_ssp0, "dev:ssp0", 0,
|
||||
LPC32XX_SSP0_BASE, { IRQ_LPC32XX_SSP0 }, &lpc32xx_ssp0_data);
|
||||
|
||||
/* AT25 driver registration */
|
||||
static int __init phy3250_spi_board_register(void)
|
||||
|
||||
@@ -77,16 +77,18 @@ err:
|
||||
|
||||
int __init mxs_add_amba_device(const struct amba_device *dev)
|
||||
{
|
||||
struct amba_device *adev = kmalloc(sizeof(*adev), GFP_KERNEL);
|
||||
struct amba_device *adev = amba_device_alloc(dev->dev.init_name,
|
||||
dev->res.start, resource_size(&dev->res));
|
||||
|
||||
if (!adev) {
|
||||
pr_err("%s: failed to allocate memory", __func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
*adev = *dev;
|
||||
adev->irq[0] = dev->irq[0];
|
||||
adev->irq[1] = dev->irq[1];
|
||||
|
||||
return amba_device_register(adev, &iomem_resource);
|
||||
return amba_device_add(adev, &iomem_resource);
|
||||
}
|
||||
|
||||
struct device mxs_apbh_bus = {
|
||||
|
||||
@@ -23,7 +23,7 @@ const struct amba_device name##_device __initconst = { \
|
||||
.end = (soc ## _DUART_BASE_ADDR) + SZ_8K - 1, \
|
||||
.flags = IORESOURCE_MEM, \
|
||||
}, \
|
||||
.irq = {soc ## _INT_DUART, NO_IRQ}, \
|
||||
.irq = {soc ## _INT_DUART}, \
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SOC_IMX23
|
||||
|
||||
+1
-12
@@ -92,18 +92,7 @@ void clk_put(struct clk *clk)
|
||||
{
|
||||
}
|
||||
|
||||
static struct amba_device fb_device = {
|
||||
.dev = {
|
||||
.init_name = "fb",
|
||||
.coherent_dma_mask = ~0,
|
||||
},
|
||||
.res = {
|
||||
.start = 0x00104000,
|
||||
.end = 0x00104fff,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.irq = { NETX_IRQ_LCD, NO_IRQ },
|
||||
};
|
||||
static AMBA_AHB_DEVICE(fb, "fb", 0, 0x00104000, { NETX_IRQ_LCD }, NULL);
|
||||
|
||||
int netx_fb_init(struct clcd_board *board, struct clcd_panel *panel)
|
||||
{
|
||||
|
||||
@@ -185,20 +185,11 @@ static void __init nhk8815_onenand_init(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
#define __MEM_4K_RESOURCE(x) \
|
||||
.res = {.start = (x), .end = (x) + SZ_4K - 1, .flags = IORESOURCE_MEM}
|
||||
static AMBA_APB_DEVICE(uart0, "uart0", 0, NOMADIK_UART0_BASE,
|
||||
{ IRQ_UART0 }, NULL);
|
||||
|
||||
static struct amba_device uart0_device = {
|
||||
.dev = { .init_name = "uart0" },
|
||||
__MEM_4K_RESOURCE(NOMADIK_UART0_BASE),
|
||||
.irq = {IRQ_UART0, NO_IRQ},
|
||||
};
|
||||
|
||||
static struct amba_device uart1_device = {
|
||||
.dev = { .init_name = "uart1" },
|
||||
__MEM_4K_RESOURCE(NOMADIK_UART1_BASE),
|
||||
.irq = {IRQ_UART1, NO_IRQ},
|
||||
};
|
||||
static AMBA_APB_DEVICE(uart1, "uart1", 0, NOMADIK_UART1_BASE,
|
||||
{ IRQ_UART1 }, NULL);
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&uart0_device,
|
||||
|
||||
@@ -97,12 +97,7 @@ static struct platform_device cpu8815_platform_gpio[] = {
|
||||
GPIO_DEVICE(3),
|
||||
};
|
||||
|
||||
static struct amba_device cpu8815_amba_rng = {
|
||||
.dev = {
|
||||
.init_name = "rng",
|
||||
},
|
||||
__MEM_4K_RESOURCE(NOMADIK_RNG_BASE),
|
||||
};
|
||||
static AMBA_APB_DEVICE(cpu8815_amba_rng, "rng", 0, NOMADIK_RNG_BASE, { }, NULL);
|
||||
|
||||
static struct platform_device *platform_devs[] __initdata = {
|
||||
cpu8815_platform_gpio + 0,
|
||||
@@ -112,7 +107,7 @@ static struct platform_device *platform_devs[] __initdata = {
|
||||
};
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&cpu8815_amba_rng
|
||||
&cpu8815_amba_rng_device
|
||||
};
|
||||
|
||||
static int __init cpu8815_init(void)
|
||||
|
||||
@@ -30,29 +30,8 @@ MODULE_AUTHOR("Alexander Shishkin");
|
||||
#define ETB_BASE (L4_EMU_34XX_PHYS + 0x1b000)
|
||||
#define DAPCTL (L4_EMU_34XX_PHYS + 0x1d000)
|
||||
|
||||
static struct amba_device omap3_etb_device = {
|
||||
.dev = {
|
||||
.init_name = "etb",
|
||||
},
|
||||
.res = {
|
||||
.start = ETB_BASE,
|
||||
.end = ETB_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.periphid = 0x000bb907,
|
||||
};
|
||||
|
||||
static struct amba_device omap3_etm_device = {
|
||||
.dev = {
|
||||
.init_name = "etm",
|
||||
},
|
||||
.res = {
|
||||
.start = ETM_BASE,
|
||||
.end = ETM_BASE + SZ_4K - 1,
|
||||
.flags = IORESOURCE_MEM,
|
||||
},
|
||||
.periphid = 0x102bb921,
|
||||
};
|
||||
static AMBA_APB_DEVICE(omap3_etb, "etb", 0x000bb907, ETB_BASE, { }, NULL);
|
||||
static AMBA_APB_DEVICE(omap3_etm, "etm", 0x102bb921, ETM_BASE, { }, NULL);
|
||||
|
||||
static int __init emu_init(void)
|
||||
{
|
||||
@@ -66,4 +45,3 @@ static int __init emu_init(void)
|
||||
}
|
||||
|
||||
subsys_initcall(emu_init);
|
||||
|
||||
|
||||
@@ -28,21 +28,11 @@
|
||||
#include <asm/setup.h>
|
||||
#include <asm/leds.h>
|
||||
|
||||
#define AMBA_DEVICE(name,busid,base,plat) \
|
||||
static struct amba_device name##_device = { \
|
||||
.dev = { \
|
||||
.coherent_dma_mask = ~0, \
|
||||
.init_name = busid, \
|
||||
.platform_data = plat, \
|
||||
}, \
|
||||
.res = { \
|
||||
.start = REALVIEW_##base##_BASE, \
|
||||
.end = (REALVIEW_##base##_BASE) + SZ_4K - 1, \
|
||||
.flags = IORESOURCE_MEM, \
|
||||
}, \
|
||||
.dma_mask = ~0, \
|
||||
.irq = base##_IRQ, \
|
||||
}
|
||||
#define APB_DEVICE(name, busid, base, plat) \
|
||||
static AMBA_APB_DEVICE(name, busid, 0, REALVIEW_##base##_BASE, base##_IRQ, plat)
|
||||
|
||||
#define AHB_DEVICE(name, busid, base, plat) \
|
||||
static AMBA_AHB_DEVICE(name, busid, 0, REALVIEW_##base##_BASE, base##_IRQ, plat)
|
||||
|
||||
struct machine_desc;
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@
|
||||
#define IRQ_DC1176_L2CC (IRQ_DC1176_GIC_START + 13)
|
||||
#define IRQ_DC1176_RTC (IRQ_DC1176_GIC_START + 14)
|
||||
#define IRQ_DC1176_CLCD (IRQ_DC1176_GIC_START + 15) /* CLCD controller */
|
||||
#define IRQ_DC1176_GPIO0 (IRQ_DC1176_GIC_START + 16)
|
||||
#define IRQ_DC1176_SSP (IRQ_DC1176_GIC_START + 17) /* SSP port */
|
||||
#define IRQ_DC1176_UART0 (IRQ_DC1176_GIC_START + 18) /* UART 0 on development chip */
|
||||
#define IRQ_DC1176_UART1 (IRQ_DC1176_GIC_START + 19) /* UART 1 on development chip */
|
||||
@@ -73,7 +74,6 @@
|
||||
#define IRQ_PB1176_DMAC (IRQ_PB1176_GIC_START + 24) /* DMA controller */
|
||||
#define IRQ_PB1176_RTC (IRQ_PB1176_GIC_START + 25) /* Real Time Clock */
|
||||
|
||||
#define IRQ_PB1176_GPIO0 -1
|
||||
#define IRQ_PB1176_SCTL -1
|
||||
|
||||
#define NR_GIC_PB1176 2
|
||||
|
||||
@@ -140,63 +140,63 @@ static struct pl022_ssp_controller ssp0_plat_data = {
|
||||
/*
|
||||
* These devices are connected via the core APB bridge
|
||||
*/
|
||||
#define GPIO2_IRQ { IRQ_EB_GPIO2, NO_IRQ }
|
||||
#define GPIO3_IRQ { IRQ_EB_GPIO3, NO_IRQ }
|
||||
#define GPIO2_IRQ { IRQ_EB_GPIO2 }
|
||||
#define GPIO3_IRQ { IRQ_EB_GPIO3 }
|
||||
|
||||
#define AACI_IRQ { IRQ_EB_AACI, NO_IRQ }
|
||||
#define AACI_IRQ { IRQ_EB_AACI }
|
||||
#define MMCI0_IRQ { IRQ_EB_MMCI0A, IRQ_EB_MMCI0B }
|
||||
#define KMI0_IRQ { IRQ_EB_KMI0, NO_IRQ }
|
||||
#define KMI1_IRQ { IRQ_EB_KMI1, NO_IRQ }
|
||||
#define KMI0_IRQ { IRQ_EB_KMI0 }
|
||||
#define KMI1_IRQ { IRQ_EB_KMI1 }
|
||||
|
||||
/*
|
||||
* These devices are connected directly to the multi-layer AHB switch
|
||||
*/
|
||||
#define EB_SMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define MPMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define EB_CLCD_IRQ { IRQ_EB_CLCD, NO_IRQ }
|
||||
#define DMAC_IRQ { IRQ_EB_DMA, NO_IRQ }
|
||||
#define EB_SMC_IRQ { }
|
||||
#define MPMC_IRQ { }
|
||||
#define EB_CLCD_IRQ { IRQ_EB_CLCD }
|
||||
#define DMAC_IRQ { IRQ_EB_DMA }
|
||||
|
||||
/*
|
||||
* These devices are connected via the core APB bridge
|
||||
*/
|
||||
#define SCTL_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define EB_WATCHDOG_IRQ { IRQ_EB_WDOG, NO_IRQ }
|
||||
#define EB_GPIO0_IRQ { IRQ_EB_GPIO0, NO_IRQ }
|
||||
#define GPIO1_IRQ { IRQ_EB_GPIO1, NO_IRQ }
|
||||
#define EB_RTC_IRQ { IRQ_EB_RTC, NO_IRQ }
|
||||
#define SCTL_IRQ { }
|
||||
#define EB_WATCHDOG_IRQ { IRQ_EB_WDOG }
|
||||
#define EB_GPIO0_IRQ { IRQ_EB_GPIO0 }
|
||||
#define GPIO1_IRQ { IRQ_EB_GPIO1 }
|
||||
#define EB_RTC_IRQ { IRQ_EB_RTC }
|
||||
|
||||
/*
|
||||
* These devices are connected via the DMA APB bridge
|
||||
*/
|
||||
#define SCI_IRQ { IRQ_EB_SCI, NO_IRQ }
|
||||
#define EB_UART0_IRQ { IRQ_EB_UART0, NO_IRQ }
|
||||
#define EB_UART1_IRQ { IRQ_EB_UART1, NO_IRQ }
|
||||
#define EB_UART2_IRQ { IRQ_EB_UART2, NO_IRQ }
|
||||
#define EB_UART3_IRQ { IRQ_EB_UART3, NO_IRQ }
|
||||
#define EB_SSP_IRQ { IRQ_EB_SSP, NO_IRQ }
|
||||
#define SCI_IRQ { IRQ_EB_SCI }
|
||||
#define EB_UART0_IRQ { IRQ_EB_UART0 }
|
||||
#define EB_UART1_IRQ { IRQ_EB_UART1 }
|
||||
#define EB_UART2_IRQ { IRQ_EB_UART2 }
|
||||
#define EB_UART3_IRQ { IRQ_EB_UART3 }
|
||||
#define EB_SSP_IRQ { IRQ_EB_SSP }
|
||||
|
||||
/* FPGA Primecells */
|
||||
AMBA_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
AMBA_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
AMBA_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
AMBA_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
AMBA_DEVICE(uart3, "fpga:uart3", EB_UART3, NULL);
|
||||
APB_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
APB_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
APB_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
APB_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
APB_DEVICE(uart3, "fpga:uart3", EB_UART3, NULL);
|
||||
|
||||
/* DevChip Primecells */
|
||||
AMBA_DEVICE(smc, "dev:smc", EB_SMC, NULL);
|
||||
AMBA_DEVICE(clcd, "dev:clcd", EB_CLCD, &clcd_plat_data);
|
||||
AMBA_DEVICE(dmac, "dev:dmac", DMAC, NULL);
|
||||
AMBA_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
AMBA_DEVICE(wdog, "dev:wdog", EB_WATCHDOG, NULL);
|
||||
AMBA_DEVICE(gpio0, "dev:gpio0", EB_GPIO0, &gpio0_plat_data);
|
||||
AMBA_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
AMBA_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
AMBA_DEVICE(rtc, "dev:rtc", EB_RTC, NULL);
|
||||
AMBA_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
AMBA_DEVICE(uart0, "dev:uart0", EB_UART0, NULL);
|
||||
AMBA_DEVICE(uart1, "dev:uart1", EB_UART1, NULL);
|
||||
AMBA_DEVICE(uart2, "dev:uart2", EB_UART2, NULL);
|
||||
AMBA_DEVICE(ssp0, "dev:ssp0", EB_SSP, &ssp0_plat_data);
|
||||
AHB_DEVICE(smc, "dev:smc", EB_SMC, NULL);
|
||||
AHB_DEVICE(clcd, "dev:clcd", EB_CLCD, &clcd_plat_data);
|
||||
AHB_DEVICE(dmac, "dev:dmac", DMAC, NULL);
|
||||
AHB_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
APB_DEVICE(wdog, "dev:wdog", EB_WATCHDOG, NULL);
|
||||
APB_DEVICE(gpio0, "dev:gpio0", EB_GPIO0, &gpio0_plat_data);
|
||||
APB_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
APB_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
APB_DEVICE(rtc, "dev:rtc", EB_RTC, NULL);
|
||||
APB_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
APB_DEVICE(uart0, "dev:uart0", EB_UART0, NULL);
|
||||
APB_DEVICE(uart1, "dev:uart1", EB_UART1, NULL);
|
||||
APB_DEVICE(uart2, "dev:uart2", EB_UART2, NULL);
|
||||
APB_DEVICE(ssp0, "dev:ssp0", EB_SSP, &ssp0_plat_data);
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&dmac_device,
|
||||
|
||||
@@ -132,50 +132,50 @@ static struct pl022_ssp_controller ssp0_plat_data = {
|
||||
/*
|
||||
* RealView PB1176 AMBA devices
|
||||
*/
|
||||
#define GPIO2_IRQ { IRQ_PB1176_GPIO2, NO_IRQ }
|
||||
#define GPIO3_IRQ { IRQ_PB1176_GPIO3, NO_IRQ }
|
||||
#define AACI_IRQ { IRQ_PB1176_AACI, NO_IRQ }
|
||||
#define GPIO2_IRQ { IRQ_PB1176_GPIO2 }
|
||||
#define GPIO3_IRQ { IRQ_PB1176_GPIO3 }
|
||||
#define AACI_IRQ { IRQ_PB1176_AACI }
|
||||
#define MMCI0_IRQ { IRQ_PB1176_MMCI0A, IRQ_PB1176_MMCI0B }
|
||||
#define KMI0_IRQ { IRQ_PB1176_KMI0, NO_IRQ }
|
||||
#define KMI1_IRQ { IRQ_PB1176_KMI1, NO_IRQ }
|
||||
#define PB1176_SMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define MPMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define PB1176_CLCD_IRQ { IRQ_DC1176_CLCD, NO_IRQ }
|
||||
#define SCTL_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define PB1176_WATCHDOG_IRQ { IRQ_DC1176_WATCHDOG, NO_IRQ }
|
||||
#define PB1176_GPIO0_IRQ { IRQ_PB1176_GPIO0, NO_IRQ }
|
||||
#define GPIO1_IRQ { IRQ_PB1176_GPIO1, NO_IRQ }
|
||||
#define PB1176_RTC_IRQ { IRQ_DC1176_RTC, NO_IRQ }
|
||||
#define SCI_IRQ { IRQ_PB1176_SCI, NO_IRQ }
|
||||
#define PB1176_UART0_IRQ { IRQ_DC1176_UART0, NO_IRQ }
|
||||
#define PB1176_UART1_IRQ { IRQ_DC1176_UART1, NO_IRQ }
|
||||
#define PB1176_UART2_IRQ { IRQ_DC1176_UART2, NO_IRQ }
|
||||
#define PB1176_UART3_IRQ { IRQ_DC1176_UART3, NO_IRQ }
|
||||
#define PB1176_UART4_IRQ { IRQ_PB1176_UART4, NO_IRQ }
|
||||
#define PB1176_SSP_IRQ { IRQ_DC1176_SSP, NO_IRQ }
|
||||
#define KMI0_IRQ { IRQ_PB1176_KMI0 }
|
||||
#define KMI1_IRQ { IRQ_PB1176_KMI1 }
|
||||
#define PB1176_SMC_IRQ { }
|
||||
#define MPMC_IRQ { }
|
||||
#define PB1176_CLCD_IRQ { IRQ_DC1176_CLCD }
|
||||
#define SCTL_IRQ { }
|
||||
#define PB1176_WATCHDOG_IRQ { IRQ_DC1176_WATCHDOG }
|
||||
#define PB1176_GPIO0_IRQ { IRQ_DC1176_GPIO0 }
|
||||
#define GPIO1_IRQ { IRQ_PB1176_GPIO1 }
|
||||
#define PB1176_RTC_IRQ { IRQ_DC1176_RTC }
|
||||
#define SCI_IRQ { IRQ_PB1176_SCI }
|
||||
#define PB1176_UART0_IRQ { IRQ_DC1176_UART0 }
|
||||
#define PB1176_UART1_IRQ { IRQ_DC1176_UART1 }
|
||||
#define PB1176_UART2_IRQ { IRQ_DC1176_UART2 }
|
||||
#define PB1176_UART3_IRQ { IRQ_DC1176_UART3 }
|
||||
#define PB1176_UART4_IRQ { IRQ_PB1176_UART4 }
|
||||
#define PB1176_SSP_IRQ { IRQ_DC1176_SSP }
|
||||
|
||||
/* FPGA Primecells */
|
||||
AMBA_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
AMBA_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
AMBA_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
AMBA_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
AMBA_DEVICE(uart4, "fpga:uart4", PB1176_UART4, NULL);
|
||||
APB_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
APB_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
APB_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
APB_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
APB_DEVICE(uart4, "fpga:uart4", PB1176_UART4, NULL);
|
||||
|
||||
/* DevChip Primecells */
|
||||
AMBA_DEVICE(smc, "dev:smc", PB1176_SMC, NULL);
|
||||
AMBA_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
AMBA_DEVICE(wdog, "dev:wdog", PB1176_WATCHDOG, NULL);
|
||||
AMBA_DEVICE(gpio0, "dev:gpio0", PB1176_GPIO0, &gpio0_plat_data);
|
||||
AMBA_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
AMBA_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
AMBA_DEVICE(rtc, "dev:rtc", PB1176_RTC, NULL);
|
||||
AMBA_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
AMBA_DEVICE(uart0, "dev:uart0", PB1176_UART0, NULL);
|
||||
AMBA_DEVICE(uart1, "dev:uart1", PB1176_UART1, NULL);
|
||||
AMBA_DEVICE(uart2, "dev:uart2", PB1176_UART2, NULL);
|
||||
AMBA_DEVICE(uart3, "dev:uart3", PB1176_UART3, NULL);
|
||||
AMBA_DEVICE(ssp0, "dev:ssp0", PB1176_SSP, &ssp0_plat_data);
|
||||
AMBA_DEVICE(clcd, "dev:clcd", PB1176_CLCD, &clcd_plat_data);
|
||||
AHB_DEVICE(smc, "dev:smc", PB1176_SMC, NULL);
|
||||
AHB_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
APB_DEVICE(wdog, "dev:wdog", PB1176_WATCHDOG, NULL);
|
||||
APB_DEVICE(gpio0, "dev:gpio0", PB1176_GPIO0, &gpio0_plat_data);
|
||||
APB_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
APB_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
APB_DEVICE(rtc, "dev:rtc", PB1176_RTC, NULL);
|
||||
APB_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
APB_DEVICE(uart0, "dev:uart0", PB1176_UART0, NULL);
|
||||
APB_DEVICE(uart1, "dev:uart1", PB1176_UART1, NULL);
|
||||
APB_DEVICE(uart2, "dev:uart2", PB1176_UART2, NULL);
|
||||
APB_DEVICE(uart3, "dev:uart3", PB1176_UART3, NULL);
|
||||
APB_DEVICE(ssp0, "dev:ssp0", PB1176_SSP, &ssp0_plat_data);
|
||||
AHB_DEVICE(clcd, "dev:clcd", PB1176_CLCD, &clcd_plat_data);
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&uart0_device,
|
||||
|
||||
@@ -132,52 +132,52 @@ static struct pl022_ssp_controller ssp0_plat_data = {
|
||||
* RealView PB11MPCore AMBA devices
|
||||
*/
|
||||
|
||||
#define GPIO2_IRQ { IRQ_PB11MP_GPIO2, NO_IRQ }
|
||||
#define GPIO3_IRQ { IRQ_PB11MP_GPIO3, NO_IRQ }
|
||||
#define AACI_IRQ { IRQ_TC11MP_AACI, NO_IRQ }
|
||||
#define GPIO2_IRQ { IRQ_PB11MP_GPIO2 }
|
||||
#define GPIO3_IRQ { IRQ_PB11MP_GPIO3 }
|
||||
#define AACI_IRQ { IRQ_TC11MP_AACI }
|
||||
#define MMCI0_IRQ { IRQ_TC11MP_MMCI0A, IRQ_TC11MP_MMCI0B }
|
||||
#define KMI0_IRQ { IRQ_TC11MP_KMI0, NO_IRQ }
|
||||
#define KMI1_IRQ { IRQ_TC11MP_KMI1, NO_IRQ }
|
||||
#define PB11MP_SMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define MPMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define PB11MP_CLCD_IRQ { IRQ_PB11MP_CLCD, NO_IRQ }
|
||||
#define DMAC_IRQ { IRQ_PB11MP_DMAC, NO_IRQ }
|
||||
#define SCTL_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define PB11MP_WATCHDOG_IRQ { IRQ_PB11MP_WATCHDOG, NO_IRQ }
|
||||
#define PB11MP_GPIO0_IRQ { IRQ_PB11MP_GPIO0, NO_IRQ }
|
||||
#define GPIO1_IRQ { IRQ_PB11MP_GPIO1, NO_IRQ }
|
||||
#define PB11MP_RTC_IRQ { IRQ_TC11MP_RTC, NO_IRQ }
|
||||
#define SCI_IRQ { IRQ_PB11MP_SCI, NO_IRQ }
|
||||
#define PB11MP_UART0_IRQ { IRQ_TC11MP_UART0, NO_IRQ }
|
||||
#define PB11MP_UART1_IRQ { IRQ_TC11MP_UART1, NO_IRQ }
|
||||
#define PB11MP_UART2_IRQ { IRQ_PB11MP_UART2, NO_IRQ }
|
||||
#define PB11MP_UART3_IRQ { IRQ_PB11MP_UART3, NO_IRQ }
|
||||
#define PB11MP_SSP_IRQ { IRQ_PB11MP_SSP, NO_IRQ }
|
||||
#define KMI0_IRQ { IRQ_TC11MP_KMI0 }
|
||||
#define KMI1_IRQ { IRQ_TC11MP_KMI1 }
|
||||
#define PB11MP_SMC_IRQ { }
|
||||
#define MPMC_IRQ { }
|
||||
#define PB11MP_CLCD_IRQ { IRQ_PB11MP_CLCD }
|
||||
#define DMAC_IRQ { IRQ_PB11MP_DMAC }
|
||||
#define SCTL_IRQ { }
|
||||
#define PB11MP_WATCHDOG_IRQ { IRQ_PB11MP_WATCHDOG }
|
||||
#define PB11MP_GPIO0_IRQ { IRQ_PB11MP_GPIO0 }
|
||||
#define GPIO1_IRQ { IRQ_PB11MP_GPIO1 }
|
||||
#define PB11MP_RTC_IRQ { IRQ_TC11MP_RTC }
|
||||
#define SCI_IRQ { IRQ_PB11MP_SCI }
|
||||
#define PB11MP_UART0_IRQ { IRQ_TC11MP_UART0 }
|
||||
#define PB11MP_UART1_IRQ { IRQ_TC11MP_UART1 }
|
||||
#define PB11MP_UART2_IRQ { IRQ_PB11MP_UART2 }
|
||||
#define PB11MP_UART3_IRQ { IRQ_PB11MP_UART3 }
|
||||
#define PB11MP_SSP_IRQ { IRQ_PB11MP_SSP }
|
||||
|
||||
/* FPGA Primecells */
|
||||
AMBA_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
AMBA_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
AMBA_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
AMBA_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
AMBA_DEVICE(uart3, "fpga:uart3", PB11MP_UART3, NULL);
|
||||
APB_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
APB_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
APB_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
APB_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
APB_DEVICE(uart3, "fpga:uart3", PB11MP_UART3, NULL);
|
||||
|
||||
/* DevChip Primecells */
|
||||
AMBA_DEVICE(smc, "dev:smc", PB11MP_SMC, NULL);
|
||||
AMBA_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
AMBA_DEVICE(wdog, "dev:wdog", PB11MP_WATCHDOG, NULL);
|
||||
AMBA_DEVICE(gpio0, "dev:gpio0", PB11MP_GPIO0, &gpio0_plat_data);
|
||||
AMBA_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
AMBA_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
AMBA_DEVICE(rtc, "dev:rtc", PB11MP_RTC, NULL);
|
||||
AMBA_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
AMBA_DEVICE(uart0, "dev:uart0", PB11MP_UART0, NULL);
|
||||
AMBA_DEVICE(uart1, "dev:uart1", PB11MP_UART1, NULL);
|
||||
AMBA_DEVICE(uart2, "dev:uart2", PB11MP_UART2, NULL);
|
||||
AMBA_DEVICE(ssp0, "dev:ssp0", PB11MP_SSP, &ssp0_plat_data);
|
||||
AHB_DEVICE(smc, "dev:smc", PB11MP_SMC, NULL);
|
||||
AHB_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
APB_DEVICE(wdog, "dev:wdog", PB11MP_WATCHDOG, NULL);
|
||||
APB_DEVICE(gpio0, "dev:gpio0", PB11MP_GPIO0, &gpio0_plat_data);
|
||||
APB_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
APB_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
APB_DEVICE(rtc, "dev:rtc", PB11MP_RTC, NULL);
|
||||
APB_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
APB_DEVICE(uart0, "dev:uart0", PB11MP_UART0, NULL);
|
||||
APB_DEVICE(uart1, "dev:uart1", PB11MP_UART1, NULL);
|
||||
APB_DEVICE(uart2, "dev:uart2", PB11MP_UART2, NULL);
|
||||
APB_DEVICE(ssp0, "dev:ssp0", PB11MP_SSP, &ssp0_plat_data);
|
||||
|
||||
/* Primecells on the NEC ISSP chip */
|
||||
AMBA_DEVICE(clcd, "issp:clcd", PB11MP_CLCD, &clcd_plat_data);
|
||||
AMBA_DEVICE(dmac, "issp:dmac", DMAC, NULL);
|
||||
AHB_DEVICE(clcd, "issp:clcd", PB11MP_CLCD, &clcd_plat_data);
|
||||
AHB_DEVICE(dmac, "issp:dmac", DMAC, NULL);
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&dmac_device,
|
||||
|
||||
@@ -122,52 +122,52 @@ static struct pl022_ssp_controller ssp0_plat_data = {
|
||||
* RealView PBA8Core AMBA devices
|
||||
*/
|
||||
|
||||
#define GPIO2_IRQ { IRQ_PBA8_GPIO2, NO_IRQ }
|
||||
#define GPIO3_IRQ { IRQ_PBA8_GPIO3, NO_IRQ }
|
||||
#define AACI_IRQ { IRQ_PBA8_AACI, NO_IRQ }
|
||||
#define GPIO2_IRQ { IRQ_PBA8_GPIO2 }
|
||||
#define GPIO3_IRQ { IRQ_PBA8_GPIO3 }
|
||||
#define AACI_IRQ { IRQ_PBA8_AACI }
|
||||
#define MMCI0_IRQ { IRQ_PBA8_MMCI0A, IRQ_PBA8_MMCI0B }
|
||||
#define KMI0_IRQ { IRQ_PBA8_KMI0, NO_IRQ }
|
||||
#define KMI1_IRQ { IRQ_PBA8_KMI1, NO_IRQ }
|
||||
#define PBA8_SMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define MPMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define PBA8_CLCD_IRQ { IRQ_PBA8_CLCD, NO_IRQ }
|
||||
#define DMAC_IRQ { IRQ_PBA8_DMAC, NO_IRQ }
|
||||
#define SCTL_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define PBA8_WATCHDOG_IRQ { IRQ_PBA8_WATCHDOG, NO_IRQ }
|
||||
#define PBA8_GPIO0_IRQ { IRQ_PBA8_GPIO0, NO_IRQ }
|
||||
#define GPIO1_IRQ { IRQ_PBA8_GPIO1, NO_IRQ }
|
||||
#define PBA8_RTC_IRQ { IRQ_PBA8_RTC, NO_IRQ }
|
||||
#define SCI_IRQ { IRQ_PBA8_SCI, NO_IRQ }
|
||||
#define PBA8_UART0_IRQ { IRQ_PBA8_UART0, NO_IRQ }
|
||||
#define PBA8_UART1_IRQ { IRQ_PBA8_UART1, NO_IRQ }
|
||||
#define PBA8_UART2_IRQ { IRQ_PBA8_UART2, NO_IRQ }
|
||||
#define PBA8_UART3_IRQ { IRQ_PBA8_UART3, NO_IRQ }
|
||||
#define PBA8_SSP_IRQ { IRQ_PBA8_SSP, NO_IRQ }
|
||||
#define KMI0_IRQ { IRQ_PBA8_KMI0 }
|
||||
#define KMI1_IRQ { IRQ_PBA8_KMI1 }
|
||||
#define PBA8_SMC_IRQ { }
|
||||
#define MPMC_IRQ { }
|
||||
#define PBA8_CLCD_IRQ { IRQ_PBA8_CLCD }
|
||||
#define DMAC_IRQ { IRQ_PBA8_DMAC }
|
||||
#define SCTL_IRQ { }
|
||||
#define PBA8_WATCHDOG_IRQ { IRQ_PBA8_WATCHDOG }
|
||||
#define PBA8_GPIO0_IRQ { IRQ_PBA8_GPIO0 }
|
||||
#define GPIO1_IRQ { IRQ_PBA8_GPIO1 }
|
||||
#define PBA8_RTC_IRQ { IRQ_PBA8_RTC }
|
||||
#define SCI_IRQ { IRQ_PBA8_SCI }
|
||||
#define PBA8_UART0_IRQ { IRQ_PBA8_UART0 }
|
||||
#define PBA8_UART1_IRQ { IRQ_PBA8_UART1 }
|
||||
#define PBA8_UART2_IRQ { IRQ_PBA8_UART2 }
|
||||
#define PBA8_UART3_IRQ { IRQ_PBA8_UART3 }
|
||||
#define PBA8_SSP_IRQ { IRQ_PBA8_SSP }
|
||||
|
||||
/* FPGA Primecells */
|
||||
AMBA_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
AMBA_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
AMBA_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
AMBA_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
AMBA_DEVICE(uart3, "fpga:uart3", PBA8_UART3, NULL);
|
||||
APB_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
APB_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
APB_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
APB_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
APB_DEVICE(uart3, "fpga:uart3", PBA8_UART3, NULL);
|
||||
|
||||
/* DevChip Primecells */
|
||||
AMBA_DEVICE(smc, "dev:smc", PBA8_SMC, NULL);
|
||||
AMBA_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
AMBA_DEVICE(wdog, "dev:wdog", PBA8_WATCHDOG, NULL);
|
||||
AMBA_DEVICE(gpio0, "dev:gpio0", PBA8_GPIO0, &gpio0_plat_data);
|
||||
AMBA_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
AMBA_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
AMBA_DEVICE(rtc, "dev:rtc", PBA8_RTC, NULL);
|
||||
AMBA_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
AMBA_DEVICE(uart0, "dev:uart0", PBA8_UART0, NULL);
|
||||
AMBA_DEVICE(uart1, "dev:uart1", PBA8_UART1, NULL);
|
||||
AMBA_DEVICE(uart2, "dev:uart2", PBA8_UART2, NULL);
|
||||
AMBA_DEVICE(ssp0, "dev:ssp0", PBA8_SSP, &ssp0_plat_data);
|
||||
AHB_DEVICE(smc, "dev:smc", PBA8_SMC, NULL);
|
||||
AHB_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
APB_DEVICE(wdog, "dev:wdog", PBA8_WATCHDOG, NULL);
|
||||
APB_DEVICE(gpio0, "dev:gpio0", PBA8_GPIO0, &gpio0_plat_data);
|
||||
APB_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
APB_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
APB_DEVICE(rtc, "dev:rtc", PBA8_RTC, NULL);
|
||||
APB_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
APB_DEVICE(uart0, "dev:uart0", PBA8_UART0, NULL);
|
||||
APB_DEVICE(uart1, "dev:uart1", PBA8_UART1, NULL);
|
||||
APB_DEVICE(uart2, "dev:uart2", PBA8_UART2, NULL);
|
||||
APB_DEVICE(ssp0, "dev:ssp0", PBA8_SSP, &ssp0_plat_data);
|
||||
|
||||
/* Primecells on the NEC ISSP chip */
|
||||
AMBA_DEVICE(clcd, "issp:clcd", PBA8_CLCD, &clcd_plat_data);
|
||||
AMBA_DEVICE(dmac, "issp:dmac", DMAC, NULL);
|
||||
AHB_DEVICE(clcd, "issp:clcd", PBA8_CLCD, &clcd_plat_data);
|
||||
AHB_DEVICE(dmac, "issp:dmac", DMAC, NULL);
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&dmac_device,
|
||||
|
||||
@@ -144,52 +144,52 @@ static struct pl022_ssp_controller ssp0_plat_data = {
|
||||
* RealView PBXCore AMBA devices
|
||||
*/
|
||||
|
||||
#define GPIO2_IRQ { IRQ_PBX_GPIO2, NO_IRQ }
|
||||
#define GPIO3_IRQ { IRQ_PBX_GPIO3, NO_IRQ }
|
||||
#define AACI_IRQ { IRQ_PBX_AACI, NO_IRQ }
|
||||
#define GPIO2_IRQ { IRQ_PBX_GPIO2 }
|
||||
#define GPIO3_IRQ { IRQ_PBX_GPIO3 }
|
||||
#define AACI_IRQ { IRQ_PBX_AACI }
|
||||
#define MMCI0_IRQ { IRQ_PBX_MMCI0A, IRQ_PBX_MMCI0B }
|
||||
#define KMI0_IRQ { IRQ_PBX_KMI0, NO_IRQ }
|
||||
#define KMI1_IRQ { IRQ_PBX_KMI1, NO_IRQ }
|
||||
#define PBX_SMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define MPMC_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define PBX_CLCD_IRQ { IRQ_PBX_CLCD, NO_IRQ }
|
||||
#define DMAC_IRQ { IRQ_PBX_DMAC, NO_IRQ }
|
||||
#define SCTL_IRQ { NO_IRQ, NO_IRQ }
|
||||
#define PBX_WATCHDOG_IRQ { IRQ_PBX_WATCHDOG, NO_IRQ }
|
||||
#define PBX_GPIO0_IRQ { IRQ_PBX_GPIO0, NO_IRQ }
|
||||
#define GPIO1_IRQ { IRQ_PBX_GPIO1, NO_IRQ }
|
||||
#define PBX_RTC_IRQ { IRQ_PBX_RTC, NO_IRQ }
|
||||
#define SCI_IRQ { IRQ_PBX_SCI, NO_IRQ }
|
||||
#define PBX_UART0_IRQ { IRQ_PBX_UART0, NO_IRQ }
|
||||
#define PBX_UART1_IRQ { IRQ_PBX_UART1, NO_IRQ }
|
||||
#define PBX_UART2_IRQ { IRQ_PBX_UART2, NO_IRQ }
|
||||
#define PBX_UART3_IRQ { IRQ_PBX_UART3, NO_IRQ }
|
||||
#define PBX_SSP_IRQ { IRQ_PBX_SSP, NO_IRQ }
|
||||
#define KMI0_IRQ { IRQ_PBX_KMI0 }
|
||||
#define KMI1_IRQ { IRQ_PBX_KMI1 }
|
||||
#define PBX_SMC_IRQ { }
|
||||
#define MPMC_IRQ { }
|
||||
#define PBX_CLCD_IRQ { IRQ_PBX_CLCD }
|
||||
#define DMAC_IRQ { IRQ_PBX_DMAC }
|
||||
#define SCTL_IRQ { }
|
||||
#define PBX_WATCHDOG_IRQ { IRQ_PBX_WATCHDOG }
|
||||
#define PBX_GPIO0_IRQ { IRQ_PBX_GPIO0 }
|
||||
#define GPIO1_IRQ { IRQ_PBX_GPIO1 }
|
||||
#define PBX_RTC_IRQ { IRQ_PBX_RTC }
|
||||
#define SCI_IRQ { IRQ_PBX_SCI }
|
||||
#define PBX_UART0_IRQ { IRQ_PBX_UART0 }
|
||||
#define PBX_UART1_IRQ { IRQ_PBX_UART1 }
|
||||
#define PBX_UART2_IRQ { IRQ_PBX_UART2 }
|
||||
#define PBX_UART3_IRQ { IRQ_PBX_UART3 }
|
||||
#define PBX_SSP_IRQ { IRQ_PBX_SSP }
|
||||
|
||||
/* FPGA Primecells */
|
||||
AMBA_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
AMBA_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
AMBA_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
AMBA_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
AMBA_DEVICE(uart3, "fpga:uart3", PBX_UART3, NULL);
|
||||
APB_DEVICE(aaci, "fpga:aaci", AACI, NULL);
|
||||
APB_DEVICE(mmc0, "fpga:mmc0", MMCI0, &realview_mmc0_plat_data);
|
||||
APB_DEVICE(kmi0, "fpga:kmi0", KMI0, NULL);
|
||||
APB_DEVICE(kmi1, "fpga:kmi1", KMI1, NULL);
|
||||
APB_DEVICE(uart3, "fpga:uart3", PBX_UART3, NULL);
|
||||
|
||||
/* DevChip Primecells */
|
||||
AMBA_DEVICE(smc, "dev:smc", PBX_SMC, NULL);
|
||||
AMBA_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
AMBA_DEVICE(wdog, "dev:wdog", PBX_WATCHDOG, NULL);
|
||||
AMBA_DEVICE(gpio0, "dev:gpio0", PBX_GPIO0, &gpio0_plat_data);
|
||||
AMBA_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
AMBA_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
AMBA_DEVICE(rtc, "dev:rtc", PBX_RTC, NULL);
|
||||
AMBA_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
AMBA_DEVICE(uart0, "dev:uart0", PBX_UART0, NULL);
|
||||
AMBA_DEVICE(uart1, "dev:uart1", PBX_UART1, NULL);
|
||||
AMBA_DEVICE(uart2, "dev:uart2", PBX_UART2, NULL);
|
||||
AMBA_DEVICE(ssp0, "dev:ssp0", PBX_SSP, &ssp0_plat_data);
|
||||
AHB_DEVICE(smc, "dev:smc", PBX_SMC, NULL);
|
||||
AHB_DEVICE(sctl, "dev:sctl", SCTL, NULL);
|
||||
APB_DEVICE(wdog, "dev:wdog", PBX_WATCHDOG, NULL);
|
||||
APB_DEVICE(gpio0, "dev:gpio0", PBX_GPIO0, &gpio0_plat_data);
|
||||
APB_DEVICE(gpio1, "dev:gpio1", GPIO1, &gpio1_plat_data);
|
||||
APB_DEVICE(gpio2, "dev:gpio2", GPIO2, &gpio2_plat_data);
|
||||
APB_DEVICE(rtc, "dev:rtc", PBX_RTC, NULL);
|
||||
APB_DEVICE(sci0, "dev:sci0", SCI, NULL);
|
||||
APB_DEVICE(uart0, "dev:uart0", PBX_UART0, NULL);
|
||||
APB_DEVICE(uart1, "dev:uart1", PBX_UART1, NULL);
|
||||
APB_DEVICE(uart2, "dev:uart2", PBX_UART2, NULL);
|
||||
APB_DEVICE(ssp0, "dev:ssp0", PBX_SSP, &ssp0_plat_data);
|
||||
|
||||
/* Primecells on the NEC ISSP chip */
|
||||
AMBA_DEVICE(clcd, "issp:clcd", PBX_CLCD, &clcd_plat_data);
|
||||
AMBA_DEVICE(dmac, "issp:dmac", DMAC, NULL);
|
||||
AHB_DEVICE(clcd, "issp:clcd", PBX_CLCD, &clcd_plat_data);
|
||||
AHB_DEVICE(dmac, "issp:dmac", DMAC, NULL);
|
||||
|
||||
static struct amba_device *amba_devs[] __initdata = {
|
||||
&dmac_device,
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user