diff --git a/chip/npcx/gpio.c b/chip/npcx/gpio.c index 7931d966d8..2e9eb62cd4 100644 --- a/chip/npcx/gpio.c +++ b/chip/npcx/gpio.c @@ -265,19 +265,6 @@ const struct gpio_alt_map gpio_alt_table[] = { { NPCX_GPIO(4, 0), NPCX_ALT(3, TA1_TACH1_SL1)},/* TA1_TACH1 */ { NPCX_GPIO(A, 4), NPCX_ALT(3, TB1_TACH2_SL1)},/* TB1_TACH2 */ #endif - /* JTAG Module */ -#if NPCX_JTAG_MODULE2 - { NPCX_GPIO(D, 5), NPCX_ALT(5, NJEN1_EN) }, /* TCLK */ - { NPCX_GPIO(E, 2), NPCX_ALT(5, NJEN1_EN) }, /* TDI */ - { NPCX_GPIO(D, 4), NPCX_ALT(5, NJEN1_EN) }, /* TDO */ - { NPCX_GPIO(E, 5), NPCX_ALT(5, NJEN1_EN) }, /* TMS */ -#else - { NPCX_GPIO(2, 1), NPCX_ALT(5, NJEN0_EN) }, /* TCLK */ - { NPCX_GPIO(1, 7), NPCX_ALT(5, NJEN0_EN) }, /* TDI */ - { NPCX_GPIO(1, 6), NPCX_ALT(5, NJEN0_EN) }, /* TDO */ - { NPCX_GPIO(2, 0), NPCX_ALT(5, NJEN0_EN) }, /* TMS */ -#endif - /* 01 for PWRGD_OUT*/ }; /*****************************************************************************/ diff --git a/chip/npcx/jtag.c b/chip/npcx/jtag.c index aeef35e9c8..692c278a8f 100644 --- a/chip/npcx/jtag.c +++ b/chip/npcx/jtag.c @@ -15,4 +15,17 @@ void jtag_pre_init(void) NPCX_DBGCTRL = 0x04; /* Enable automatic freeze mode */ CLEAR_BIT(NPCX_DBGFRZEN3, NPCX_DBGFRZEN3_GLBL_FRZ_DIS); + + /* + * Enable JTAG functionality by SW without pulling down strap-pin + * nJEN0 or nJEN1 during ec POWERON or VCCRST reset occurs. + * Please notice it will change pinmux to JTAG directly. + */ +#ifdef NPCX_ENABLE_JTAG +#if NPCX_JTAG_MODULE2 + CLEAR_BIT(NPCX_DEVALT(ALT_GROUP_5), NPCX_DEVALT5_NJEN1_EN); +#else + CLEAR_BIT(NPCX_DEVALT(ALT_GROUP_5), NPCX_DEVALT5_NJEN0_EN); +#endif +#endif }