public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 2/2] mfd: Add timb-dma to all configurations of timberdale
@ 2010-03-25 18:44 Richard Röjfors
  2010-03-26 10:15 ` Samuel Ortiz
  0 siblings, 1 reply; 2+ messages in thread
From: Richard Röjfors @ 2010-03-25 18:44 UTC (permalink / raw)
  To: Linux Kernel Mailing List; +Cc: Samuel Ortiz, Williams, Dan J

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: Richard Röjfors <richard.rojfors@pelagicore.com>
---
diff --git a/drivers/mfd/timberdale.c b/drivers/mfd/timberdale.c
index 1d52349..a7f3048 100644
--- a/drivers/mfd/timberdale.c
+++ b/drivers/mfd/timberdale.c
@@ -40,6 +40,8 @@
 
 #include <media/timb_radio.h>
 
+#include <linux/timb_dma.h>
+
 #include "timberdale.h"
 
 #define DRIVER_NAME "timberdale"
@@ -269,6 +271,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[] = {
 	{
 		.start	= DMAOFFSET,
@@ -284,6 +345,13 @@ const static __devinitconst struct resource timberdale_dma_resources[] = {
 
 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",
 		.num_resources = ARRAY_SIZE(timberdale_uart_resources),
 		.resources = timberdale_uart_resources,
@@ -321,14 +389,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = {
 		.num_resources = ARRAY_SIZE(timberdale_eth_resources),
 		.resources = timberdale_eth_resources,
 	},
+};
+
+static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
 	{
 		.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),
 	},
-};
-
-static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
 	{
 		.name = "timb-uart",
 		.num_resources = ARRAY_SIZE(timberdale_uart_resources),
@@ -377,14 +447,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
 		.num_resources = ARRAY_SIZE(timberdale_eth_resources),
 		.resources = timberdale_eth_resources,
 	},
+};
+
+static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
 	{
 		.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),
 	},
-};
-
-static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
 	{
 		.name = "timb-uart",
 		.num_resources = ARRAY_SIZE(timberdale_uart_resources),
@@ -418,14 +490,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
 		.platform_data = &timberdale_xspi_platform_data,
 		.data_size = sizeof(timberdale_xspi_platform_data),
 	},
+};
+
+static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
 	{
 		.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),
 	},
-};
-
-static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
 	{
 		.name = "timb-uart",
 		.num_resources = ARRAY_SIZE(timberdale_uart_resources),
@@ -464,11 +538,6 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
 		.num_resources = ARRAY_SIZE(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[] = {
diff --git a/drivers/mfd/timberdale.h b/drivers/mfd/timberdale.h
index 8d27ffa..3683a47 100644
--- a/drivers/mfd/timberdale.h
+++ b/drivers/mfd/timberdale.h
@@ -23,7 +23,7 @@
 #ifndef 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  */
 #define TIMB_SUPPORTED_MAJOR	3
@@ -127,4 +127,16 @@
 #define GPIO_PIN_BT_RST		15
 #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


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH 2/2] mfd: Add timb-dma to all configurations of timberdale
  2010-03-25 18:44 [PATCH 2/2] mfd: Add timb-dma to all configurations of timberdale Richard Röjfors
@ 2010-03-26 10:15 ` Samuel Ortiz
  0 siblings, 0 replies; 2+ messages in thread
From: Samuel Ortiz @ 2010-03-26 10:15 UTC (permalink / raw)
  To: Richard Röjfors; +Cc: Linux Kernel Mailing List, Williams, Dan J

Hi Richard,

On Thu, Mar 25, 2010 at 07:44:23PM +0100, Richard Röjfors wrote:
> Add platform data for timb-dma, and add it in to timb-dma
> in all configurations of timberdale.
> 
> Also incremented the version number.
Many thanks, patch applied to my for-next branch.

Cheers,
Samuel.


> Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
> ---
> diff --git a/drivers/mfd/timberdale.c b/drivers/mfd/timberdale.c
> index 1d52349..a7f3048 100644
> --- a/drivers/mfd/timberdale.c
> +++ b/drivers/mfd/timberdale.c
> @@ -40,6 +40,8 @@
>  
>  #include <media/timb_radio.h>
>  
> +#include <linux/timb_dma.h>
> +
>  #include "timberdale.h"
>  
>  #define DRIVER_NAME "timberdale"
> @@ -269,6 +271,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[] = {
>  	{
>  		.start	= DMAOFFSET,
> @@ -284,6 +345,13 @@ const static __devinitconst struct resource timberdale_dma_resources[] = {
>  
>  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",
>  		.num_resources = ARRAY_SIZE(timberdale_uart_resources),
>  		.resources = timberdale_uart_resources,
> @@ -321,14 +389,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg0[] = {
>  		.num_resources = ARRAY_SIZE(timberdale_eth_resources),
>  		.resources = timberdale_eth_resources,
>  	},
> +};
> +
> +static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
>  	{
>  		.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),
>  	},
> -};
> -
> -static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
>  	{
>  		.name = "timb-uart",
>  		.num_resources = ARRAY_SIZE(timberdale_uart_resources),
> @@ -377,14 +447,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg1[] = {
>  		.num_resources = ARRAY_SIZE(timberdale_eth_resources),
>  		.resources = timberdale_eth_resources,
>  	},
> +};
> +
> +static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
>  	{
>  		.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),
>  	},
> -};
> -
> -static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
>  	{
>  		.name = "timb-uart",
>  		.num_resources = ARRAY_SIZE(timberdale_uart_resources),
> @@ -418,14 +490,16 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg2[] = {
>  		.platform_data = &timberdale_xspi_platform_data,
>  		.data_size = sizeof(timberdale_xspi_platform_data),
>  	},
> +};
> +
> +static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
>  	{
>  		.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),
>  	},
> -};
> -
> -static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
>  	{
>  		.name = "timb-uart",
>  		.num_resources = ARRAY_SIZE(timberdale_uart_resources),
> @@ -464,11 +538,6 @@ static __devinitdata struct mfd_cell timberdale_cells_bar0_cfg3[] = {
>  		.num_resources = ARRAY_SIZE(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[] = {
> diff --git a/drivers/mfd/timberdale.h b/drivers/mfd/timberdale.h
> index 8d27ffa..3683a47 100644
> --- a/drivers/mfd/timberdale.h
> +++ b/drivers/mfd/timberdale.h
> @@ -23,7 +23,7 @@
>  #ifndef 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  */
>  #define TIMB_SUPPORTED_MAJOR	3
> @@ -127,4 +127,16 @@
>  #define GPIO_PIN_BT_RST		15
>  #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
> 

-- 
Intel Open Source Technology Centre
http://oss.intel.com/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-03-26 10:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-25 18:44 [PATCH 2/2] mfd: Add timb-dma to all configurations of timberdale Richard Röjfors
2010-03-26 10:15 ` Samuel Ortiz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox