diff options
author | Heiko Schocher <hs@denx.de> | 2008-03-07 08:15:28 +0100 |
---|---|---|
committer | Wolfgang Denk <wd@denx.de> | 2008-03-08 10:50:09 +0100 |
commit | 82afabfeb8ae6a27c7b396011ea99f4712aa73fa (patch) | |
tree | fa0b28c3b5ddc8852fa60bbf8ed676242c886eb3 /board/mgsuvd/mgsuvd.c | |
parent | e492c90c26215e459aec0fdf0f8ef1fd204988f5 (diff) | |
download | u-boot-imx-82afabfeb8ae6a27c7b396011ea99f4712aa73fa.zip u-boot-imx-82afabfeb8ae6a27c7b396011ea99f4712aa73fa.tar.gz u-boot-imx-82afabfeb8ae6a27c7b396011ea99f4712aa73fa.tar.bz2 |
mgsuvd: update board configuration
initialize the UPIOx controller.
Signed-off-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'board/mgsuvd/mgsuvd.c')
-rw-r--r-- | board/mgsuvd/mgsuvd.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/board/mgsuvd/mgsuvd.c b/board/mgsuvd/mgsuvd.c index 9fd164b..e0123bf 100644 --- a/board/mgsuvd/mgsuvd.c +++ b/board/mgsuvd/mgsuvd.c @@ -134,6 +134,17 @@ long int initdram (int board_type) return (size); } +/* + * Early board initalization. + */ +int board_early_init_r(void) +{ + /* setup the UPIOx */ + *(char *)(CFG_PIGGY_BASE + 0x02) = 0xc0; + *(char *)(CFG_PIGGY_BASE + 0x03) = 0x35; + return 0; +} + #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) /* * update "memory" property in the blob @@ -179,31 +190,31 @@ void ft_blob_update(void *blob, bd_t *bd) } /* BRG */ brg_data[0] = cpu_to_be32(bd->bi_busfreq); - nodeoffset = fdt_path_offset (blob, "/soc866/cpm"); + nodeoffset = fdt_path_offset (blob, "/soc/cpm"); if (nodeoffset >= 0) { ret = fdt_setprop(blob, nodeoffset, "brg-frequency", brg_data, sizeof(brg_data)); if (ret < 0) - printf("ft_blob_update): cannot set /soc866/cpm/brg-frequency " + printf("ft_blob_update): cannot set /soc/cpm/brg-frequency " "property err:%s\n", fdt_strerror(ret)); } else { /* memory node is required in dts */ - printf("ft_blob_update(): cannot find /localbus node " + printf("ft_blob_update(): cannot find /soc/cpm node " "err:%s\n", fdt_strerror(nodeoffset)); } /* MAC Adresse */ - nodeoffset = fdt_path_offset (blob, "/soc866/cpm/ethernet"); + nodeoffset = fdt_path_offset (blob, "/soc/cpm/ethernet"); if (nodeoffset >= 0) { ret = fdt_setprop(blob, nodeoffset, "mac-address", bd->bi_enetaddr, sizeof(uchar) * 6); if (ret < 0) - printf("ft_blob_update): cannot set /soc866/cpm/scc/mac-address " + printf("ft_blob_update): cannot set /soc/cpm/scc/mac-address " "property err:%s\n", fdt_strerror(ret)); } else { /* memory node is required in dts */ - printf("ft_blob_update(): cannot find /localbus node " + printf("ft_blob_update(): cannot find /soc/cpm/ethernet node " "err:%s\n", fdt_strerror(nodeoffset)); } } |