public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Fabio Estevam <festevam@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/4] mx53loco: Add mc34708 support and set mx53 frequency at 1GHz
Date: Mon,  7 May 2012 17:25:59 -0300	[thread overview]
Message-ID: <1336422361-14245-2-git-send-email-festevam@gmail.com> (raw)
In-Reply-To: <1336422361-14245-1-git-send-email-festevam@gmail.com>

From: Fabio Estevam <fabio.estevam@freescale.com>

Add mc34708 support and set mx53 core frequency at its maximum value of 1GHz.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
 board/freescale/mx53loco/mx53loco.c |   52 +++++++++++++++++++++++++---------
 include/configs/mx53loco.h          |    2 +
 include/fsl_pmic.h                  |   10 +++++++
 3 files changed, 50 insertions(+), 14 deletions(-)

diff --git a/board/freescale/mx53loco/mx53loco.c b/board/freescale/mx53loco/mx53loco.c
index 7ed5c4e..8c18b99 100644
--- a/board/freescale/mx53loco/mx53loco.c
+++ b/board/freescale/mx53loco/mx53loco.c
@@ -38,6 +38,7 @@
 #include <asm/gpio.h>
 #include <pmic.h>
 #include <dialog_pmic.h>
+#include <fsl_pmic.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -319,23 +320,46 @@ static void setup_iomux_i2c(void)
 
 static int power_init(void)
 {
-	unsigned int val, ret;
+	unsigned int val;
+	int ret = -1;
 	struct pmic *p;
 
-	pmic_dialog_init();
-	p = get_pmic();
-
-	/* Set VDDA to 1.25V */
-	val = DA9052_BUCKCORE_BCOREEN | DA_BUCKCORE_VBCORE_1_250V;
-	ret = pmic_reg_write(p, DA9053_BUCKCORE_REG, val);
-
-	ret |= pmic_reg_read(p, DA9053_SUPPLY_REG, &val);
-	val |= DA9052_SUPPLY_VBCOREGO;
-	ret |= pmic_reg_write(p, DA9053_SUPPLY_REG, val);
+	if (!i2c_probe(CONFIG_SYS_DIALOG_PMIC_I2C_ADDR)) {
+		pmic_dialog_init();
+		p = get_pmic();
+
+		/* Set VDDA to 1.25V */
+		val = DA9052_BUCKCORE_BCOREEN | DA_BUCKCORE_VBCORE_1_250V;
+		ret = pmic_reg_write(p, DA9053_BUCKCORE_REG, val);
+
+		ret |= pmic_reg_read(p, DA9053_SUPPLY_REG, &val);
+		val |= DA9052_SUPPLY_VBCOREGO;
+		ret |= pmic_reg_write(p, DA9053_SUPPLY_REG, val);
+
+		/* Set Vcc peripheral to 1.30V */
+		ret |= pmic_reg_write(p, DA9053_BUCKPRO_REG, 0x62);
+		ret |= pmic_reg_write(p, DA9053_SUPPLY_REG, 0x62);
+	}
 
-	/* Set Vcc peripheral to 1.35V */
-	ret |= pmic_reg_write(p, DA9053_BUCKPRO_REG, 0x62);
-	ret |= pmic_reg_write(p, DA9053_SUPPLY_REG, 0x62);
+	if (!i2c_probe(CONFIG_SYS_FSL_PMIC_I2C_ADDR)) {
+		pmic_init();
+		p = get_pmic();
+
+		/* Set VDDGP to 1.25V for 1GHz on SW1 */
+		pmic_reg_read(p, REG_SW_0, &val);
+		val = (val & ~SWx_VOLT_MASK_MC34708) | SWx_1_250V_MC34708;
+		ret = pmic_reg_write(p, REG_SW_0, val);
+
+		/* Set VCC as 1.30V on SW2 */
+		pmic_reg_read(p, REG_SW_1, &val);
+		val = (val & ~SWx_VOLT_MASK_MC34708) | SWx_1_300V_MC34708;
+		ret |= pmic_reg_write(p, REG_SW_1, val);
+
+		/* Set global reset timer to 4s */
+		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);
+	}
 
 	return ret;
 }
diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h
index 8f43eec..87f6ed1 100644
--- a/include/configs/mx53loco.h
+++ b/include/configs/mx53loco.h
@@ -97,7 +97,9 @@
 #define CONFIG_PMIC
 #define CONFIG_PMIC_I2C
 #define CONFIG_DIALOG_PMIC
+#define CONFIG_PMIC_FSL
 #define CONFIG_SYS_DIALOG_PMIC_I2C_ADDR	0x48
+#define CONFIG_SYS_FSL_PMIC_I2C_ADDR	0x8
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
diff --git a/include/fsl_pmic.h b/include/fsl_pmic.h
index 742f2e1..3b7cd37 100644
--- a/include/fsl_pmic.h
+++ b/include/fsl_pmic.h
@@ -122,4 +122,14 @@ enum {
 /* Interrupt status 1 */
 #define RTCRSTI		(1 << 7)
 
+/* MC34708 Definitions */
+#define SWx_VOLT_MASK_MC34708	0x3F
+#define SWx_1_250V_MC34708	0x30
+#define SWx_1_300V_MC34708	0x34
+#define TIMER_MASK_MC34708	0x300
+#define TIMER_4S_MC34708	0x100
+#define VUSBSEL_MC34708		(1 << 2)
+#define VUSBEN_MC34708		(1 << 3)
+#define SWBST_CTRL		31
+
 #endif
-- 
1.7.1

  reply	other threads:[~2012-05-07 20:25 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-07 20:25 [U-Boot] [PATCH 1/3] pmic: dialog: Avoid name conflicts Fabio Estevam
2012-05-07 20:25 ` Fabio Estevam [this message]
2012-05-09  8:57   ` [U-Boot] [PATCH 2/4] mx53loco: Add mc34708 support and set mx53 frequency at 1GHz Liu Hui-R64343
2012-05-09  9:11   ` Stefano Babic
2012-05-09  9:17   ` Stefano Babic
2012-05-07 20:26 ` [U-Boot] [PATCH 3/4] mx53loco: Turn on VUSB regulator Fabio Estevam
2012-05-09  8:58   ` Liu Hui-R64343
2012-05-09  9:11   ` Stefano Babic
2012-05-09  9:18   ` Stefano Babic
2012-05-07 20:26 ` [U-Boot] [PATCH 4/4] mx53loco: Add CONFIG_REVISION_TAG Fabio Estevam
2012-05-08 13:40   ` [U-Boot] [PATCH v2 " Fabio Estevam
2012-05-09  9:11     ` Stefano Babic
2012-05-09  9:18     ` Stefano Babic
2012-05-09  9:15   ` [U-Boot] [PATCH " Liu Hui-R64343
2012-05-09 11:20     ` Fabio Estevam
     [not found]       ` <AD13664F485EE54694E29A7F9D5BE1AF1898C2@039-SN2MPN1-022.039d.mgd.msft.net>
2012-05-09 12:05         ` Stefano Babic
2012-05-09  9:11 ` [U-Boot] [PATCH 1/3] pmic: dialog: Avoid name conflicts Stefano Babic
2012-05-09  9:18 ` Stefano Babic

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1336422361-14245-2-git-send-email-festevam@gmail.com \
    --to=festevam@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox