Commit 24981753 authored by Cyril Chemparathy's avatar Cyril Chemparathy Committed by Kevin Hilman

davinci: add tnetv107x ssp platform device

This patch adds an SSP platform device definition for the tnetv107x soc family.
The clock lookup entry has also been updated to match.
Signed-off-by: default avatarCyril Chemparathy <cyril@ti.com>
Signed-off-by: default avatarSekhar Nori <nsekhar@ti.com>
Signed-off-by: default avatarKevin Hilman <khilman@ti.com>
parent a72aeefe
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#define TNETV107X_SDIO0_BASE 0x08088700 #define TNETV107X_SDIO0_BASE 0x08088700
#define TNETV107X_SDIO1_BASE 0x08088800 #define TNETV107X_SDIO1_BASE 0x08088800
#define TNETV107X_KEYPAD_BASE 0x08088a00 #define TNETV107X_KEYPAD_BASE 0x08088a00
#define TNETV107X_SSP_BASE 0x08088c00
#define TNETV107X_ASYNC_EMIF_CNTRL_BASE 0x08200000 #define TNETV107X_ASYNC_EMIF_CNTRL_BASE 0x08200000
#define TNETV107X_ASYNC_EMIF_DATA_CE0_BASE 0x30000000 #define TNETV107X_ASYNC_EMIF_DATA_CE0_BASE 0x30000000
#define TNETV107X_ASYNC_EMIF_DATA_CE1_BASE 0x40000000 #define TNETV107X_ASYNC_EMIF_DATA_CE1_BASE 0x40000000
...@@ -342,6 +343,25 @@ static struct platform_device tsc_device = { ...@@ -342,6 +343,25 @@ static struct platform_device tsc_device = {
.resource = tsc_resources, .resource = tsc_resources,
}; };
static struct resource ssp_resources[] = {
{
.start = TNETV107X_SSP_BASE,
.end = TNETV107X_SSP_BASE + 0x1ff,
.flags = IORESOURCE_MEM,
},
{
.start = IRQ_TNETV107X_SSP,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device ssp_device = {
.name = "ti-ssp",
.id = -1,
.num_resources = ARRAY_SIZE(ssp_resources),
.resource = ssp_resources,
};
void __init tnetv107x_devices_init(struct tnetv107x_device_info *info) void __init tnetv107x_devices_init(struct tnetv107x_device_info *info)
{ {
int i, error; int i, error;
...@@ -380,4 +400,9 @@ void __init tnetv107x_devices_init(struct tnetv107x_device_info *info) ...@@ -380,4 +400,9 @@ void __init tnetv107x_devices_init(struct tnetv107x_device_info *info)
keypad_device.dev.platform_data = info->keypad_config; keypad_device.dev.platform_data = info->keypad_config;
platform_device_register(&keypad_device); platform_device_register(&keypad_device);
} }
if (info->ssp_config) {
ssp_device.dev.platform_data = info->ssp_config;
platform_device_register(&ssp_device);
}
} }
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include <linux/serial_8250.h> #include <linux/serial_8250.h>
#include <linux/input/matrix_keypad.h> #include <linux/input/matrix_keypad.h>
#include <linux/mfd/ti_ssp.h>
#include <mach/mmc.h> #include <mach/mmc.h>
#include <mach/nand.h> #include <mach/nand.h>
...@@ -44,6 +45,7 @@ struct tnetv107x_device_info { ...@@ -44,6 +45,7 @@ struct tnetv107x_device_info {
struct davinci_mmc_config *mmc_config[2]; /* 2 controllers */ struct davinci_mmc_config *mmc_config[2]; /* 2 controllers */
struct davinci_nand_pdata *nand_config[4]; /* 4 chipsels */ struct davinci_nand_pdata *nand_config[4]; /* 4 chipsels */
struct matrix_keypad_platform_data *keypad_config; struct matrix_keypad_platform_data *keypad_config;
struct ti_ssp_data *ssp_config;
}; };
extern struct platform_device tnetv107x_wdt_device; extern struct platform_device tnetv107x_wdt_device;
......
...@@ -278,7 +278,7 @@ static struct clk_lookup clks[] = { ...@@ -278,7 +278,7 @@ static struct clk_lookup clks[] = {
CLK(NULL, "timer1", &clk_timer1), CLK(NULL, "timer1", &clk_timer1),
CLK("tnetv107x_wdt.0", NULL, &clk_wdt_arm), CLK("tnetv107x_wdt.0", NULL, &clk_wdt_arm),
CLK(NULL, "clk_wdt_dsp", &clk_wdt_dsp), CLK(NULL, "clk_wdt_dsp", &clk_wdt_dsp),
CLK("ti-ssp.0", NULL, &clk_ssp), CLK("ti-ssp", NULL, &clk_ssp),
CLK(NULL, "clk_tdm0", &clk_tdm0), CLK(NULL, "clk_tdm0", &clk_tdm0),
CLK(NULL, "clk_vlynq", &clk_vlynq), CLK(NULL, "clk_vlynq", &clk_vlynq),
CLK(NULL, "clk_mcdma", &clk_mcdma), CLK(NULL, "clk_mcdma", &clk_mcdma),
......
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