From: Jagan Teki <ja...@amarulasolutions.com>

Add imx6_pcie_toggle_reset on board file using dm_gpio_*
calls for OF_CONTROL configs.

Cc: Stefano Babic <sba...@denx.de>
Cc: Fabio Estevam <fabio.este...@nxp.com>
Cc: Michael Trimarchi <mich...@amarulasolutions.com>
Signed-off-by: Jagan Teki <ja...@amarulasolutions.com>
---
 board/freescale/mx6sabresd/mx6sabresd.c | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/board/freescale/mx6sabresd/mx6sabresd.c 
b/board/freescale/mx6sabresd/mx6sabresd.c
index 2ed4e50..7c28cc7 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -561,6 +561,37 @@ int imx6_pcie_toggle_power(void)
 #endif
        return 0;
 }
+
+int imx6_pcie_toggle_reset(void)
+{
+#ifdef CONFIG_PCIE_IMX_PERST_GPIO
+       struct gpio_desc reset;
+       int ret;
+
+       ret = dm_gpio_lookup_name("GPIO7_12", &reset);
+       if (ret) {
+               printf("Cannot get GPIO7_12\n");
+               return ret;
+       }
+
+       ret = dm_gpio_request(&reset, "reset");
+       if (ret) {
+               printf("Cannot request GPIO7_12\n");
+               return ret;
+       }
+
+       dm_gpio_set_dir_flags(&reset, GPIOD_IS_OUT);
+
+       dm_gpio_set_value(&reset, 0);
+       mdelay(20);
+       dm_gpio_set_value(&reset, 1);
+       mdelay(20);
+
+#else
+       puts("WARNING: Make sure the PCIe #PERST line is connected!\n");
+#endif
+       return 0;
+}
 #endif
 
 #ifndef CONFIG_OF_CONTROL
-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to