diff mbox series

[v1,4/5] arm: xea: spl: Add GPIO0_0 setup on spl_board_init

Message ID 20200125080140.1267-5-lukma@denx.de
State Accepted
Commit eceb4e006ad7a8bce0f5fd7410af77745466ccc8
Headers show
Series arm: xea: Enhancements for i.MX28 based XEA board | expand

Commit Message

Lukasz Majewski Jan. 25, 2020, 8:01 a.m. UTC
Explicitly configure GPIO0_0 in SPL, which controlls 3V3 voltage
on the XEA board (it also supplies TIVAs).

This code would enable TIVAs power supply early (also when board
uses the falcon boot).

Signed-off-by: Lukasz Majewski <lukma at denx.de>
---

 board/liebherr/xea/xea.c | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/board/liebherr/xea/xea.c b/board/liebherr/xea/xea.c
index bdc073664c..df5d316717 100644
--- a/board/liebherr/xea/xea.c
+++ b/board/liebherr/xea/xea.c
@@ -64,9 +64,24 @@  static int boot_tiva0, boot_tiva1;
 /* Check if TIVAs request booting via U-Boot proper */
 void spl_board_init(void)
 {
-	struct gpio_desc btiva0, btiva1;
+	struct gpio_desc btiva0, btiva1, en_3_3v;
 	int ret;
 
+	/*
+	 * Setup GPIO0_0 (TIVA power enable pin) to be output high
+	 * to allow TIVA startup.
+	 */
+	ret = dm_gpio_lookup_name("GPIO0_0", &en_3_3v);
+	if (ret)
+		printf("Cannot get GPIO0_0\n");
+
+	ret = dm_gpio_request(&en_3_3v, "pwr_3_3v");
+	if (ret)
+		printf("Cannot request GPIO0_0\n");
+
+	/* Set GPIO0_0 to HIGH */
+	dm_gpio_set_dir_flags(&en_3_3v, GPIOD_IS_OUT | GPIOD_IS_OUT_ACTIVE);
+
 	ret = dm_gpio_lookup_name("GPIO0_23", &btiva0);
 	if (ret)
 		printf("Cannot get GPIO0_23\n");