Skip to content

Commit 8714f3f

Browse files
Adrian Negreanumbrossard
authored andcommitted
lpc4322 (gpio): implement gpio_set_board_power
1 parent ab98884 commit 8714f3f

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

source/hic_hal/nxp/lpc4322/DAP_config.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,6 @@ typedef unsigned int BOOL;
158158
// State of Reset Ouput Enable buffer
159159
extern bool gpio_reset_pin_is_input;
160160

161-
162-
163161
//**************************************************************************************************
164162
/**
165163
\defgroup DAP_Config_PortIO_gr CMSIS-DAP Hardware I/O Pin Access

source/hic_hal/nxp/lpc4322/IO_Config.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ COMPILER_ASSERT(DAPLINK_HIC_ID == DAPLINK_HIC_ID_LPC4322);
6767
#define PIN_ISPCTRL_IN_BIT 11
6868
#define PIN_ISPCTRL (1<<PIN_ISPCTRL_IN_BIT)
6969

70+
// Power Enable P3_1: GPIO5[8]
71+
#define PORT_POWER_EN 5
72+
#define PIN_POWER_EN_BIT 8
73+
#define PIN_POWER_EN (1<<PIN_POWER_EN_BIT)
74+
7075
#define X_SET(str) LPC_GPIO_PORT->SET[PORT_##str] = PIN_##str
7176
#define X_CLR(str) LPC_GPIO_PORT->CLR[PORT_##str] = PIN_##str
7277
#define X_DIR_OUT(str) LPC_GPIO_PORT->DIR[PORT_##str] |= (PIN_##str)

source/hic_hal/nxp/lpc4322/gpio.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ void gpio_init(void)
6161
scu_pinmux(2, 11, GPIO_NOPULL, FUNC0); /* P2_11 ISPCTRL: GPIO1[11] */
6262
scu_pinmux(2, 5, GPIO_PUP, FUNC4); /* P2_5 nRESET: GPIO5[5] */
6363
scu_pinmux(2, 6, GPIO_NOPULL, FUNC4); /* P2_6 nRESET_OE: GPIO5[6] */
64+
scu_pinmux(3, 1, GPIO_NOPULL, FUNC4); /* P3_1 POWER_EN: GPIO5[8] */
6465

6566
/* Configure: LED as output LOW (turned off)*/
6667
X_DIR_OUT(LED_CONNECTED);
@@ -82,6 +83,10 @@ void gpio_init(void)
8283
LPC_SCU->PINTSEL0 &= ~0xff;
8384
LPC_SCU->PINTSEL0 |= (PORT_nRESET << 5) | (PIN_nRESET_IN_BIT);
8485

86+
/* Configure: POWER_EN as output LOW */
87+
X_DIR_OUT(POWER_EN);
88+
X_CLR(POWER_EN);
89+
8590
#if (SWO_UART != 0)
8691
/* Configure: SWO as input */
8792
X_DIR_IN(SWO);
@@ -138,4 +143,9 @@ uint8_t gpio_get_reset_btn_fwrd(void)
138143

139144
void gpio_set_board_power(bool powerEnabled)
140145
{
146+
if (powerEnabled) {
147+
X_SET(POWER_EN);
148+
} else {
149+
X_CLR(POWER_EN);
150+
}
141151
}

0 commit comments

Comments
 (0)