aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx5
diff options
context:
space:
mode:
authorYong Shen <yong.shen@freescale.com>2011-01-10 07:08:53 -0500
committerSascha Hauer <s.hauer@pengutronix.de>2011-01-11 04:07:14 -0500
commitb0a6ba5ffbb52b5e8fccd1a013e770e1b0af03ba (patch)
tree6b2686389647254f255c5f9750e744a34b070b8f /arch/arm/mach-mx5
parent074cee9257b96a84c955ee2a2816d426c9f64e52 (diff)
ARM i.MX53 enable spi on EVK board
1. some macro definitions fix 2. add platform data for spi device 3. register spi clocks Signed-off-by: Yong Shen <yong.shen@freescale.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx5')
-rw-r--r--arch/arm/mach-mx5/Kconfig1
-rw-r--r--arch/arm/mach-mx5/board-mx53_evk.c14
-rw-r--r--arch/arm/mach-mx5/clock-mx51-mx53.c3
-rw-r--r--arch/arm/mach-mx5/devices-imx53.h4
4 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
index 23b0e3f5cad7..777740b9ffdd 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -126,6 +126,7 @@ config MACH_MX53_EVK
126 select IMX_HAVE_PLATFORM_IMX_UART 126 select IMX_HAVE_PLATFORM_IMX_UART
127 select IMX_HAVE_PLATFORM_IMX_I2C 127 select IMX_HAVE_PLATFORM_IMX_I2C
128 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX 128 select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
129 select IMX_HAVE_PLATFORM_SPI_IMX
129 help 130 help
130 Include support for MX53 EVK platform. This includes specific 131 Include support for MX53 EVK platform. This includes specific
131 configurations for the board and its peripherals. 132 configurations for the board and its peripherals.
diff --git a/arch/arm/mach-mx5/board-mx53_evk.c b/arch/arm/mach-mx5/board-mx53_evk.c
index 4043451798db..8017d680f112 100644
--- a/arch/arm/mach-mx5/board-mx53_evk.c
+++ b/arch/arm/mach-mx5/board-mx53_evk.c
@@ -33,6 +33,8 @@
33#include <mach/iomux-mx53.h> 33#include <mach/iomux-mx53.h>
34 34
35#define SMD_FEC_PHY_RST IMX_GPIO_NR(7, 6) 35#define SMD_FEC_PHY_RST IMX_GPIO_NR(7, 6)
36#define EVK_ECSPI1_CS0 IMX_GPIO_NR(3, 19)
37#define EVK_ECSPI1_CS1 IMX_GPIO_NR(2, 30)
36 38
37#include "crm_regs.h" 39#include "crm_regs.h"
38#include "devices-imx53.h" 40#include "devices-imx53.h"
@@ -89,6 +91,16 @@ static struct fec_platform_data mx53_evk_fec_pdata = {
89 .phy = PHY_INTERFACE_MODE_RMII, 91 .phy = PHY_INTERFACE_MODE_RMII,
90}; 92};
91 93
94static int mx53_evk_spi_cs[] = {
95 EVK_ECSPI1_CS0,
96 EVK_ECSPI1_CS1,
97};
98
99static const struct spi_imx_master mx53_evk_spi_data __initconst = {
100 .chipselect = mx53_evk_spi_cs,
101 .num_chipselect = ARRAY_SIZE(mx53_evk_spi_cs),
102};
103
92static void __init mx53_evk_board_init(void) 104static void __init mx53_evk_board_init(void)
93{ 105{
94 mxc_iomux_v3_setup_multiple_pads(mx53_evk_pads, 106 mxc_iomux_v3_setup_multiple_pads(mx53_evk_pads,
@@ -102,6 +114,8 @@ static void __init mx53_evk_board_init(void)
102 114
103 imx53_add_sdhci_esdhc_imx(0, NULL); 115 imx53_add_sdhci_esdhc_imx(0, NULL);
104 imx53_add_sdhci_esdhc_imx(1, NULL); 116 imx53_add_sdhci_esdhc_imx(1, NULL);
117
118 imx53_add_ecspi(0, &mx53_evk_spi_data);
105} 119}
106 120
107static void __init mx53_evk_timer_init(void) 121static void __init mx53_evk_timer_init(void)
diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c
index 15fa89ed5d0c..64fe24900a4d 100644
--- a/arch/arm/mach-mx5/clock-mx51-mx53.c
+++ b/arch/arm/mach-mx5/clock-mx51-mx53.c
@@ -1330,6 +1330,9 @@ static struct clk_lookup mx53_lookups[] = {
1330 _REGISTER_CLOCK("imx-i2c.1", NULL, i2c2_clk) 1330 _REGISTER_CLOCK("imx-i2c.1", NULL, i2c2_clk)
1331 _REGISTER_CLOCK("sdhci-esdhc-imx.0", NULL, esdhc1_clk) 1331 _REGISTER_CLOCK("sdhci-esdhc-imx.0", NULL, esdhc1_clk)
1332 _REGISTER_CLOCK("sdhci-esdhc-imx.1", NULL, esdhc2_clk) 1332 _REGISTER_CLOCK("sdhci-esdhc-imx.1", NULL, esdhc2_clk)
1333 _REGISTER_CLOCK("imx53-ecspi.0", NULL, ecspi1_clk)
1334 _REGISTER_CLOCK("imx53-ecspi.1", NULL, ecspi2_clk)
1335 _REGISTER_CLOCK("imx53-cspi.0", NULL, cspi_clk)
1333}; 1336};
1334 1337
1335static void clk_tree_init(void) 1338static void clk_tree_init(void)
diff --git a/arch/arm/mach-mx5/devices-imx53.h b/arch/arm/mach-mx5/devices-imx53.h
index f7c89ef2f667..8639735a117b 100644
--- a/arch/arm/mach-mx5/devices-imx53.h
+++ b/arch/arm/mach-mx5/devices-imx53.h
@@ -25,3 +25,7 @@ extern const struct imx_sdhci_esdhc_imx_data
25imx53_sdhci_esdhc_imx_data[] __initconst; 25imx53_sdhci_esdhc_imx_data[] __initconst;
26#define imx53_add_sdhci_esdhc_imx(id, pdata) \ 26#define imx53_add_sdhci_esdhc_imx(id, pdata) \
27 imx_add_sdhci_esdhc_imx(&imx53_sdhci_esdhc_imx_data[id], pdata) 27 imx_add_sdhci_esdhc_imx(&imx53_sdhci_esdhc_imx_data[id], pdata)
28
29extern const struct imx_spi_imx_data imx53_ecspi_data[] __initconst;
30#define imx53_add_ecspi(id, pdata) \
31 imx_add_spi_imx(&imx53_ecspi_data[id], pdata)