update metro m7
This commit is contained in:
parent
3129bf90a6
commit
1a810e53ec
4 changed files with 53 additions and 51 deletions
|
|
@ -61,7 +61,7 @@ void board_init(void)
|
|||
SNVS->LPCR |= SNVS_LPCR_GPR_Z_DIS_MASK;
|
||||
|
||||
#ifdef LED_PINMUX
|
||||
IOMUXC_SetPinMux(LED_PINMUX, 0U);
|
||||
IOMUXC_SetPinMux(LED_PINMUX, 0);
|
||||
IOMUXC_SetPinConfig(LED_PINMUX, 0x10B0U);
|
||||
|
||||
gpio_pin_config_t led_config = { kGPIO_DigitalOutput, 0, kGPIO_NoIntmode };
|
||||
|
|
@ -69,15 +69,15 @@ void board_init(void)
|
|||
#endif
|
||||
|
||||
#if NEOPIXEL_NUMBER
|
||||
IOMUXC_SetPinMux( NEOPIXEL_PINMUX, 0U);
|
||||
IOMUXC_SetPinConfig( NEOPIXEL_PINMUX, 0x10B0U);
|
||||
IOMUXC_SetPinMux(NEOPIXEL_PINMUX, 0);
|
||||
IOMUXC_SetPinConfig(NEOPIXEL_PINMUX, 0x10B0U);
|
||||
|
||||
gpio_pin_config_t neopixel_config = { kGPIO_DigitalOutput, 0, kGPIO_NoIntmode };
|
||||
GPIO_PinInit(NEOPIXEL_PORT, NEOPIXEL_PIN, &neopixel_config);
|
||||
#endif
|
||||
|
||||
#ifdef BUTTON_PIN
|
||||
IOMUXC_SetPinMux(BUTTON_PINMUX, 0U);
|
||||
IOMUXC_SetPinMux(BUTTON_PINMUX, 0);
|
||||
gpio_pin_config_t button_config = { kGPIO_DigitalInput, 0, kGPIO_IntRisingEdge, };
|
||||
GPIO_PinInit(BUTTON_PORT, BUTTON_PIN, &button_config);
|
||||
#endif
|
||||
|
|
@ -87,6 +87,14 @@ void board_init(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
void board_teardown(void)
|
||||
{
|
||||
// no GPIO deinit for GPIO: LED, Neopixel, Button
|
||||
#if TUF2_LOG
|
||||
LPUART_Deinit(UART_DEV);
|
||||
#endif
|
||||
}
|
||||
|
||||
void board_usb_init(void)
|
||||
{
|
||||
// Clock
|
||||
|
|
@ -123,7 +131,7 @@ void board_dfu_init(void)
|
|||
_dfu_mode = true;
|
||||
|
||||
#ifdef LED_PWM_PINMUX
|
||||
IOMUXC_SetPinMux(LED_PWM_PINMUX, 0U);
|
||||
IOMUXC_SetPinMux(LED_PWM_PINMUX, 0);
|
||||
IOMUXC_SetPinConfig(LED_PWM_PINMUX, 0x10B0U);
|
||||
|
||||
CLOCK_SetDiv(kCLOCK_AhbDiv, 0x2); /* Set AHB PODF to 2, divide by 3 */
|
||||
|
|
@ -348,10 +356,11 @@ void board_uart_init(uint32_t baud_rate)
|
|||
{
|
||||
#ifdef UART_DEV
|
||||
// Enable UART when debug log is on
|
||||
IOMUXC_SetPinMux(UART_TX_PINMUX, 0U);
|
||||
IOMUXC_SetPinMux(UART_RX_PINMUX, 0U);
|
||||
IOMUXC_SetPinConfig(UART_TX_PINMUX, 0x10B0u);
|
||||
IOMUXC_SetPinMux(UART_RX_PINMUX, 0);
|
||||
IOMUXC_SetPinMux(UART_TX_PINMUX, 0);
|
||||
|
||||
IOMUXC_SetPinConfig(UART_RX_PINMUX, 0x10B0u);
|
||||
IOMUXC_SetPinConfig(UART_TX_PINMUX, 0x10B0u);
|
||||
|
||||
lpuart_config_t uart_config;
|
||||
LPUART_GetDefaultConfig(&uart_config);
|
||||
|
|
@ -376,22 +385,9 @@ void board_uart_init(uint32_t baud_rate)
|
|||
int board_uart_write(void const * buf, int len)
|
||||
{
|
||||
#ifdef UART_DEV
|
||||
uint8_t const* buf8 = (uint8_t const*) buf;
|
||||
int count = 0;
|
||||
|
||||
while(count < len)
|
||||
{
|
||||
if (LPUART_GetStatusFlags(UART_DEV) & kLPUART_TxDataRegEmptyFlag)
|
||||
{
|
||||
LPUART_WriteByte(UART_DEV, *buf8++);
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
LPUART_WriteBlocking(UART_DEV, (uint8_t const*) buf, (size_t) len);
|
||||
return len;
|
||||
|
||||
#else
|
||||
|
||||
(void) buf; (void) len;
|
||||
return 0;
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -35,25 +35,25 @@
|
|||
// LED
|
||||
//--------------------------------------------------------------------+
|
||||
|
||||
#define LED_PINMUX IOMUXC_GPIO_03_GPIOMUX_IO03
|
||||
#define LED_PORT GPIO1
|
||||
#define LED_PIN 3
|
||||
#define LED_STATE_ON 1
|
||||
#define LED_PINMUX IOMUXC_GPIO_03_GPIOMUX_IO03
|
||||
#define LED_PORT GPIO1
|
||||
#define LED_PIN 3
|
||||
#define LED_STATE_ON 1
|
||||
|
||||
#define LED_PWM_PINMUX IOMUXC_GPIO_03_FLEXPWM1_PWM1_B
|
||||
#define LED_PWM_BASE PWM1
|
||||
#define LED_PWM_MODULE kPWM_Module_1
|
||||
#define LED_PWM_CHANNEL kPWM_PwmB
|
||||
#define LED_PWM_PINMUX IOMUXC_GPIO_03_FLEXPWM1_PWM1_B
|
||||
#define LED_PWM_BASE PWM1
|
||||
#define LED_PWM_MODULE kPWM_Module_1
|
||||
#define LED_PWM_CHANNEL kPWM_PwmB
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// Neopixel
|
||||
//--------------------------------------------------------------------+
|
||||
|
||||
// Number of neopixels
|
||||
#define NEOPIXEL_NUMBER 1
|
||||
#define NEOPIXEL_PINMUX IOMUXC_GPIO_00_GPIOMUX_IO00
|
||||
#define NEOPIXEL_PORT GPIO1
|
||||
#define NEOPIXEL_PIN 0
|
||||
#define NEOPIXEL_NUMBER 1
|
||||
#define NEOPIXEL_PINMUX IOMUXC_GPIO_00_GPIOMUX_IO00
|
||||
#define NEOPIXEL_PORT GPIO1
|
||||
#define NEOPIXEL_PIN 0
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// Button
|
||||
|
|
@ -69,34 +69,34 @@
|
|||
// USB UF2
|
||||
//--------------------------------------------------------------------+
|
||||
|
||||
#define USB_VID 0x239A
|
||||
#define USB_PID 0x00E1
|
||||
#define USB_MANUFACTURER "Adafruit"
|
||||
#define USB_PRODUCT "Metro M7 iMX RT1011"
|
||||
#define USB_VID 0x239A
|
||||
#define USB_PID 0x00E1
|
||||
#define USB_MANUFACTURER "Adafruit"
|
||||
#define USB_PRODUCT "Metro M7 iMX RT1011"
|
||||
|
||||
#define UF2_PRODUCT_NAME USB_MANUFACTURER " " USB_PRODUCT
|
||||
#define UF2_BOARD_ID "MIMXRT1011-Metro-revA"
|
||||
#define UF2_VOLUME_LABEL "METROM7BOOT"
|
||||
#define UF2_INDEX_URL "https://www.adafruit.com/product/4950"
|
||||
#define UF2_PRODUCT_NAME USB_MANUFACTURER " " USB_PRODUCT
|
||||
#define UF2_BOARD_ID "MIMXRT1011-Metro-revA"
|
||||
#define UF2_VOLUME_LABEL "METROM7BOOT"
|
||||
#define UF2_INDEX_URL "https://www.adafruit.com/product/4950"
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// UART
|
||||
//--------------------------------------------------------------------+
|
||||
|
||||
#define UART_DEV LPUART1
|
||||
#define UART_RX_PINMUX IOMUXC_GPIO_09_LPUART1_RXD
|
||||
#define UART_TX_PINMUX IOMUXC_GPIO_10_LPUART1_TXD
|
||||
#define UART_DEV LPUART1
|
||||
#define UART_RX_PINMUX IOMUXC_GPIO_09_LPUART1_RXD
|
||||
#define UART_TX_PINMUX IOMUXC_GPIO_10_LPUART1_TXD
|
||||
|
||||
//--------------------------------------------------------------------+
|
||||
// ESP32 Co-Processors
|
||||
//--------------------------------------------------------------------+
|
||||
#define ESP32_GPIO0_PINMUX IOMUXC_GPIO_SD_05_GPIO2_IO05
|
||||
#define ESP32_GPIO0_PORT GPIO2
|
||||
#define ESP32_GPIO0_PIN 5
|
||||
#define ESP32_GPIO0_PINMUX IOMUXC_GPIO_SD_05_GPIO2_IO05
|
||||
#define ESP32_GPIO0_PORT GPIO2
|
||||
#define ESP32_GPIO0_PIN 5
|
||||
|
||||
#define ESP32_RESET_PINMUX IOMUXC_GPIO_AD_07_GPIOMUX_IO21
|
||||
#define ESP32_RESET_PORT GPIO1
|
||||
#define ESP32_RESET_PIN 21
|
||||
#define ESP32_RESET_PINMUX IOMUXC_GPIO_AD_07_GPIOMUX_IO21
|
||||
#define ESP32_RESET_PORT GPIO1
|
||||
#define ESP32_RESET_PIN 21
|
||||
|
||||
|
||||
#endif /* BOARD_H_ */
|
||||
|
|
|
|||
|
|
@ -78,8 +78,13 @@
|
|||
#define BOARD_UART_BAUDRATE 115200
|
||||
|
||||
// Init basic peripherals such as clock, led indicator control (gpio, pwm etc ..)
|
||||
// This API does not init usb which is only init if DFU is entered
|
||||
void board_init(void);
|
||||
|
||||
// opposite to board_init(), reset all board peripherals. Is called before jumping to application
|
||||
// TODO force this API in the future
|
||||
void board_teardown(void) __attribute__ ((weak));
|
||||
|
||||
// Reset board, not return
|
||||
void board_reset(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -73,6 +73,7 @@ int main(void)
|
|||
if ( !check_dfu_mode() )
|
||||
{
|
||||
TU_LOG1("Jump to application\r\n");
|
||||
if (board_teardown) board_teardown();
|
||||
board_app_jump();
|
||||
while(1) {}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue