Commit dc64f30f authored by Richard Röjfors's avatar Richard Röjfors Committed by Samuel Ortiz

mfd: Add timb-dma to all configurations of timberdale

Add platform data for timb-dma, and add it in to timb-dma
in all configurations of timberdale.

Also incremented the version number.
Signed-off-by: default avatarRichard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 872c1b14
...@@ -41,6 +41,8 @@ ...@@ -41,6 +41,8 @@
#include <media/timb_radio.h> #include <media/timb_radio.h>
#include <linux/timb_dma.h>
#include "timberdale.h" #include "timberdale.h"
#define DRIVER_NAME "timberdale" #define DRIVER_NAME "timberdale"
...@@ -270,6 +272,65 @@ static __devinitdata struct timb_radio_platform_data ...@@ -270,6 +272,65 @@ static __devinitdata struct timb_radio_platform_data
} }
}; };
static __devinitdata struct timb_dma_platform_data timb_dma_platform_data = {
.nr_channels = 10,
.channels = {
{
/* UART RX */
.rx = true,
.descriptors = 2,
.descriptor_elements = 1
},
{
/* UART TX */
.rx = false,
.descriptors = 2,
.descriptor_elements = 1
},
{
/* MLB RX */
.rx = true,
.descriptors = 2,
.descriptor_elements = 1
},
{
/* MLB TX */
.rx = false,
.descriptors = 2,
.descriptor_elements = 1
},
{
/* Video RX */
.rx = true,
.bytes_per_line = 1440,
.descriptors = 2,
.descriptor_elements = 16
},
{
/* Video framedrop */
},
{
/* SDHCI RX */
.rx = true,
},
{
/* SDHCI TX */
},
{
/* ETH RX */
.rx = true,
.descriptors = 2,
.descriptor_elements = 1
},
{
/* ETH TX */
.rx = false,
.descriptors = 2,
.descriptor_elements = 1
},
}
};
const static __devinitconst struct resource timberdale_dma_resources[] = { const static __devinitconst struct resource timberdale_dma_resources[] = {
{ {
.start = DMAOFFSET, .start = DMAOFFSET,
...@@ -284,6 +345,13 @@ const static __devinitconst struct resource timberdale_dma_resources[] = { ...@@ -284,6 +345,13 @@ const static __devinitconst struct resource timberdale_dma_resources[] = {
}; };
static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = { static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = {
{
.name = "timb-dma",
.num_resources = ARRAY_SIZE(timberdale_dma_resources),
.resources = timberdale_dma_resources,
.platform_data = &timb_dma_platform_data,
.data_size = sizeof(timb_dma_platform_data),
},
{ {
.name = "timb-uart", .name = "timb-uart",
.num_resources = ARRAY_SIZE(timberdale_uart_resources), .num_resources = ARRAY_SIZE(timberdale_uart_resources),
...@@ -322,14 +390,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = { ...@@ -322,14 +390,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = {
.num_resources = ARRAY_SIZE(timberdale_eth_resources), .num_resources = ARRAY_SIZE(timberdale_eth_resources),
.resources = timberdale_eth_resources, .resources = timberdale_eth_resources,
}, },
};
static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
{ {
.name = "timb-dma", .name = "timb-dma",
.num_resources = ARRAY_SIZE(timberdale_dma_resources), .num_resources = ARRAY_SIZE(timberdale_dma_resources),
.resources = timberdale_dma_resources, .resources = timberdale_dma_resources,
.platform_data = &timb_dma_platform_data,
.data_size = sizeof(timb_dma_platform_data),
}, },
};
static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
{ {
.name = "timb-uart", .name = "timb-uart",
.num_resources = ARRAY_SIZE(timberdale_uart_resources), .num_resources = ARRAY_SIZE(timberdale_uart_resources),
...@@ -378,14 +448,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = { ...@@ -378,14 +448,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
.num_resources = ARRAY_SIZE(timberdale_eth_resources), .num_resources = ARRAY_SIZE(timberdale_eth_resources),
.resources = timberdale_eth_resources, .resources = timberdale_eth_resources,
}, },
};
static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
{ {
.name = "timb-dma", .name = "timb-dma",
.num_resources = ARRAY_SIZE(timberdale_dma_resources), .num_resources = ARRAY_SIZE(timberdale_dma_resources),
.resources = timberdale_dma_resources, .resources = timberdale_dma_resources,
.platform_data = &timb_dma_platform_data,
.data_size = sizeof(timb_dma_platform_data),
}, },
};
static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
{ {
.name = "timb-uart", .name = "timb-uart",
.num_resources = ARRAY_SIZE(timberdale_uart_resources), .num_resources = ARRAY_SIZE(timberdale_uart_resources),
...@@ -419,14 +491,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = { ...@@ -419,14 +491,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
.platform_data = &timberdale_xspi_platform_data, .platform_data = &timberdale_xspi_platform_data,
.data_size = sizeof(timberdale_xspi_platform_data), .data_size = sizeof(timberdale_xspi_platform_data),
}, },
};
static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
{ {
.name = "timb-dma", .name = "timb-dma",
.num_resources = ARRAY_SIZE(timberdale_dma_resources), .num_resources = ARRAY_SIZE(timberdale_dma_resources),
.resources = timberdale_dma_resources, .resources = timberdale_dma_resources,
.platform_data = &timb_dma_platform_data,
.data_size = sizeof(timb_dma_platform_data),
}, },
};
static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
{ {
.name = "timb-uart", .name = "timb-uart",
.num_resources = ARRAY_SIZE(timberdale_uart_resources), .num_resources = ARRAY_SIZE(timberdale_uart_resources),
...@@ -465,11 +539,6 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = { ...@@ -465,11 +539,6 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
.num_resources = ARRAY_SIZE(timberdale_eth_resources), .num_resources = ARRAY_SIZE(timberdale_eth_resources),
.resources = timberdale_eth_resources, .resources = timberdale_eth_resources,
}, },
{
.name = "timb-dma",
.num_resources = ARRAY_SIZE(timberdale_dma_resources),
.resources = timberdale_dma_resources,
},
}; };
static const __devinitconst struct resource timberdale_sdhc_resources[] = { static const __devinitconst struct resource timberdale_sdhc_resources[] = {
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#ifndef MFD_TIMBERDALE_H #ifndef MFD_TIMBERDALE_H
#define MFD_TIMBERDALE_H #define MFD_TIMBERDALE_H
#define DRV_VERSION "0.1" #define DRV_VERSION "0.2"
/* This driver only support versions >= 3.8 and < 4.0 */ /* This driver only support versions >= 3.8 and < 4.0 */
#define TIMB_SUPPORTED_MAJOR 3 #define TIMB_SUPPORTED_MAJOR 3
...@@ -127,4 +127,16 @@ ...@@ -127,4 +127,16 @@
#define GPIO_PIN_BT_RST 15 #define GPIO_PIN_BT_RST 15
#define GPIO_NR_PINS 16 #define GPIO_NR_PINS 16
/* DMA Channels */
#define DMA_UART_RX 0
#define DMA_UART_TX 1
#define DMA_MLB_RX 2
#define DMA_MLB_TX 3
#define DMA_VIDEO_RX 4
#define DMA_VIDEO_DROP 5
#define DMA_SDHCI_RX 6
#define DMA_SDHCI_TX 7
#define DMA_ETH_RX 8
#define DMA_ETH_TX 9
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment