summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2008-04-30 23:04:51 +0200
committerWolfgang Denk <wd@denx.de>2008-04-30 23:04:51 +0200
commitfed4de0135fdc13565704669cdf80902bbfe3c42 (patch)
treeb8fc14a0c94687ac766eba56cb8ec445dfad0668
parent42ffcec3f9eba010a662d5b42981812b6bebfb9a (diff)
parent12bc4e94251c369c529ffa505cf58b148c372f7f (diff)
downloadu-boot-imx-fed4de0135fdc13565704669cdf80902bbfe3c42.zip
u-boot-imx-fed4de0135fdc13565704669cdf80902bbfe3c42.tar.gz
u-boot-imx-fed4de0135fdc13565704669cdf80902bbfe3c42.tar.bz2
Merge branch 'master' of git+ssh://10.10.0.7/home/wd/git/u-boot/master
-rw-r--r--common/env_nand.c6
-rw-r--r--cpu/mcf5227x/config.mk2
-rw-r--r--cpu/mcf523x/config.mk2
-rw-r--r--cpu/mcf52x2/config.mk2
-rw-r--r--cpu/mcf532x/config.mk2
-rw-r--r--cpu/mcf5445x/config.mk2
-rw-r--r--cpu/mcf547x_8x/config.mk2
-rw-r--r--cpu/mpc86xx/speed.c14
-rw-r--r--drivers/net/fsl_mcdmafec.c22
-rw-r--r--include/asm-m68k/global_data.h4
-rw-r--r--include/configs/M5475EVB.h1
-rw-r--r--include/configs/M5485EVB.h1
-rw-r--r--include/net.h8
-rw-r--r--post/board/lwmon5/sysmon.c12
14 files changed, 59 insertions, 21 deletions
diff --git a/common/env_nand.c b/common/env_nand.c
index 0dddddf..49742f5 100644
--- a/common/env_nand.c
+++ b/common/env_nand.c
@@ -102,7 +102,7 @@ uchar env_get_char_spec (int index)
int env_init(void)
{
#if defined(ENV_IS_EMBEDDED)
- ulong total;
+ size_t total;
int crc1_ok = 0, crc2_ok = 0;
env_t *tmp_env1, *tmp_env2;
@@ -188,7 +188,7 @@ int saveenv(void)
#else /* ! CFG_ENV_OFFSET_REDUND */
int saveenv(void)
{
- ulong total;
+ size_t total;
int ret = 0;
puts ("Erasing Nand...");
@@ -268,7 +268,7 @@ void env_relocate_spec (void)
void env_relocate_spec (void)
{
#if !defined(ENV_IS_EMBEDDED)
- ulong total;
+ size_t total;
int ret;
total = CFG_ENV_SIZE;
diff --git a/cpu/mcf5227x/config.mk b/cpu/mcf5227x/config.mk
index 8d60fd6..2e50696 100644
--- a/cpu/mcf5227x/config.mk
+++ b/cpu/mcf5227x/config.mk
@@ -24,7 +24,7 @@
#
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
-ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)
+ifeq ($(findstring 4.2,$(shell $(CROSS_COMPILE)gcc --version)),4.2)
PLATFORM_CPPFLAGS += -mcpu=5208 -fPIC
else
PLATFORM_CPPFLAGS += -m5307 -fPIC
diff --git a/cpu/mcf523x/config.mk b/cpu/mcf523x/config.mk
index 93645a3..73fb08d 100644
--- a/cpu/mcf523x/config.mk
+++ b/cpu/mcf523x/config.mk
@@ -24,7 +24,7 @@
#
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
-ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)
+ifeq ($(findstring 4.2,$(shell $(CROSS_COMPILE)gcc --version)),4.2)
PLATFORM_CPPFLAGS += -mcpu=5235 -fPIC
else
PLATFORM_CPPFLAGS += -m5307 -fPIC
diff --git a/cpu/mcf52x2/config.mk b/cpu/mcf52x2/config.mk
index 650e340..be360f8 100644
--- a/cpu/mcf52x2/config.mk
+++ b/cpu/mcf52x2/config.mk
@@ -34,7 +34,7 @@ is5275:=$(shell grep CONFIG_M5275 $(TOPDIR)/include/$(cfg))
is5282:=$(shell grep CONFIG_M5282 $(TOPDIR)/include/$(cfg))
-ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)
+ifeq ($(findstring 4.2,$(shell $(CROSS_COMPILE)gcc --version)),4.2)
ifneq (,$(findstring CONFIG_M5249,$(is5249)))
PLATFORM_CPPFLAGS += -mcpu=5249
diff --git a/cpu/mcf532x/config.mk b/cpu/mcf532x/config.mk
index 16a0bc3..e4a3cf9 100644
--- a/cpu/mcf532x/config.mk
+++ b/cpu/mcf532x/config.mk
@@ -24,7 +24,7 @@
#
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
-ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)
+ifeq ($(findstring 4.2,$(shell $(CROSS_COMPILE)gcc --version)),4.2)
PLATFORM_CPPFLAGS += -mcpu=5329 -fPIC
else
PLATFORM_CPPFLAGS += -m5307 -fPIC
diff --git a/cpu/mcf5445x/config.mk b/cpu/mcf5445x/config.mk
index 88433f2..a85d0f9 100644
--- a/cpu/mcf5445x/config.mk
+++ b/cpu/mcf5445x/config.mk
@@ -24,7 +24,7 @@
#
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
-ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)
+ifeq ($(findstring 4.2,$(shell $(CROSS_COMPILE)gcc --version)),4.2)
PLATFORM_CPPFLAGS += -mcpu=54455 -fPIC
else
PLATFORM_CPPFLAGS += -m5407 -fPIC
diff --git a/cpu/mcf547x_8x/config.mk b/cpu/mcf547x_8x/config.mk
index e5f4385..eb6b50b 100644
--- a/cpu/mcf547x_8x/config.mk
+++ b/cpu/mcf547x_8x/config.mk
@@ -24,7 +24,7 @@
#
PLATFORM_RELFLAGS += -ffixed-d7 -msep-data
-ifeq ($(findstring 4.2,$(shell $(CC) --version)),4.2)
+ifeq ($(findstring 4.2,$(shell $(CROSS_COMPILE)gcc --version)),4.2)
PLATFORM_CPPFLAGS += -mcpu=5485 -fPIC
else
PLATFORM_CPPFLAGS += -m5407 -fPIC
diff --git a/cpu/mpc86xx/speed.c b/cpu/mpc86xx/speed.c
index 7e884f8..da5b58b 100644
--- a/cpu/mpc86xx/speed.c
+++ b/cpu/mpc86xx/speed.c
@@ -105,8 +105,20 @@ int get_clocks(void)
get_sys_info(&sys_info);
gd->cpu_clk = sys_info.freqProcessor;
gd->bus_clk = sys_info.freqSystemBus;
+
+ /*
+ * The base clock for I2C depends on the actual SOC. Unfortunately,
+ * there is no pattern that can be used to determine the frequency, so
+ * the only choice is to look up the actual SOC number and use the value
+ * for that SOC. This information is taken from application note
+ * AN2919.
+ */
+#ifdef CONFIG_MPC8610
gd->i2c1_clk = sys_info.freqSystemBus;
- gd->i2c2_clk = sys_info.freqSystemBus;
+#else
+ gd->i2c1_clk = sys_info.freqSystemBus / 2;
+#endif
+ gd->i2c2_clk = gd->i2c1_clk;
if (gd->cpu_clk != 0)
return 0;
diff --git a/drivers/net/fsl_mcdmafec.c b/drivers/net/fsl_mcdmafec.c
index 0c876f3..2ef91f2 100644
--- a/drivers/net/fsl_mcdmafec.c
+++ b/drivers/net/fsl_mcdmafec.c
@@ -95,7 +95,11 @@ struct fec_info_dma fec_info[] = {
0, /* duplex and speed */
0, /* phy name */
0, /* phy name init */
+#ifdef CFG_DMA_USE_INTSRAM
+ DBUF_LENGTH, /* RX BD */
+#else
0, /* RX BD */
+#endif
0, /* TX BD */
0, /* rx Index */
0, /* tx Index */
@@ -164,7 +168,8 @@ static void dbg_fec_regs(struct eth_device *dev)
}
#endif
-static void set_fec_duplex_speed(volatile fecdma_t * fecp, bd_t * bd, int dup_spd)
+static void set_fec_duplex_speed(volatile fecdma_t * fecp, bd_t * bd,
+ int dup_spd)
{
if ((dup_spd >> 16) == FULL) {
/* Set maximum frame length */
@@ -513,6 +518,9 @@ int mcdmafec_initialize(bd_t * bis)
{
struct eth_device *dev;
int i;
+#ifdef CFG_DMA_USE_INTSRAM
+ u32 tmp = CFG_INTSRAM + 0x2000;
+#endif
for (i = 0; i < sizeof(fec_info) / sizeof(fec_info[0]); i++) {
@@ -533,6 +541,17 @@ int mcdmafec_initialize(bd_t * bis)
dev->recv = fec_recv;
/* setup Receive and Transmit buffer descriptor */
+#ifdef CFG_DMA_USE_INTSRAM
+ fec_info[i].rxbd = (int)fec_info[i].rxbd + tmp;
+ tmp = fec_info[i].rxbd;
+ fec_info[i].txbd =
+ (int)fec_info[i].txbd + tmp + (PKTBUFSRX * sizeof(cbd_t));
+ tmp = fec_info[i].txbd;
+ fec_info[i].txbuf =
+ (int)fec_info[i].txbuf + tmp +
+ (CFG_TX_ETH_BUFFER * sizeof(cbd_t));
+ tmp = fec_info[i].txbuf;
+#else
fec_info[i].rxbd =
(cbd_t *) memalign(CFG_CACHELINE_SIZE,
(PKTBUFSRX * sizeof(cbd_t)));
@@ -541,6 +560,7 @@ int mcdmafec_initialize(bd_t * bis)
(CFG_TX_ETH_BUFFER * sizeof(cbd_t)));
fec_info[i].txbuf =
(char *)memalign(CFG_CACHELINE_SIZE, DBUF_LENGTH);
+#endif
#ifdef ET_DEBUG
printf("rxbd %x txbd %x\n",
diff --git a/include/asm-m68k/global_data.h b/include/asm-m68k/global_data.h
index 958736e..c897f2b 100644
--- a/include/asm-m68k/global_data.h
+++ b/include/asm-m68k/global_data.h
@@ -47,6 +47,10 @@ typedef struct global_data {
unsigned long vco_clk;
unsigned long flb_clk;
#endif
+#ifdef CONFIG_FSL_I2C
+ unsigned long i2c1_clk;
+ unsigned long i2c2_clk;
+#endif
unsigned long ram_size; /* RAM size */
unsigned long reloc_off; /* Relocation Offset */
unsigned long reset_status; /* reset status register at boot */
diff --git a/include/configs/M5475EVB.h b/include/configs/M5475EVB.h
index 6bb4619..fea7551 100644
--- a/include/configs/M5475EVB.h
+++ b/include/configs/M5475EVB.h
@@ -72,6 +72,7 @@
# define CONFIG_MII_INIT 1
# define CONFIG_HAS_ETH1
+# define CFG_DMA_USE_INTSRAM 1
# define CFG_DISCOVER_PHY
# define CFG_RX_ETH_BUFFER 32
# define CFG_TX_ETH_BUFFER 48
diff --git a/include/configs/M5485EVB.h b/include/configs/M5485EVB.h
index cba51c8..454d0a2 100644
--- a/include/configs/M5485EVB.h
+++ b/include/configs/M5485EVB.h
@@ -72,6 +72,7 @@
# define CONFIG_MII_INIT 1
# define CONFIG_HAS_ETH1
+# define CFG_DMA_USE_INTSRAM 1
# define CFG_DISCOVER_PHY
# define CFG_RX_ETH_BUFFER 32
# define CFG_TX_ETH_BUFFER 48
diff --git a/include/net.h b/include/net.h
index f6decdc..9a2f03f 100644
--- a/include/net.h
+++ b/include/net.h
@@ -412,10 +412,10 @@ extern void print_IPaddr (IPaddr_t);
* footprint in our tests.
*/
/* return IP *in network byteorder* */
-static inline IPaddr_t NetReadIP(void *from)
+static inline IPaddr_t NetReadIP(volatile void *from)
{
IPaddr_t ip;
- memcpy((void*)&ip, from, sizeof(ip));
+ memcpy((void*)&ip, (void*)from, sizeof(ip));
return ip;
}
@@ -434,9 +434,9 @@ static inline void NetWriteIP(void *to, IPaddr_t ip)
}
/* copy IP */
-static inline void NetCopyIP(void *to, void *from)
+static inline void NetCopyIP(volatile void *to, void *from)
{
- memcpy(to, from, sizeof(IPaddr_t));
+ memcpy((void*)to, from, sizeof(IPaddr_t));
}
/* copy ulong */
diff --git a/post/board/lwmon5/sysmon.c b/post/board/lwmon5/sysmon.c
index 793f670..e9c9624 100644
--- a/post/board/lwmon5/sysmon.c
+++ b/post/board/lwmon5/sysmon.c
@@ -132,17 +132,17 @@ static sysmon_table_t sysmon_table[] =
{
"+ 5 V", "V", &sysmon_dspic, NULL, NULL,
- 100, 1000, 0, 0xFFFF, 0xFFFF,
- VOLTAGE_5V_MIN, VOLTAGE_5V_MAX, 0,
- VOLTAGE_5V_MIN, VOLTAGE_5V_MAX, 0,
+ 100, 1000, -0x8000, 0x7FFF, 0xFFFF,
+ 0x8000 + VOLTAGE_5V_MIN, 0x8000 + VOLTAGE_5V_MAX, 0,
+ 0x8000 + VOLTAGE_5V_MIN, 0x8000 + VOLTAGE_5V_MAX, 0,
REG_VOLTAGE_5V,
},
{
"+ 5 V standby", "V", &sysmon_dspic, NULL, NULL,
- 100, 1000, 0, 0xFFFF, 0xFFFF,
- VOLTAGE_5V_STANDBY_MIN, VOLTAGE_5V_STANDBY_MAX, 0,
- VOLTAGE_5V_STANDBY_MIN, VOLTAGE_5V_STANDBY_MAX, 0,
+ 100, 1000, -0x8000, 0x7FFF, 0xFFFF,
+ 0x8000 + VOLTAGE_5V_STANDBY_MIN, 0x8000 + VOLTAGE_5V_STANDBY_MAX, 0,
+ 0x8000 + VOLTAGE_5V_STANDBY_MIN, 0x8000 + VOLTAGE_5V_STANDBY_MAX, 0,
REG_VOLTAGE_5V_STANDBY,
},
};