Commit c9f6d63a authored by Robin Gong's avatar Robin Gong

ENGR00233366-4 WDOG LDO_BYPASS: fix wdog2 to reset external pmic in ldo bypass

On Sabresd board design, the WDOG_B output to reset external pmic source from
GPIO_2 pad which can be configured as WDOG2_WDOG_B, so if in ldo bypass mode,
we should use WDOG2 reset signal to reset pmic, not WDOG1. Also, configure the
related pins.
Signed-off-by: default avatarRobin Gong <b38343@freescale.com>
parent a538dc29
......@@ -263,8 +263,8 @@ static iomux_v3_cfg_t mx6dl_sabresd_pads[] = {
/* ACCL_INT_INT */
MX6DL_PAD_SD1_CMD__GPIO_1_18,
/* USR_DEF_GRN_LED */
MX6DL_PAD_GPIO_1__GPIO_1_1,
/*WDOG_B to reset pmic*/
MX6DL_PAD_GPIO_1__WDOG2_WDOG_B,
/* USR_DEF_RED_LED */
MX6DL_PAD_GPIO_2__GPIO_1_2,
};
......
......@@ -30,7 +30,7 @@ static iomux_v3_cfg_t mx6q_sabresd_pads[] = {
/* CAN1 */
MX6Q_PAD_KEY_ROW2__HDMI_TX_CEC_LINE,
/* MX6Q_PAD_KEY_COL2__CAN1_TXCAN, */
MX6Q_PAD_GPIO_1__GPIO_1_1, /* user defiend green led */
MX6Q_PAD_GPIO_1__WDOG2_WDOG_B, /*WDOG_B to reset pmic*/
MX6Q_PAD_GPIO_2__GPIO_1_2, /* user defined red led */
MX6Q_PAD_GPIO_7__GPIO_1_7, /* NERR */
......
......@@ -57,9 +57,13 @@ void arch_reset(char mode, const char *cmd)
#ifdef CONFIG_ARCH_MX6
/* wait for reset to assert... */
if (enable_ldo_mode == LDO_MODE_BYPASSED)
wcr_enable = 0x14; /*reset system by extern pmic*/
else
if (enable_ldo_mode == LDO_MODE_BYPASSED) {
/*On Sabresd board use WDOG2 to reset external PMIC, so here do
* more WDOG2 reset.*/
wcr_enable = 0x14;
__raw_write(wcr_enable, IO_ADDRESS(MX6Q_WDOG2_BASE_ADDR));
__raw_writew(wcr_enable, IO_ADDRESS(MX6Q_WDOG2_BASE_ADDR));
} else
wcr_enable = (1 << 2);
__raw_writew(wcr_enable, wdog_base);
/* errata TKT039676, SRS bit may be missed when
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment