aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-bsp/u-boot/u-boot-v2012.04.01/0037-mx53loco-Turn-on-VUSB-regulator.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-bsp/u-boot/u-boot-v2012.04.01/0037-mx53loco-Turn-on-VUSB-regulator.patch')
-rw-r--r--recipes-bsp/u-boot/u-boot-v2012.04.01/0037-mx53loco-Turn-on-VUSB-regulator.patch59
1 files changed, 59 insertions, 0 deletions
diff --git a/recipes-bsp/u-boot/u-boot-v2012.04.01/0037-mx53loco-Turn-on-VUSB-regulator.patch b/recipes-bsp/u-boot/u-boot-v2012.04.01/0037-mx53loco-Turn-on-VUSB-regulator.patch
new file mode 100644
index 0000000..783c460
--- /dev/null
+++ b/recipes-bsp/u-boot/u-boot-v2012.04.01/0037-mx53loco-Turn-on-VUSB-regulator.patch
@@ -0,0 +1,59 @@
+From b2297ec8b5d8efeee9adfed046afd8594f020b51 Mon Sep 17 00:00:00 2001
+From: Fabio Estevam <fabio.estevam@freescale.com>
+Date: Mon, 7 May 2012 10:26:00 +0000
+Subject: [PATCH 37/56] mx53loco: Turn on VUSB regulator
+
+On the mx53loco board with mc34708 PMIC it is necessary to turn on VUSB regulator
+so that the mx53 USBH1 PHY receives the 3.3V voltage.
+
+Tested by inserting a USB pen drive in the upper USB slot (USBH1) and then issued the
+commands:
+
+usb start
+
+usb info
+
+,which correctly detected and printed the USB pen drive information.
+
+Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
+Acked-by: Jason Liu <r64343@freescale.com>
+Acked-by: Stefano Babic <sbabic@denx.de>
+---
+ board/freescale/mx53loco/mx53loco.c | 9 +++++++++
+ include/fsl_pmic.h | 1 +
+ 2 files changed, 10 insertions(+)
+
+diff --git a/board/freescale/mx53loco/mx53loco.c b/board/freescale/mx53loco/mx53loco.c
+index 8f5ded9..a49b00a 100644
+--- a/board/freescale/mx53loco/mx53loco.c
++++ b/board/freescale/mx53loco/mx53loco.c
+@@ -359,6 +359,15 @@ static int power_init(void)
+ pmic_reg_read(p, REG_POWER_CTL2, &val);
+ val = (val & ~TIMER_MASK_MC34708) | TIMER_4S_MC34708;
+ ret |= pmic_reg_write(p, REG_POWER_CTL2, val);
++
++ /* Set VUSBSEL and VUSBEN for USB PHY supply*/
++ pmic_reg_read(p, REG_MODE_0, &val);
++ val |= (VUSBSEL_MC34708 | VUSBEN_MC34708);
++ ret |= pmic_reg_write(p, REG_MODE_0, val);
++
++ /* Set SWBST to 5V in auto mode */
++ val = SWBST_AUTO;
++ ret |= pmic_reg_write(p, SWBST_CTRL, val);
+ }
+
+ return ret;
+diff --git a/include/fsl_pmic.h b/include/fsl_pmic.h
+index 3b7cd37..64c1e2e 100644
+--- a/include/fsl_pmic.h
++++ b/include/fsl_pmic.h
+@@ -131,5 +131,6 @@ enum {
+ #define VUSBSEL_MC34708 (1 << 2)
+ #define VUSBEN_MC34708 (1 << 3)
+ #define SWBST_CTRL 31
++#define SWBST_AUTO 0x8
+
+ #endif
+--
+1.7.10
+