]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/imx-common/iomux-v3.c
arm: mvebu: drivers/ddr: Move Armada XP DDR init code into new directory
[u-boot] / arch / arm / imx-common / iomux-v3.c
index e88e6e2a9881d0dcd00af5477453afe219ed79b1..7fb23dd0271de08ed0101f944c2f0d63da0c49ff 100644 (file)
@@ -92,3 +92,29 @@ void imx_iomux_set_gpr_register(int group, int start_bit,
        reg |= (value << start_bit);
        writel(reg, base + group * 4);
 }
+
+#ifdef CONFIG_IOMUX_SHARE_CONF_REG
+void imx_iomux_gpio_set_direction(unsigned int gpio,
+                               unsigned int direction)
+{
+       u32 reg;
+       /*
+        * Only on Vybrid the input/output buffer enable flags
+        * are part of the shared mux/conf register.
+        */
+       reg = readl(base + (gpio << 2));
+
+       if (direction)
+               reg |= 0x2;
+       else
+               reg &= ~0x2;
+
+       writel(reg, base + (gpio << 2));
+}
+
+void imx_iomux_gpio_get_function(unsigned int gpio, u32 *gpio_state)
+{
+       *gpio_state = readl(base + (gpio << 2)) &
+               ((0X07 << PAD_MUX_MODE_SHIFT) | PAD_CTL_OBE_IBE_ENABLE);
+}
+#endif