summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMagnus Lilja <lilja.magnus@gmail.com>2008-08-29 10:36:18 +0200
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2008-09-12 01:23:44 +0200
commit1a6337b01351b82a45b0defa76f08744511c580b (patch)
tree2a9a9e97ad896b5f337be1edfd747b3e57bff32b
parent8c4ebec25b21e355b8488698ec1594da9701fff4 (diff)
downloadu-boot-imx-1a6337b01351b82a45b0defa76f08744511c580b.zip
u-boot-imx-1a6337b01351b82a45b0defa76f08744511c580b.tar.gz
u-boot-imx-1a6337b01351b82a45b0defa76f08744511c580b.tar.bz2
i.MX31: Make the SPI bus and chip select configurable for MC13783
The i.MX31 has three SPI buses and each bus has several chip selects and the MC13783 chip can be connected to any of these. The current RTC driver for MC13783 is hardcoded for CSPI2/SS2. This patch makes make MC13783 SPI bus and chip select configurable via CONFIG_MC13783_SPI_BUS and CONFIG_MC13783_SPI_CS. Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
-rw-r--r--doc/README.mx3119
-rw-r--r--drivers/rtc/mc13783-rtc.c6
-rw-r--r--include/configs/imx31_litekit.h3
-rw-r--r--include/configs/mx31ads.h3
4 files changed, 29 insertions, 2 deletions
diff --git a/doc/README.mx31 b/doc/README.mx31
new file mode 100644
index 0000000..f912b66
--- /dev/null
+++ b/doc/README.mx31
@@ -0,0 +1,19 @@
+
+U-Boot for Freescale i.MX31
+
+This file contains information for the port of U-Boot to the Freescale
+i.MX31 SoC.
+
+1. CONFIGURATION OPTIONS/SETTINGS
+---------------------------------
+
+1.1 Configuration of MC13783 SPI bus
+------------------------------------
+The power management companion chip MC13783 is connected to the
+i.MX31 via an SPI bus. Use the following configuration options
+to setup the bus and chip select used for a particular board.
+
+CONFIG_MC13783_SPI_BUS -- defines the SPI bus the MC13783 is connected to.
+ Note that 0 is CSPI1, 1 is CSPI2 and 2 is CSPI3.
+CONFIG_MC13783_SPI_CS -- define the chip select the MC13783 s connected to.
+
diff --git a/drivers/rtc/mc13783-rtc.c b/drivers/rtc/mc13783-rtc.c
index 6ea9137..05db2f1 100644
--- a/drivers/rtc/mc13783-rtc.c
+++ b/drivers/rtc/mc13783-rtc.c
@@ -34,7 +34,8 @@ int rtc_get(struct rtc_time *rtc)
if (!slave) {
/* FIXME: Verify the max SCK rate */
- slave = spi_setup_slave(1, 0, 1000000,
+ slave = spi_setup_slave(CONFIG_MC13783_SPI_BUS,
+ CONFIG_MC13783_SPI_CS, 1000000,
SPI_MODE_2 | SPI_CS_HIGH);
if (!slave)
return -1;
@@ -83,7 +84,8 @@ int rtc_set(struct rtc_time *rtc)
if (!slave) {
/* FIXME: Verify the max SCK rate */
- slave = spi_setup_slave(1, 0, 1000000,
+ slave = spi_setup_slave(CONFIG_MC13783_SPI_BUS,
+ CONFIG_MC13783_SPI_CS, 1000000,
SPI_MODE_2 | SPI_CS_HIGH);
if (!slave)
return -1;
diff --git a/include/configs/imx31_litekit.h b/include/configs/imx31_litekit.h
index c476333..62a03fa 100644
--- a/include/configs/imx31_litekit.h
+++ b/include/configs/imx31_litekit.h
@@ -69,6 +69,9 @@
#define CONFIG_DEFAULT_SPI_MODE (SPI_MODE_2 | SPI_CS_HIGH)
#define CONFIG_RTC_MC13783 1
+/* MC13783 connected to CSPI2 and SS0 */
+#define CONFIG_MC13783_SPI_BUS 1
+#define CONFIG_MC13783_SPI_CS 0
/* allow to overwrite serial and ethaddr */
#define CONFIG_ENV_OVERWRITE
diff --git a/include/configs/mx31ads.h b/include/configs/mx31ads.h
index 9ede764..b9ad3e4 100644
--- a/include/configs/mx31ads.h
+++ b/include/configs/mx31ads.h
@@ -66,6 +66,9 @@
#define CONFIG_DEFAULT_SPI_MODE (SPI_MODE_2 | SPI_CS_HIGH)
#define CONFIG_RTC_MC13783 1
+/* MC13783 connected to CSPI2 and SS0 */
+#define CONFIG_MC13783_SPI_BUS 1
+#define CONFIG_MC13783_SPI_CS 0
/* allow to overwrite serial and ethaddr */
#define CONFIG_ENV_OVERWRITE