Browse Source

stm32/boards: Ensure USB OTG power is off for NUCLEO_F767ZI.

And update the GPIO init for NUCLEO_H743ZI to consistently use the mphal
functions.
pull/3829/head
rolandvs 7 years ago
committed by Damien George
parent
commit
958fa74521
  1. 8
      ports/stm32/boards/NUCLEO_F767ZI/board_init.c
  2. 3
      ports/stm32/boards/NUCLEO_F767ZI/mpconfigboard.h
  3. 1
      ports/stm32/boards/NUCLEO_F767ZI/pins.csv
  4. 15
      ports/stm32/boards/NUCLEO_H743ZI/board_init.c

8
ports/stm32/boards/NUCLEO_F767ZI/board_init.c

@ -0,0 +1,8 @@
#include "py/mphal.h"
void NUCLEO_F767ZI_board_early_init(void) {
// Turn off the USB switch
#define USB_PowerSwitchOn pin_G6
mp_hal_pin_output(USB_PowerSwitchOn);
mp_hal_pin_low(USB_PowerSwitchOn);
}

3
ports/stm32/boards/NUCLEO_F767ZI/mpconfigboard.h

@ -13,6 +13,9 @@
#define MICROPY_HW_ENABLE_DAC (1)
#define MICROPY_HW_ENABLE_USB (1)
#define MICROPY_BOARD_EARLY_INIT NUCLEO_F767ZI_board_early_init
void NUCLEO_F767ZI_board_early_init(void);
// HSE is 25MHz
// VCOClock = HSE * PLLN / PLLM = 25 MHz * 432 / 25 = 432 MHz
// SYSCLK = VCOClock / PLLP = 432 MHz / 2 = 216 MHz

1
ports/stm32/boards/NUCLEO_F767ZI/pins.csv

@ -58,6 +58,7 @@ USB_VBUS,PA9
USB_ID,PA10
USB_DM,PA11
USB_DP,PA12
USB_POWER,PG6
VCP_TX,PD8
VCP_RX,PD9
UART2_TX,PD5

1 A0 PA3
58 USB_ID PA10
59 USB_DM PA11
60 USB_DP PA12
61 USB_POWER PG6
62 VCP_TX PD8
63 VCP_RX PD9
64 UART2_TX PD5

15
ports/stm32/boards/NUCLEO_H743ZI/board_init.c

@ -1,15 +1,8 @@
#include STM32_HAL_H
#include "py/mphal.h"
void NUCLEO_H743ZI_board_early_init(void) {
GPIO_InitTypeDef GPIO_InitStructure;
__HAL_RCC_GPIOG_CLK_ENABLE();
// Turn off the USB switch
GPIO_InitStructure.Pin = GPIO_PIN_6;
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStructure.Pull = GPIO_PULLDOWN;
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOG, &GPIO_InitStructure);
HAL_GPIO_WritePin(GPIOG, GPIO_PIN_6, GPIO_PIN_RESET);
#define USB_PowerSwitchOn pin_G6
mp_hal_pin_output(USB_PowerSwitchOn);
mp_hal_pin_low(USB_PowerSwitchOn);
}

Loading…
Cancel
Save