Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d56d6cb authored by Sylwester Nawrocki's avatar Sylwester Nawrocki Committed by Krzysztof Kozlowski
Browse files

ARM: S3C24XX: Add DMA slave maps for remaining s3c24xx SoCs



This patch adds DMA slave map tables for the remaining s3c24xx
SoC types so the whole platform can be switched to the new API.
A few devices for which there was no DMA support with current
code are omitted from the tables.

Signed-off-by: default avatarSylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
parent 379f1091
Loading
Loading
Loading
Loading
+76 −0
Original line number Diff line number Diff line
@@ -345,10 +345,40 @@ static struct s3c24xx_dma_channel s3c2410_dma_channels[DMACH_MAX] = {
	[DMACH_USB_EP4] = { S3C24XX_DMA_APB, true, S3C24XX_DMA_CHANREQ(4, 3), },
};

static const struct dma_slave_map s3c2410_dma_slave_map[] = {
	{ "s3c2410-sdi", "rx-tx", (void *)DMACH_SDI },
	{ "s3c2410-spi.0", "rx", (void *)DMACH_SPI0_RX },
	{ "s3c2410-spi.0", "tx", (void *)DMACH_SPI0_TX },
	{ "s3c2410-spi.1", "rx", (void *)DMACH_SPI1_RX },
	{ "s3c2410-spi.1", "tx", (void *)DMACH_SPI1_TX },
	/*
	 * The DMA request source[1] (DMACH_UARTx_SRC2) are
	 * not used in the UART driver.
	 */
	{ "s3c2410-uart.0", "rx", (void *)DMACH_UART0 },
	{ "s3c2410-uart.0", "tx", (void *)DMACH_UART0 },
	{ "s3c2410-uart.1", "rx", (void *)DMACH_UART1 },
	{ "s3c2410-uart.1", "tx", (void *)DMACH_UART1 },
	{ "s3c2410-uart.2", "rx", (void *)DMACH_UART2 },
	{ "s3c2410-uart.2", "tx", (void *)DMACH_UART2 },
	{ "s3c24xx-iis", "rx", (void *)DMACH_I2S_IN },
	{ "s3c24xx-iis", "tx", (void *)DMACH_I2S_OUT },
	{ "s3c-hsudc", "rx0", (void *)DMACH_USB_EP1 },
	{ "s3c-hsudc", "tx0", (void *)DMACH_USB_EP1 },
	{ "s3c-hsudc", "rx1", (void *)DMACH_USB_EP2 },
	{ "s3c-hsudc", "tx1", (void *)DMACH_USB_EP2 },
	{ "s3c-hsudc", "rx2", (void *)DMACH_USB_EP3 },
	{ "s3c-hsudc", "tx2", (void *)DMACH_USB_EP3 },
	{ "s3c-hsudc", "rx3", (void *)DMACH_USB_EP4 },
	{ "s3c-hsudc", "tx3", (void *)DMACH_USB_EP4 }
};

static struct s3c24xx_dma_platdata s3c2410_dma_platdata = {
	.num_phy_channels = 4,
	.channels = s3c2410_dma_channels,
	.num_channels = DMACH_MAX,
	.slave_map = s3c2410_dma_slave_map,
	.slavecnt = ARRAY_SIZE(s3c2410_dma_slave_map),
};

