Signed-off-by: Heiko Schocher <[EMAIL PROTECTED]>
---
 board/keymile/mgsuvd/mgsuvd.c |   98 +++++++++++++----------------------------
 include/configs/mgsuvd.h      |   10 ++---
 2 files changed, 35 insertions(+), 73 deletions(-)

diff --git a/board/keymile/mgsuvd/mgsuvd.c b/board/keymile/mgsuvd/mgsuvd.c
index 912e177..d74cb92 100644
--- a/board/keymile/mgsuvd/mgsuvd.c
+++ b/board/keymile/mgsuvd/mgsuvd.c
@@ -20,11 +20,6 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
  * MA 02111-1307 USA
  */
-
-#if 0
-#define DEBUG
-#endif
-
 #include <common.h>
 #include <mpc8xx.h>

@@ -154,83 +149,52 @@ int hush_init_var (void)
 }

 #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
+
+#define FDT_SET_NODE_VALUE(nodename, reg, var, size) \
+       nodeoffset = fdt_path_offset (blob, nodename); \
+       if (nodeoffset >= 0) { \
+               ret = fdt_setprop (blob, nodeoffset, reg, var, \
+                                       size); \
+               if (ret < 0) \
+                       printf("ft_blob_update(): cannot set %s/%s " \
+                               "property err:%s\n", nodename, reg, \
+                               fdt_strerror (ret)); \
+               } else { \
+                       printf("ft_blob_update(): cannot find %s node " \
+                               "err:%s\n", nodename, fdt_strerror 
(nodeoffset)); \
+       }
+
 /*
  * update "memory" property in the blob
  */
-void ft_blob_update(void *blob, bd_t *bd)
+void ft_blob_update (void *blob, bd_t *bd)
 {
        int ret, nodeoffset = 0;
        ulong brg_data[1] = {0};
        ulong memory_data[2] = {0};
        ulong flash_data[4] = {0};

-       memory_data[0] = cpu_to_be32(bd->bi_memstart);
-       memory_data[1] = cpu_to_be32(bd->bi_memsize);
-
-               nodeoffset = fdt_path_offset (blob, "/memory");
-               if (nodeoffset >= 0) {
-                       ret = fdt_setprop(blob, nodeoffset, "reg", memory_data,
-                                               sizeof(memory_data));
-               if (ret < 0)
-                       printf("ft_blob_update(): cannot set /memory/reg "
-                               "property err:%s\n", fdt_strerror(ret));
-               }
-               else {
-                       /* memory node is required in dts */
-                       printf("ft_blob_update(): cannot find /memory node "
-                       "err:%s\n", fdt_strerror(nodeoffset));
-       }
-
-       flash_data[2] = cpu_to_be32(bd->bi_flashstart);
-       flash_data[3] = cpu_to_be32(bd->bi_flashsize);
-       nodeoffset = fdt_path_offset (blob, "/localbus");
-       if (nodeoffset >= 0) {
-               ret = fdt_setprop(blob, nodeoffset, "ranges", flash_data,
-                                       sizeof(flash_data));
-       if (ret < 0)
-               printf("ft_blob_update(): cannot set /localbus/ranges "
-                       "property err:%s\n", fdt_strerror(ret));
-       }
-       else {
-               /* memory node is required in dts */
-               printf("ft_blob_update(): cannot find /localbus node "
-               "err:%s\n", fdt_strerror(nodeoffset));
-       }
+       memory_data[0] = cpu_to_be32 (bd->bi_memstart);
+       memory_data[1] = cpu_to_be32 (bd->bi_memsize);
+       FDT_SET_NODE_VALUE("/memory", "reg", memory_data, sizeof (memory_data))
+
+       flash_data[2] = cpu_to_be32 (bd->bi_flashstart);
+       flash_data[3] = cpu_to_be32 (bd->bi_flashsize);
+       FDT_SET_NODE_VALUE("/localbus", "ranges", flash_data,
+                               sizeof (flash_data))
        /* BRG */
-       brg_data[0] = cpu_to_be32(bd->bi_busfreq);
-       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 /soc/cpm/brg-frequency "
-                       "property err:%s\n", fdt_strerror(ret));
-       }
-       else {
-               /* memory node is required in dts */
-               printf("ft_blob_update(): cannot find /soc/cpm node "
-               "err:%s\n", fdt_strerror(nodeoffset));
-       }
+       brg_data[0] = cpu_to_be32 (bd->bi_busfreq);
+       FDT_SET_NODE_VALUE("/soc/cpm", "brg-frequency", brg_data,
+                               sizeof (brg_data))
        /* MAC Adresse */
-       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 /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 /soc/cpm/ethernet node "
-               "err:%s\n", fdt_strerror(nodeoffset));
-       }
+       FDT_SET_NODE_VALUE("/soc/cpm/ethernet", "mac-address",
+                               bd->bi_enetaddr, sizeof (uchar) * 6)
 }

 void ft_board_setup(void *blob, bd_t *bd)
 {
-       ft_cpu_setup( blob, bd);
-       ft_blob_update(blob, bd);
+       ft_cpu_setup (blob, bd);
+       ft_blob_update (blob, bd);
 }
 #endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */

diff --git a/include/configs/mgsuvd.h b/include/configs/mgsuvd.h
index 7a80dad..416e4db 100644
--- a/include/configs/mgsuvd.h
+++ b/include/configs/mgsuvd.h
@@ -359,18 +359,16 @@
 #define I2C_READ       i2c_soft_read_pin ()
 #define I2C_SDA(bit)   if(bit) { \
                                *(unsigned short *)(I2C_BASE_DIR) &=  
~SDA_CONF; \
-                               } \
-                       else    { \
+                       } else { \
                                *(unsigned char *)(I2C_BASE_PORT) &= ~SDA_BIT; \
                                *(unsigned short *)(I2C_BASE_DIR) |= SDA_CONF; \
-                               }
+                       }
 #define I2C_SCL(bit)   if(bit) { \
                                *(unsigned short *)(I2C_BASE_DIR) &=  
~SCL_CONF; \
-                               } \
-                       else    { \
+                       } else { \
                                *(unsigned char *)(I2C_BASE_PORT) &= ~SCL_BIT; \
                                *(unsigned short *)(I2C_BASE_DIR) |= SCL_CONF; \
-                               }
+                       }
 #define I2C_DELAY      udelay(50)      /* 1/4 I2C clock duration */

 #define CONFIG_I2C_MULTI_BUS   1
-- 
1.5.6.1

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to