da850evm: Use clrbits function with correct endianess
authorChristian Riesch <christian.riesch@omicron.at>
Fri, 14 Jun 2013 12:22:36 +0000 (14:22 +0200)
committerTom Rini <trini@ti.com>
Fri, 26 Jul 2013 20:39:10 +0000 (16:39 -0400)
The current code uses clrbits_be32 which is incorrect since we are on
a little endian machine here. This patch fixes this issue and also removes
some unnecessary code: Reading the current GPIO bank state is not required
if we are using the SET and CLEAR GPIO registers for setting/clearing
bits.

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Cc: Nagabhushana Netagunte <nagabhushana.netagunte@ti.com>
Cc: Rajashekhara, Sudhakar <sudhakar.raj@ti.com>
board/davinci/da8xxevm/da850evm.c

index 01745b211ad1407578d148e8f9717805ed3af82a..85b483096b3b481c07e9509892d66f364896e7e0 100644 (file)
@@ -323,10 +323,6 @@ int board_early_init_f(void)
 
 int board_init(void)
 {
-#if defined(CONFIG_USE_NOR) || defined(CONFIG_DAVINCI_MMC)
-       u32 val;
-#endif
-
 #ifndef CONFIG_USE_IRQ
        irq_init();
 #endif
@@ -366,12 +362,10 @@ int board_init(void)
 
 #ifdef CONFIG_USE_NOR
        /* Set the GPIO direction as output */
-       clrbits_be32((u32 *)GPIO_BANK0_REG_DIR_ADDR, (0x01 << 11));
+       clrbits_le32((u32 *)GPIO_BANK0_REG_DIR_ADDR, (0x01 << 11));
 
        /* Set the output as low */
-       val = readl(GPIO_BANK0_REG_SET_ADDR);
-       val |= (0x01 << 11);
-       writel(val, GPIO_BANK0_REG_CLR_ADDR);
+       writel(0x01 << 11, GPIO_BANK0_REG_CLR_ADDR);
 #endif
 
 #ifdef CONFIG_DAVINCI_MMC
@@ -379,9 +373,7 @@ int board_init(void)
        clrbits_le32((u32 *)GPIO_BANK0_REG_DIR_ADDR, (0x01 << 11));
 
        /* Set the output as high */
-       val = readl(GPIO_BANK0_REG_SET_ADDR);
-       val |= (0x01 << 11);
-       writel(val, GPIO_BANK0_REG_SET_ADDR);
+       writel(0x01 << 11, GPIO_BANK0_REG_SET_ADDR);
 #endif
 
 #ifdef CONFIG_DRIVER_TI_EMAC