struct platform_device s3c2410_device_dma = {
@@ -388,10 +418,36 @@ static struct s3c24xx_dma_channel s3c2412_dma_channels[DMACH_MAX] = {
	[DMACH_USB_EP4] = { S3C24XX_DMA_APB, true, 16 },
};

static const struct dma_slave_map s3c2412_dma_slave_map[] = {
	{ "s3c2412-sdi", "rx-tx", (void *)DMACH_SDI },
	{ "s3c2412-spi.0", "rx", (void *)DMACH_SPI0_RX },
	{ "s3c2412-spi.0", "tx", (void *)DMACH_SPI0_TX },
	{ "s3c2412-spi.1", "rx", (void *)DMACH_SPI1_RX },
	{ "s3c2412-spi.1", "tx", (void *)DMACH_SPI1_TX },
	{ "s3c2440-uart.0", "rx", (void *)DMACH_UART0 },
	{ "s3c2440-uart.0", "tx", (void *)DMACH_UART0 },
	{ "s3c2440-uart.1", "rx", (void *)DMACH_UART1 },
	{ "s3c2440-uart.1", "tx", (void *)DMACH_UART1 },
	{ "s3c2440-uart.2", "rx", (void *)DMACH_UART2 },
	{ "s3c2440-uart.2", "tx", (void *)DMACH_UART2 },
	{ "s3c2412-iis", "rx", (void *)DMACH_I2S_IN },
	{ "s3c2412-iis", "tx", (void *)DMACH_I2S_OUT },
	{ "s3c-hsudc", "rx0", (void *)DMACH_USB_EP1 },
	{ "s3c-hsudc", "tx0", (void *)DMACH_USB_EP1 },
	{ "s3c-hsudc", "rx1", (void *)DMACH_USB_EP2 },
	{ "s3c-hsudc", "tx1", (void *)DMACH_USB_EP2 },
	{ "s3c-hsudc", "rx2", (void *)DMACH_USB_EP3 },
	{ "s3c-hsudc", "tx2", (void *)DMACH_USB_EP3 },
	{ "s3c-hsudc", "rx3", (void *)DMACH_USB_EP4 },
	{ "s3c-hsudc", "tx3", (void *)DMACH_USB_EP4 }
};

static struct s3c24xx_dma_platdata s3c2412_dma_platdata = {
	.num_phy_channels = 4,
	.channels = s3c2412_dma_channels,
	.num_channels = DMACH_MAX,
	.slave_map = s3c2412_dma_slave_map,
	.slavecnt = ARRAY_SIZE(s3c2412_dma_slave_map),
};

struct platform_device s3c2412_device_dma = {
@@ -534,10 +590,30 @@ static struct s3c24xx_dma_channel s3c2443_dma_channels[DMACH_MAX] = {
	[DMACH_MIC_IN] = { S3C24XX_DMA_APB, true, 29 },
};

static const struct dma_slave_map s3c2443_dma_slave_map[] = {
	{ "s3c2440-sdi", "rx-tx", (void *)DMACH_SDI },
	{ "s3c2443-spi.0", "rx", (void *)DMACH_SPI0_RX },
	{ "s3c2443-spi.0", "tx", (void *)DMACH_SPI0_TX },
	{ "s3c2443-spi.1", "rx", (void *)DMACH_SPI1_RX },
	{ "s3c2443-spi.1", "tx", (void *)DMACH_SPI1_TX },
	{ "s3c2440-uart.0", "rx", (void *)DMACH_UART0 },
	{ "s3c2440-uart.0", "tx", (void *)DMACH_UART0 },
	{ "s3c2440-uart.1", "rx", (void *)DMACH_UART1 },
	{ "s3c2440-uart.1", "tx", (void *)DMACH_UART1 },
	{ "s3c2440-uart.2", "rx", (void *)DMACH_UART2 },
	{ "s3c2440-uart.2", "tx", (void *)DMACH_UART2 },
	{ "s3c2440-uart.3", "rx", (void *)DMACH_UART3 },
	{ "s3c2440-uart.3", "tx", (void *)DMACH_UART3 },
	{ "s3c24xx-iis", "rx", (void *)DMACH_I2S_IN },
	{ "s3c24xx-iis", "tx", (void *)DMACH_I2S_OUT },
};

static struct s3c24xx_dma_platdata s3c2443_dma_platdata = {
	.num_phy_channels = 6,
	.channels = s3c2443_dma_channels,
	.num_channels = DMACH_MAX,
	.slave_map = s3c2443_dma_slave_map,
	.slavecnt = ARRAY_SIZE(s3c2443_dma_slave_map),
};

struct platform_device s3c2443_device_dma = {