From: Adam Ford <aford173@gmail.com>
To: u-boot@lists.denx.de
Cc: jh80.chung@samsung.com, sbabic@denx.de, festevam@gmail.com,
uboot-imx@nxp.com, Adam Ford <aford173@gmail.com>
Subject: [PATCH 4/4] imx: imx8mn-beacon: Configure PMIC before DDR initialization
Date: Wed, 17 Aug 2022 06:24:03 -0500 [thread overview]
Message-ID: <20220817112403.68144-4-aford173@gmail.com> (raw)
In-Reply-To: <20220817112403.68144-1-aford173@gmail.com>
The DDR is configured for LPDDR4 running at 1.6GHz which requires
the voltage on the PMIC to rise a bit or it will be running out of
spec.
Signed-off-by: Adam Ford <aford173@gmail.com>
diff --git a/board/beacon/imx8mn/spl.c b/board/beacon/imx8mn/spl.c
index 029f71bc99..9acd916180 100644
--- a/board/beacon/imx8mn/spl.c
+++ b/board/beacon/imx8mn/spl.c
@@ -74,6 +74,38 @@ static iomux_v3_cfg_t const pwm_pads[] = {
IMX8MN_PAD_GPIO1_IO01__PWM1_OUT | MUX_PAD_CTRL(PWM1_PAD_CTRL),
};
+static int power_init_board(void)
+{
+ struct udevice *dev;
+ int ret;
+
+ ret = pmic_get("pmic@4b", &dev);
+ if (ret == -ENODEV) {
+ puts("No pmic\n");
+ return 0;
+ }
+
+ if (ret != 0)
+ return ret;
+
+ /* decrease RESET key long push time from the default 10s to 10ms */
+ pmic_reg_write(dev, BD718XX_PWRONCONFIG1, 0x0);
+
+ /* unlock the PMIC regs */
+ pmic_reg_write(dev, BD718XX_REGLOCK, 0x1);
+
+ /* increase VDD_SOC to typical value 0.85v before first DRAM access */
+ pmic_reg_write(dev, BD718XX_BUCK1_VOLT_RUN, 0x0f);
+
+ /* increase VDD_DRAM to 0.975v for 3Ghz DDR */
+ pmic_reg_write(dev, BD718XX_1ST_NODVS_BUCK_VOLT, 0x83);
+
+ /* lock the PMIC regs */
+ pmic_reg_write(dev, BD718XX_REGLOCK, 0x11);
+
+ return 0;
+}
+
int board_early_init_f(void)
{
/* Claiming pwm pins prevents LCD flicker during startup*/
@@ -107,6 +139,9 @@ void board_init_f(ulong dummy)
enable_tzc380();
+ /* LPDDR4 at 1.6GHz requires a voltage adjustment on the PMIC */
+ power_init_board();
+
/* DDR initialization */
spl_dram_init();
--
2.34.1
prev parent reply other threads:[~2022-08-17 11:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-17 11:24 [PATCH 1/4] configs: imx8mn_beacon: Re-align memory to standard imx8mn settings Adam Ford
2022-08-17 11:24 ` [PATCH 2/4] regulator: bd718x7: Only bind children when PMIC_CHILDREN is enabled Adam Ford
2022-08-17 18:53 ` Simon Glass
2022-08-17 11:24 ` [PATCH 3/4] configs: imx8mn_beacon: Enable SPL_DM_PMIC_BD71837 Adam Ford
2022-08-17 11:24 ` Adam Ford [this message]
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=20220817112403.68144-4-aford173@gmail.com \
--to=aford173@gmail.com \
--cc=festevam@gmail.com \
--cc=jh80.chung@samsung.com \
--cc=sbabic@denx.de \
--cc=u-boot@lists.denx.de \
--cc=uboot-imx@nxp.com \
/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