* [PATCH v3 0/4] ARM: i.MX53: spi related patches
@ 2011-01-12 8:35 yong.shen at freescale.com
2011-01-12 8:35 ` [PATCH v3 1/4] ARM: i.MX53: enable spi support yong.shen at freescale.com
` (3 more replies)
0 siblings, 4 replies; 12+ messages in thread
From: yong.shen at freescale.com @ 2011-01-12 8:35 UTC (permalink / raw)
To: linux-arm-kernel
change log:
iomux setting name changes according to Uwe's comments.
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/4] ARM: i.MX53: enable spi support
2011-01-12 8:35 [PATCH v3 0/4] ARM: i.MX53: spi related patches yong.shen at freescale.com
@ 2011-01-12 8:35 ` yong.shen at freescale.com
2011-01-12 9:37 ` Uwe Kleine-König
2011-01-12 8:35 ` [PATCH v3 2/4] ARM: i.MX53 EVK: add spi device yong.shen at freescale.com
` (2 subsequent siblings)
3 siblings, 1 reply; 12+ messages in thread
From: yong.shen at freescale.com @ 2011-01-12 8:35 UTC (permalink / raw)
To: linux-arm-kernel
From: Yong Shen <yong.shen@freescale.com>
1. register spi clock
2. add macro definitions for spi platform data
3. fix some bugs of register and iomux definition
Signed-off-by: Yong Shen <yong.shen@freescale.com>
---
arch/arm/mach-mx5/clock-mx51-mx53.c | 3 +++
arch/arm/mach-mx5/devices-imx53.h | 4 ++++
arch/arm/plat-mxc/devices/platform-spi_imx.c | 12 ++++++++++++
arch/arm/plat-mxc/include/mach/iomux-mx53.h | 6 +++---
arch/arm/plat-mxc/include/mach/mx53.h | 10 +++++-----
5 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c
index d0f58a3..a20d0c0 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[] = {
_REGISTER_CLOCK("imx-i2c.1", NULL, i2c2_clk)
_REGISTER_CLOCK("sdhci-esdhc-imx.0", NULL, esdhc1_clk)
_REGISTER_CLOCK("sdhci-esdhc-imx.1", NULL, esdhc2_clk)
+ _REGISTER_CLOCK("imx53-ecspi.0", NULL, ecspi1_clk)
+ _REGISTER_CLOCK("imx53-ecspi.1", NULL, ecspi2_clk)
+ _REGISTER_CLOCK("imx53-cspi.0", NULL, cspi_clk)
};
static void clk_tree_init(void)
diff --git a/arch/arm/mach-mx5/devices-imx53.h b/arch/arm/mach-mx5/devices-imx53.h
index f7c89ef..8639735 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
imx53_sdhci_esdhc_imx_data[] __initconst;
#define imx53_add_sdhci_esdhc_imx(id, pdata) \
imx_add_sdhci_esdhc_imx(&imx53_sdhci_esdhc_imx_data[id], pdata)
+
+extern const struct imx_spi_imx_data imx53_ecspi_data[] __initconst;
+#define imx53_add_ecspi(id, pdata) \
+ imx_add_spi_imx(&imx53_ecspi_data[id], pdata)
diff --git a/arch/arm/plat-mxc/devices/platform-spi_imx.c b/arch/arm/plat-mxc/devices/platform-spi_imx.c
index 8ea49ad..013c85f 100644
--- a/arch/arm/plat-mxc/devices/platform-spi_imx.c
+++ b/arch/arm/plat-mxc/devices/platform-spi_imx.c
@@ -81,6 +81,18 @@ const struct imx_spi_imx_data imx51_ecspi_data[] __initconst = {
};
#endif /* ifdef CONFIG_SOC_IMX51 */
+#ifdef CONFIG_SOC_IMX53
+const struct imx_spi_imx_data imx53_cspi_data __initconst =
+ imx_spi_imx_data_entry_single(MX53, CSPI, "imx53-cspi", 0, , SZ_4K);
+
+const struct imx_spi_imx_data imx53_ecspi_data[] __initconst = {
+#define imx53_ecspi_data_entry(_id, _hwid) \
+ imx_spi_imx_data_entry(MX53, ECSPI, "imx53-ecspi", _id, _hwid, SZ_4K)
+ imx53_ecspi_data_entry(0, 1),
+ imx53_ecspi_data_entry(1, 2),
+};
+#endif /* ifdef CONFIG_SOC_IMX53 */
+
struct platform_device *__init imx_add_spi_imx(
const struct imx_spi_imx_data *data,
const struct spi_imx_master *pdata)
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx53.h b/arch/arm/plat-mxc/include/mach/iomux-mx53.h
index 2673007..0b3df33 100644
--- a/arch/arm/plat-mxc/include/mach/iomux-mx53.h
+++ b/arch/arm/plat-mxc/include/mach/iomux-mx53.h
@@ -131,9 +131,9 @@ typedef enum iomux_config {
#define MX53_PAD_JTAG_TDO__JTAG_TDO IOMUX_PAD(0x454, NON_MUX_I, IOMUX_CONFIG_ALT0, 0x0, 0, NO_PAD_CTRL)
#define MX53_PAD_EIM_A25__GPIO_5_2 IOMUX_PAD(0x458, 0x110,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
#define MX53_PAD_EIM_EB2__GPIO_2_30 IOMUX_PAD(0x45C, 0x114,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
-#define MX53_PAD_EIM_D16__GPIO_3_16 IOMUX_PAD(0x460, 0x118,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
-#define MX53_PAD_EIM_D17__GPIO_3_17 IOMUX_PAD(0x464, 0x11C,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
-#define MX53_PAD_EIM_D18__GPIO_3_18 IOMUX_PAD(0x468, 0x120,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
+#define MX53_PAD_EIM_D16__CSPI1_SCLK IOMUX_PAD(0x460, 0x118,IOMUX_CONFIG_ALT4, 0x79c, 3, NO_PAD_CTRL)
+#define MX53_PAD_EIM_D17__CSPI1_MISO IOMUX_PAD(0x464, 0x11C,IOMUX_CONFIG_ALT4, 0x7a0, 3, NO_PAD_CTRL)
+#define MX53_PAD_EIM_D18__CSPI1_MOSI IOMUX_PAD(0x468, 0x120,IOMUX_CONFIG_ALT4, 0x7a4, 3, NO_PAD_CTRL)
#define MX53_PAD_EIM_D19__GPIO_3_19 IOMUX_PAD(0x46C, 0x124,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
#define MX53_PAD_EIM_D20__GPIO_3_20 IOMUX_PAD(0x470, 0x128,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
#define MX53_PAD_EIM_D21__GPIO_3_21 IOMUX_PAD(0x474, 0x12C,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
diff --git a/arch/arm/plat-mxc/include/mach/mx53.h b/arch/arm/plat-mxc/include/mach/mx53.h
index 340937f..d7a8e52 100644
--- a/arch/arm/plat-mxc/include/mach/mx53.h
+++ b/arch/arm/plat-mxc/include/mach/mx53.h
@@ -56,7 +56,7 @@
#define MX53_ESDHC1_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00004000)
#define MX53_ESDHC2_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00008000)
#define MX53_UART3_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x0000C000)
-#define MX53_CSPI1_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00010000)
+#define MX53_ECSPI1_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00010000)
#define MX53_SSI2_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00014000)
#define MX53_ESDHC3_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00020000)
#define MX53_ESDHC4_BASE_ADDR (MX53_SPBA0_BASE_ADDR + 0x00024000)
@@ -117,12 +117,12 @@
#define MX53_ARM_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000A0000)
#define MX53_OWIRE_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000A4000)
#define MX53_FIRI_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000A8000)
-#define MX53_CSPI2_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000AC000)
+#define MX53_ECSPI2_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000AC000)
#define MX53_SDMA_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000B0000)
#define MX53_SCC_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000B4000)
#define MX53_ROMCP_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000B8000)
#define MX53_RTIC_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000BC000)
-#define MX53_CSPI3_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000C0000)
+#define MX53_CSPI_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000C0000)
#define MX53_I2C2_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000C4000)
#define MX53_I2C1_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000C8000)
#define MX53_SSI1_BASE_ADDR (MX53_AIPS2_BASE_ADDR + 0x000CC000)
@@ -264,8 +264,8 @@
#define MX53_INT_UART3 33
#define MX53_INT_RESV34 34
#define MX53_INT_RESV35 35
-#define MX53_INT_CSPI1 36
-#define MX53_INT_CSPI2 37
+#define MX53_INT_ECSPI1 36
+#define MX53_INT_ECSPI2 37
#define MX53_INT_CSPI 38
#define MX53_INT_GPT 39
#define MX53_INT_EPIT1 40
--
1.7.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 2/4] ARM: i.MX53 EVK: add spi device
2011-01-12 8:35 [PATCH v3 0/4] ARM: i.MX53: spi related patches yong.shen at freescale.com
2011-01-12 8:35 ` [PATCH v3 1/4] ARM: i.MX53: enable spi support yong.shen at freescale.com
@ 2011-01-12 8:35 ` yong.shen at freescale.com
2011-01-12 9:40 ` Uwe Kleine-König
2011-01-12 8:35 ` [PATCH v3 3/4] ARM: i.MX53 EVK: add spi nor device yong.shen at freescale.com
2011-01-12 8:35 ` [PATCH v3 4/4] ARM: i.MX5: uart clock bug fix yong.shen at freescale.com
3 siblings, 1 reply; 12+ messages in thread
From: yong.shen at freescale.com @ 2011-01-12 8:35 UTC (permalink / raw)
To: linux-arm-kernel
From: Yong Shen <yong.shen@freescale.com>
1. add platform data for spi device
2. Kconfig change
Signed-off-by: Yong Shen <yong.shen@freescale.com>
---
arch/arm/mach-mx5/Kconfig | 1 +
arch/arm/mach-mx5/board-mx53_evk.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
index 23b0e3f..777740b 100644
--- a/arch/arm/mach-mx5/Kconfig
+++ b/arch/arm/mach-mx5/Kconfig
@@ -126,6 +126,7 @@ config MACH_MX53_EVK
select IMX_HAVE_PLATFORM_IMX_UART
select IMX_HAVE_PLATFORM_IMX_I2C
select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
+ select IMX_HAVE_PLATFORM_SPI_IMX
help
Include support for MX53 EVK platform. This includes specific
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 4043451..157fe12 100644
--- a/arch/arm/mach-mx5/board-mx53_evk.c
+++ b/arch/arm/mach-mx5/board-mx53_evk.c
@@ -33,6 +33,8 @@
#include <mach/iomux-mx53.h>
#define SMD_FEC_PHY_RST IMX_GPIO_NR(7, 6)
+#define EVK_ECSPI1_CS0 IMX_GPIO_NR(2, 30)
+#define EVK_ECSPI1_CS1 IMX_GPIO_NR(3, 19)
#include "crm_regs.h"
#include "devices-imx53.h"
@@ -52,6 +54,13 @@ static iomux_v3_cfg_t mx53_evk_pads[] = {
MX53_PAD_ATA_CS_1__UART3_RXD,
MX53_PAD_ATA_DA_1__UART3_CTS,
MX53_PAD_ATA_DA_2__UART3_RTS,
+
+ MX53_PAD_EIM_D16__CSPI1_SCLK,
+ MX53_PAD_EIM_D17__CSPI1_MISO,
+ MX53_PAD_EIM_D18__CSPI1_MOSI,
+
+ MX53_PAD_EIM_EB2__GPIO_2_30,
+ MX53_PAD_EIM_D19__GPIO_3_19,
};
static const struct imxuart_platform_data mx53_evk_uart_pdata __initconst = {
@@ -89,6 +98,16 @@ static struct fec_platform_data mx53_evk_fec_pdata = {
.phy = PHY_INTERFACE_MODE_RMII,
};
+static int mx53_evk_spi_cs[] = {
+ EVK_ECSPI1_CS0,
+ EVK_ECSPI1_CS1,
+};
+
+static const struct spi_imx_master mx53_evk_spi_data __initconst = {
+ .chipselect = mx53_evk_spi_cs,
+ .num_chipselect = ARRAY_SIZE(mx53_evk_spi_cs),
+};
+
static void __init mx53_evk_board_init(void)
{
mxc_iomux_v3_setup_multiple_pads(mx53_evk_pads,
@@ -102,6 +121,8 @@ static void __init mx53_evk_board_init(void)
imx53_add_sdhci_esdhc_imx(0, NULL);
imx53_add_sdhci_esdhc_imx(1, NULL);
+
+ imx53_add_ecspi(0, &mx53_evk_spi_data);
}
static void __init mx53_evk_timer_init(void)
--
1.7.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 3/4] ARM: i.MX53 EVK: add spi nor device
2011-01-12 8:35 [PATCH v3 0/4] ARM: i.MX53: spi related patches yong.shen at freescale.com
2011-01-12 8:35 ` [PATCH v3 1/4] ARM: i.MX53: enable spi support yong.shen at freescale.com
2011-01-12 8:35 ` [PATCH v3 2/4] ARM: i.MX53 EVK: add spi device yong.shen at freescale.com
@ 2011-01-12 8:35 ` yong.shen at freescale.com
2011-01-12 8:35 ` [PATCH v3 4/4] ARM: i.MX5: uart clock bug fix yong.shen at freescale.com
3 siblings, 0 replies; 12+ messages in thread
From: yong.shen at freescale.com @ 2011-01-12 8:35 UTC (permalink / raw)
To: linux-arm-kernel
From: Yong Shen <yong.shen@freescale.com>
add spi board information for spi nor device
Signed-off-by: Yong Shen <yong.shen@freescale.com>
---
arch/arm/mach-mx5/board-mx53_evk.c | 15 +++++++++++++++
1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-mx5/board-mx53_evk.c b/arch/arm/mach-mx5/board-mx53_evk.c
index 157fe12..f85f206 100644
--- a/arch/arm/mach-mx5/board-mx53_evk.c
+++ b/arch/arm/mach-mx5/board-mx53_evk.c
@@ -24,6 +24,8 @@
#include <linux/fec.h>
#include <linux/delay.h>
#include <linux/gpio.h>
+#include <linux/spi/flash.h>
+#include <linux/spi/spi.h>
#include <mach/common.h>
#include <mach/hardware.h>
#include <asm/mach-types.h>
@@ -98,6 +100,17 @@ static struct fec_platform_data mx53_evk_fec_pdata = {
.phy = PHY_INTERFACE_MODE_RMII,
};
+static struct spi_board_info mx53_evk_spi_board_info[] __initdata = {
+ {
+ .modalias = "mtd_dataflash",
+ .max_speed_hz = 25000000,
+ .bus_num = 0,
+ .chip_select = 1,
+ .mode = SPI_MODE_0,
+ .platform_data = NULL,
+ },
+};
+
static int mx53_evk_spi_cs[] = {
EVK_ECSPI1_CS0,
EVK_ECSPI1_CS1,
@@ -122,6 +135,8 @@ static void __init mx53_evk_board_init(void)
imx53_add_sdhci_esdhc_imx(0, NULL);
imx53_add_sdhci_esdhc_imx(1, NULL);
+ spi_register_board_info(mx53_evk_spi_board_info,
+ ARRAY_SIZE(mx53_evk_spi_board_info));
imx53_add_ecspi(0, &mx53_evk_spi_data);
}
--
1.7.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 4/4] ARM: i.MX5: uart clock bug fix
2011-01-12 8:35 [PATCH v3 0/4] ARM: i.MX53: spi related patches yong.shen at freescale.com
` (2 preceding siblings ...)
2011-01-12 8:35 ` [PATCH v3 3/4] ARM: i.MX53 EVK: add spi nor device yong.shen at freescale.com
@ 2011-01-12 8:35 ` yong.shen at freescale.com
3 siblings, 0 replies; 12+ messages in thread
From: yong.shen at freescale.com @ 2011-01-12 8:35 UTC (permalink / raw)
To: linux-arm-kernel
From: Yong Shen <yong.shen@freescale.com>
uart clk is from pll3 on mx53 instead of mx51
Signed-off-by: Yong Shen <yong.shen@freescale.com>
---
arch/arm/mach-mx5/clock-mx51-mx53.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c
index a20d0c0..3fb7ff8 100644
--- a/arch/arm/mach-mx5/clock-mx51-mx53.c
+++ b/arch/arm/mach-mx5/clock-mx51-mx53.c
@@ -1370,7 +1370,6 @@ int __init mx51_clocks_init(unsigned long ckil, unsigned long osc,
clk_tree_init();
- clk_set_parent(&uart_root_clk, &pll3_sw_clk);
clk_enable(&cpu_clk);
clk_enable(&main_bus_clk);
@@ -1413,6 +1412,7 @@ int __init mx53_clocks_init(unsigned long ckil, unsigned long osc,
clk_tree_init();
+ clk_set_parent(&uart_root_clk, &pll3_sw_clk);
clk_enable(&cpu_clk);
clk_enable(&main_bus_clk);
--
1.7.1
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH v3 1/4] ARM: i.MX53: enable spi support
2011-01-12 8:35 ` [PATCH v3 1/4] ARM: i.MX53: enable spi support yong.shen at freescale.com
@ 2011-01-12 9:37 ` Uwe Kleine-König
2011-01-12 10:03 ` Yong Shen
0 siblings, 1 reply; 12+ messages in thread
From: Uwe Kleine-König @ 2011-01-12 9:37 UTC (permalink / raw)
To: linux-arm-kernel
Hello Yong,
On Wed, Jan 12, 2011 at 04:35:21PM +0800, yong.shen at freescale.com wrote:
> --- a/arch/arm/plat-mxc/include/mach/iomux-mx53.h
> +++ b/arch/arm/plat-mxc/include/mach/iomux-mx53.h
> @@ -131,9 +131,9 @@ typedef enum iomux_config {
> #define MX53_PAD_JTAG_TDO__JTAG_TDO IOMUX_PAD(0x454, NON_MUX_I, IOMUX_CONFIG_ALT0, 0x0, 0, NO_PAD_CTRL)
> #define MX53_PAD_EIM_A25__GPIO_5_2 IOMUX_PAD(0x458, 0x110,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> #define MX53_PAD_EIM_EB2__GPIO_2_30 IOMUX_PAD(0x45C, 0x114,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> -#define MX53_PAD_EIM_D16__GPIO_3_16 IOMUX_PAD(0x460, 0x118,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> -#define MX53_PAD_EIM_D17__GPIO_3_17 IOMUX_PAD(0x464, 0x11C,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> -#define MX53_PAD_EIM_D18__GPIO_3_18 IOMUX_PAD(0x468, 0x120,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> +#define MX53_PAD_EIM_D16__CSPI1_SCLK IOMUX_PAD(0x460, 0x118,IOMUX_CONFIG_ALT4, 0x79c, 3, NO_PAD_CTRL)
> +#define MX53_PAD_EIM_D17__CSPI1_MISO IOMUX_PAD(0x464, 0x11C,IOMUX_CONFIG_ALT4, 0x7a0, 3, NO_PAD_CTRL)
> +#define MX53_PAD_EIM_D18__CSPI1_MOSI IOMUX_PAD(0x468, 0x120,IOMUX_CONFIG_ALT4, 0x7a4, 3, NO_PAD_CTRL)
> #define MX53_PAD_EIM_D19__GPIO_3_19 IOMUX_PAD(0x46C, 0x124,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> #define MX53_PAD_EIM_D20__GPIO_3_20 IOMUX_PAD(0x470, 0x128,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> #define MX53_PAD_EIM_D21__GPIO_3_21 IOMUX_PAD(0x474, 0x12C,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
Why do you remove the GPIO definitions?
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/4] ARM: i.MX53 EVK: add spi device
2011-01-12 8:35 ` [PATCH v3 2/4] ARM: i.MX53 EVK: add spi device yong.shen at freescale.com
@ 2011-01-12 9:40 ` Uwe Kleine-König
2011-01-12 10:10 ` Yong Shen
0 siblings, 1 reply; 12+ messages in thread
From: Uwe Kleine-König @ 2011-01-12 9:40 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jan 12, 2011 at 04:35:22PM +0800, yong.shen at freescale.com wrote:
> From: Yong Shen <yong.shen@freescale.com>
>
> 1. add platform data for spi device
> 2. Kconfig change
>
> Signed-off-by: Yong Shen <yong.shen@freescale.com>
> ---
> arch/arm/mach-mx5/Kconfig | 1 +
> arch/arm/mach-mx5/board-mx53_evk.c | 21 +++++++++++++++++++++
> 2 files changed, 22 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-mx5/Kconfig b/arch/arm/mach-mx5/Kconfig
> index 23b0e3f..777740b 100644
> --- a/arch/arm/mach-mx5/Kconfig
> +++ b/arch/arm/mach-mx5/Kconfig
> @@ -126,6 +126,7 @@ config MACH_MX53_EVK
> select IMX_HAVE_PLATFORM_IMX_UART
> select IMX_HAVE_PLATFORM_IMX_I2C
> select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
> + select IMX_HAVE_PLATFORM_SPI_IMX
> help
> Include support for MX53 EVK platform. This includes specific
> 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 4043451..157fe12 100644
> --- a/arch/arm/mach-mx5/board-mx53_evk.c
> +++ b/arch/arm/mach-mx5/board-mx53_evk.c
> @@ -33,6 +33,8 @@
> #include <mach/iomux-mx53.h>
>
> #define SMD_FEC_PHY_RST IMX_GPIO_NR(7, 6)
> +#define EVK_ECSPI1_CS0 IMX_GPIO_NR(2, 30)
> +#define EVK_ECSPI1_CS1 IMX_GPIO_NR(3, 19)
>
> #include "crm_regs.h"
> #include "devices-imx53.h"
> @@ -52,6 +54,13 @@ static iomux_v3_cfg_t mx53_evk_pads[] = {
> MX53_PAD_ATA_CS_1__UART3_RXD,
> MX53_PAD_ATA_DA_1__UART3_CTS,
> MX53_PAD_ATA_DA_2__UART3_RTS,
> +
> + MX53_PAD_EIM_D16__CSPI1_SCLK,
> + MX53_PAD_EIM_D17__CSPI1_MISO,
> + MX53_PAD_EIM_D18__CSPI1_MOSI,
did the v2 patch work at all?
> +
> + MX53_PAD_EIM_EB2__GPIO_2_30,
> + MX53_PAD_EIM_D19__GPIO_3_19,
IMO there's a comment missing what is the purpose of these. I suggest
to remove the empty line above and write something like /* ecspi.0 with
chip select lines */ over MX53_PAD_EIM_D16__CSPI1_SCLK.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/4] ARM: i.MX53: enable spi support
2011-01-12 9:37 ` Uwe Kleine-König
@ 2011-01-12 10:03 ` Yong Shen
2011-01-12 10:16 ` Uwe Kleine-König
0 siblings, 1 reply; 12+ messages in thread
From: Yong Shen @ 2011-01-12 10:03 UTC (permalink / raw)
To: linux-arm-kernel
hi Uwe,
>> ?#define MX53_PAD_EIM_D20__GPIO_3_20 ? ? ? ? ?IOMUX_PAD(0x470, 0x128,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
>> ?#define MX53_PAD_EIM_D21__GPIO_3_21 ? ? ? ? ?IOMUX_PAD(0x474, 0x12C,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> Why do you remove the GPIO definitions?
>
Why not? Anyway they are always used as cspi signals. IMO, we don't
need keep that many configures, and it's better to add them when
needed.
thanks
Yong
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/4] ARM: i.MX53 EVK: add spi device
2011-01-12 9:40 ` Uwe Kleine-König
@ 2011-01-12 10:10 ` Yong Shen
2011-01-12 10:42 ` Uwe Kleine-König
0 siblings, 1 reply; 12+ messages in thread
From: Yong Shen @ 2011-01-12 10:10 UTC (permalink / raw)
To: linux-arm-kernel
Hi Uwe,
>> + ? ? MX53_PAD_EIM_D16__CSPI1_SCLK,
>> + ? ? MX53_PAD_EIM_D17__CSPI1_MISO,
>> + ? ? MX53_PAD_EIM_D18__CSPI1_MOSI,
> did the v2 patch work at all?
Yes, it did work. Only the pad names were wrong, the configurations
were right, so v3 changed the names to match the configuration.
cheers
Yong
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/4] ARM: i.MX53: enable spi support
2011-01-12 10:03 ` Yong Shen
@ 2011-01-12 10:16 ` Uwe Kleine-König
2011-01-12 10:40 ` Yong Shen
0 siblings, 1 reply; 12+ messages in thread
From: Uwe Kleine-König @ 2011-01-12 10:16 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jan 12, 2011 at 06:03:27PM +0800, Yong Shen wrote:
> hi Uwe,
>
> >> -#define MX53_PAD_EIM_D16__GPIO_3_16 IOMUX_PAD(0x460, 0x118,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> >> -#define MX53_PAD_EIM_D17__GPIO_3_17 IOMUX_PAD(0x464, 0x11C,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> >> -#define MX53_PAD_EIM_D18__GPIO_3_18 IOMUX_PAD(0x468, 0x120,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> >> +#define MX53_PAD_EIM_D16__CSPI1_SCLK IOMUX_PAD(0x460, 0x118,IOMUX_CONFIG_ALT4, 0x79c, 3, NO_PAD_CTRL)
> >> +#define MX53_PAD_EIM_D17__CSPI1_MISO IOMUX_PAD(0x464, 0x11C,IOMUX_CONFIG_ALT4, 0x7a0, 3, NO_PAD_CTRL)
> >> +#define MX53_PAD_EIM_D18__CSPI1_MOSI IOMUX_PAD(0x468, 0x120,IOMUX_CONFIG_ALT4, 0x7a4, 3, NO_PAD_CTRL)
> >> ?#define MX53_PAD_EIM_D20__GPIO_3_20 ? ? ? ? ?IOMUX_PAD(0x470, 0x128,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> >> ?#define MX53_PAD_EIM_D21__GPIO_3_21 ? ? ? ? ?IOMUX_PAD(0x474, 0x12C,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> > Why do you remove the GPIO definitions?
> >
> Why not? Anyway they are always used as cspi signals.
always as in "on the machines currently supported by mainline"? This
can change.
> IMO, we don't
> need keep that many configures, and it's better to add them when
> needed.
This proved to not work nicely. Better generate the complete header
using your excel sheet.
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 1/4] ARM: i.MX53: enable spi support
2011-01-12 10:16 ` Uwe Kleine-König
@ 2011-01-12 10:40 ` Yong Shen
0 siblings, 0 replies; 12+ messages in thread
From: Yong Shen @ 2011-01-12 10:40 UTC (permalink / raw)
To: linux-arm-kernel
>> > Why do you remove the GPIO definitions?
>> >
>> Why not? Anyway they are always used as cspi signals.
> always as in "on the machines currently supported by mainline"? ?This
> can change.
>
>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IMO, we don't
>> need keep that many configures, and it's better to add them when
>> needed.
> This proved to not work nicely. ?Better generate the complete header
> using your excel sheet.
I don't know if this head file was generated by tool or not, since it
was there before I started submit code. Anyway, follow your comments.
yong
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH v3 2/4] ARM: i.MX53 EVK: add spi device
2011-01-12 10:10 ` Yong Shen
@ 2011-01-12 10:42 ` Uwe Kleine-König
0 siblings, 0 replies; 12+ messages in thread
From: Uwe Kleine-König @ 2011-01-12 10:42 UTC (permalink / raw)
To: linux-arm-kernel
On Wed, Jan 12, 2011 at 06:10:26PM +0800, Yong Shen wrote:
> Hi Uwe,
>
> >> + ? ? MX53_PAD_EIM_D16__CSPI1_SCLK,
> >> + ? ? MX53_PAD_EIM_D17__CSPI1_MISO,
> >> + ? ? MX53_PAD_EIM_D18__CSPI1_MOSI,
> > did the v2 patch work at all?
>
> Yes, it did work. Only the pad names were wrong, the configurations
> were right, so v3 changed the names to match the configuration.
you didn't just rename the defines but really changed them. (Which
might or might not mean something.):
> -#define MX53_PAD_EIM_D16__GPIO_3_16 IOMUX_PAD(0x460, 0x118,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> -#define MX53_PAD_EIM_D17__GPIO_3_17 IOMUX_PAD(0x464, 0x11C,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> -#define MX53_PAD_EIM_D18__GPIO_3_18 IOMUX_PAD(0x468, 0x120,IOMUX_CONFIG_ALT1, 0x0, 0, NO_PAD_CTRL)
> +#define MX53_PAD_EIM_D16__CSPI1_SCLK IOMUX_PAD(0x460, 0x118,IOMUX_CONFIG_ALT4, 0x79c, 3, NO_PAD_CTRL)
> +#define MX53_PAD_EIM_D17__CSPI1_MISO IOMUX_PAD(0x464, 0x11C,IOMUX_CONFIG_ALT4, 0x7a0, 3, NO_PAD_CTRL)
> +#define MX53_PAD_EIM_D18__CSPI1_MOSI IOMUX_PAD(0x468, 0x120,IOMUX_CONFIG_ALT4, 0x7a4, 3, NO_PAD_CTRL)
Best regards
Uwe
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2011-01-12 10:42 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-12 8:35 [PATCH v3 0/4] ARM: i.MX53: spi related patches yong.shen at freescale.com
2011-01-12 8:35 ` [PATCH v3 1/4] ARM: i.MX53: enable spi support yong.shen at freescale.com
2011-01-12 9:37 ` Uwe Kleine-König
2011-01-12 10:03 ` Yong Shen
2011-01-12 10:16 ` Uwe Kleine-König
2011-01-12 10:40 ` Yong Shen
2011-01-12 8:35 ` [PATCH v3 2/4] ARM: i.MX53 EVK: add spi device yong.shen at freescale.com
2011-01-12 9:40 ` Uwe Kleine-König
2011-01-12 10:10 ` Yong Shen
2011-01-12 10:42 ` Uwe Kleine-König
2011-01-12 8:35 ` [PATCH v3 3/4] ARM: i.MX53 EVK: add spi nor device yong.shen at freescale.com
2011-01-12 8:35 ` [PATCH v3 4/4] ARM: i.MX5: uart clock bug fix yong.shen at freescale.com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox