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

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

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
Loading
Loading
Loading
Loading
+83 −14
Original line number Diff line number Diff line
@@ -41,6 +41,8 @@

#include <media/timb_radio.h>

#include <linux/timb_dma.h>

#include "timberdale.h"

#define DRIVER_NAME "timberdale"
@@ -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[] = {
	{
		.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),
@@ -322,14 +390,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),
@@ -378,14 +448,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),
@@ -419,14 +491,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),
@@ -465,11 +539,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[] = {
+13 −1
Original line number Diff line number Diff line
@@ -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