]> git.sur5r.net Git - u-boot/blobdiff - drivers/gpio/mxc_gpio.c
bfin: Move gpio support for bf54x and bf60x into the generic driver folder.
[u-boot] / drivers / gpio / mxc_gpio.c
index 21b1cdc08bc7697537cd210dea81821dd4ef75b7..a3880641f0a8c73e64896b5b3512dc9dfbbf4297 100644 (file)
@@ -41,12 +41,15 @@ static unsigned long gpio_ports[] = {
        [0] = GPIO1_BASE_ADDR,
        [1] = GPIO2_BASE_ADDR,
        [2] = GPIO3_BASE_ADDR,
-#if defined(CONFIG_MX51) || defined(CONFIG_MX53) || defined(CONFIG_MX6Q)
+#if defined(CONFIG_MX25) || defined(CONFIG_MX27) || defined(CONFIG_MX51) || \
+               defined(CONFIG_MX53) || defined(CONFIG_MX6)
        [3] = GPIO4_BASE_ADDR,
 #endif
-#if defined(CONFIG_MX53) || defined(CONFIG_MX6Q)
+#if defined(CONFIG_MX27) || defined(CONFIG_MX53) || defined(CONFIG_MX6)
        [4] = GPIO5_BASE_ADDR,
        [5] = GPIO6_BASE_ADDR,
+#endif
+#if defined(CONFIG_MX53) || defined(CONFIG_MX6)
        [6] = GPIO7_BASE_ADDR,
 #endif
 };
@@ -115,7 +118,7 @@ int gpio_get_value(unsigned gpio)
 
        regs = (struct gpio_regs *)gpio_ports[port];
 
-       val = (readl(&regs->gpio_dr) >> gpio) & 0x01;
+       val = (readl(&regs->gpio_psr) >> gpio) & 0x01;
 
        return val;
 }
@@ -145,6 +148,5 @@ int gpio_direction_output(unsigned gpio, int value)
        if (ret < 0)
                return ret;
 
-       gpio_set_value(gpio, value);
-       return 0;
+       return gpio_set_value(gpio, value);
 }