summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorJason Liu <r64343@freescale.com>2010-07-07 05:34:55 +0800
committerJason Liu <r64343@freescale.com>2010-07-07 05:35:42 +0800
commit65d7ce607bd4a831c3da00884d7bf00fc412928f (patch)
treec47fa5a2c954f9cfcd15120164745954035c71e3 /board
parentc6433f273a5b05472cc412148355bdefb252808e (diff)
downloadu-boot-imx-65d7ce607bd4a831c3da00884d7bf00fc412928f.zip
u-boot-imx-65d7ce607bd4a831c3da00884d7bf00fc412928f.tar.gz
u-boot-imx-65d7ce607bd4a831c3da00884d7bf00fc412928f.tar.bz2
ENGR00124908 CSPI: make spi_get_cfg platform specific
CSPI: make spi_get_cfg platform specific move the spi_get_cfg out of the cspi/ecspi driver Signed-off-by:Jason Liu <r64343@freescale.com>
Diffstat (limited to 'board')
-rw-r--r--board/freescale/mx25_3stack/mx25_3stack.c20
-rw-r--r--board/freescale/mx51_bbg/config.mk6
-rw-r--r--board/freescale/mx51_bbg/mx51_bbg.c31
3 files changed, 56 insertions, 1 deletions
diff --git a/board/freescale/mx25_3stack/mx25_3stack.c b/board/freescale/mx25_3stack/mx25_3stack.c
index db16c32..b8bb256 100644
--- a/board/freescale/mx25_3stack/mx25_3stack.c
+++ b/board/freescale/mx25_3stack/mx25_3stack.c
@@ -186,6 +186,26 @@ int board_mmc_init(bd_t *bis)
}
#endif
+s32 spi_get_cfg(struct imx_spi_dev_t *dev)
+{
+ switch (dev->slave.cs) {
+ case 0:
+ /* cpld */
+ dev->base = CSPI1_BASE;
+ dev->freq = 25000000;
+ dev->ss_pol = IMX_SPI_ACTIVE_LOW;
+ dev->ss = 0;
+ dev->fifo_sz = 32;
+ dev->us_delay = 0;
+ break;
+ default:
+ printf("Invalid Bus ID! \n");
+ break;
+ }
+
+ return 0;
+}
+
void spi_io_init(struct imx_spi_dev_t *dev)
{
switch (dev->base) {
diff --git a/board/freescale/mx51_bbg/config.mk b/board/freescale/mx51_bbg/config.mk
index 705aa34..97e8856 100644
--- a/board/freescale/mx51_bbg/config.mk
+++ b/board/freescale/mx51_bbg/config.mk
@@ -1,3 +1,7 @@
LDSCRIPT := $(SRCTREE)/board/$(VENDOR)/$(BOARD)/u-boot.lds
-TEXT_BASE = 0x97800000
+sinclude $(OBJTREE)/board/$(VENDOR)/$(BOARD)/config.tmp
+
+ifndef TEXT_BASE
+ TEXT_BASE = 0x97800000
+endif
diff --git a/board/freescale/mx51_bbg/mx51_bbg.c b/board/freescale/mx51_bbg/mx51_bbg.c
index 43fe121..dadc4e9 100644
--- a/board/freescale/mx51_bbg/mx51_bbg.c
+++ b/board/freescale/mx51_bbg/mx51_bbg.c
@@ -31,8 +31,10 @@
#include <i2c.h>
#include <asm/arch/keypad.h>
#include "board-imx51.h"
+#ifdef #ifdef CONFIG_IMX_ECSPI
#include <imx_spi.h>
#include <asm/arch/imx_spi_pmic.h>
+#endif
#include <asm/errno.h>
@@ -307,6 +309,35 @@ static void setup_expio(void)
}
#ifdef CONFIG_IMX_ECSPI
+s32 spi_get_cfg(struct imx_spi_dev_t *dev)
+{
+ switch (dev->slave.cs) {
+ case 0:
+ /* pmic */
+ dev->base = CSPI1_BASE_ADDR;
+ dev->freq = 2500000;
+ dev->ss_pol = IMX_SPI_ACTIVE_HIGH;
+ dev->ss = 0;
+ dev->fifo_sz = 64 * 4;
+ dev->us_delay = 0;
+ break;
+ case 1:
+ /* spi_nor */
+ dev->base = CSPI1_BASE_ADDR;
+ dev->freq = 2500000;
+ dev->ss_pol = IMX_SPI_ACTIVE_LOW;
+ dev->ss = 1;
+ dev->fifo_sz = 64 * 4;
+ dev->us_delay = 0;
+ break;
+ default:
+ printf("Invalid Bus ID! \n");
+ break;
+ }
+
+ return 0;
+}
+
void spi_io_init(struct imx_spi_dev_t *dev)
{
switch (dev->base) {