@@ -533,6 +533,36 @@ int overwrite_console(void)
return 1;
}
+#ifdef CONFIG_OF_CONTROL
+int imx6_pcie_toggle_power(void)
+{
+#ifdef CONFIG_PCIE_IMX_POWER_GPIO
+ struct gpio_desc toggle;
+ int ret;
+
+ ret = dm_gpio_lookup_name("GPIO3_19", &toggle);
+ if (ret) {
+ printf("Cannot get GPIO3_19\n");
+ return ret;
+ }
+
+ ret = dm_gpio_request(&toggle, "toggle");
+ if (ret) {
+ printf("Cannot request GPIO3_19\n");
+ return ret;
+ }
+
+ dm_gpio_set_dir_flags(&toggle, GPIOD_IS_OUT);
+
+ dm_gpio_set_value(&toggle, 0);
+ mdelay(20);
+ dm_gpio_set_value(&toggle, 1);
+ mdelay(20);
+#endif
+ return 0;
+}
+#endif
+
#ifndef CONFIG_OF_CONTROL
int board_eth_init(bd_t *bis)
{