|
| 1 | +/* |
| 2 | + * This file is part of the MicroPython project, http://micropython.org/ |
| 3 | + * The MIT License (MIT) |
| 4 | + * Copyright (c) 2023 Arduino SA |
| 5 | + */ |
| 6 | + |
| 7 | +// MCU config |
| 8 | +#define MICROPY_HW_BOARD_NAME "PORTENTA C33" |
| 9 | +#define MICROPY_HW_MCU_NAME "RA6M5" |
| 10 | +#define MICROPY_HW_MCU_SYSCLK 200000000 |
| 11 | +#define MICROPY_HW_MCU_PCLK 100000000 |
| 12 | + |
| 13 | +// module config |
| 14 | +#define MICROPY_EMIT_THUMB (1) |
| 15 | +#define MICROPY_EMIT_INLINE_THUMB (1) |
| 16 | +#define MICROPY_PY_BUILTINS_COMPLEX (1) |
| 17 | +#define MICROPY_PY_GENERATOR_PEND_THROW (1) |
| 18 | +#define MICROPY_PY_MATH (1) |
| 19 | +#define MICROPY_PY_UHEAPQ (1) |
| 20 | +#define MICROPY_PY_UTIMEQ (1) |
| 21 | +#define MICROPY_PY_THREAD (0) // disable ARM_THUMB_FP using vldr due to RA has single float only |
| 22 | +#define MICROPY_PY_NETWORK (1) |
| 23 | + |
| 24 | +// peripheral config |
| 25 | +#define MICROPY_HW_ENABLE_RNG (1) |
| 26 | +#define MICROPY_HW_ENABLE_RTC (1) |
| 27 | +#define MICROPY_HW_RTC_SOURCE (1) |
| 28 | +#define MICROPY_HW_ENABLE_ADC (1) |
| 29 | +#define MICROPY_HW_HAS_FLASH (1) |
| 30 | +#define MICROPY_HW_ENABLE_USBDEV (1) |
| 31 | +#define MICROPY_HW_ENABLE_UART_REPL (0) |
| 32 | +#define MICROPY_HW_ENABLE_INTERNAL_FLASH_STORAGE (1) |
| 33 | + |
| 34 | +#define MICROPY_BOARD_STARTUP PORTENTA_C33_board_startup |
| 35 | +void PORTENTA_C33_board_startup(void); |
| 36 | + |
| 37 | +#define MICROPY_BOARD_ENTER_BOOTLOADER(nargs, args) PORTENTA_C33_board_enter_bootloader() |
| 38 | +void PORTENTA_C33_board_enter_bootloader(void); |
| 39 | + |
| 40 | +// board config |
| 41 | +// USB |
| 42 | +#define MICROPY_HW_USB_VID (0x2341) |
| 43 | +#define MICROPY_HW_USB_PID (0x0468) |
| 44 | + |
| 45 | +// UART |
| 46 | +#define MICROPY_HW_UART9_TX (pin_P602) |
| 47 | +#define MICROPY_HW_UART9_RX (pin_P110) |
| 48 | +#define MICROPY_HW_UART9_CTS (pin_P604) |
| 49 | +#define MICROPY_HW_UART9_RTS (pin_P603) |
| 50 | + |
| 51 | +#define MICROPY_HW_UART8_TX (pin_PA00) |
| 52 | +#define MICROPY_HW_UART8_RX (pin_P607) |
| 53 | +#define MICROPY_HW_UART8_CTS (pin_P801) |
| 54 | +#define MICROPY_HW_UART8_RTS (pin_P606) |
| 55 | + |
| 56 | +#if MICROPY_HW_ENABLE_UART_REPL |
| 57 | +#define MICROPY_HW_UART_REPL (HW_UART_9) |
| 58 | +#define MICROPY_HW_UART_REPL_BAUD (115200) |
| 59 | +#endif |
| 60 | + |
| 61 | +// I2C |
| 62 | +#define MICROPY_HW_I2C2_SCL (pin_P407) |
| 63 | +#define MICROPY_HW_I2C2_SDA (pin_P408) |
| 64 | + |
| 65 | +// SPI |
| 66 | +#define MICROPY_HW_SPI1_SSL (pin_P104) |
| 67 | +#define MICROPY_HW_SPI1_RSPCK (pin_P102) |
| 68 | +#define MICROPY_HW_SPI1_MISO (pin_P100) |
| 69 | +#define MICROPY_HW_SPI1_MOSI (pin_P101) |
| 70 | + |
| 71 | +// DAC |
| 72 | +#define MICROPY_HW_DAC0 (pin_P014) |
| 73 | +#define MICROPY_HW_DAC1 (pin_P015) |
| 74 | + |
| 75 | +// PWM |
| 76 | +#define MICROPY_HW_PWM_1A (pin_P105) |
| 77 | +#define MICROPY_HW_PWM_8B (pin_P106) |
| 78 | +#define MICROPY_HW_PWM_3A (pin_P111) |
| 79 | +#define MICROPY_HW_PWM_7B (pin_P303) |
| 80 | +#define MICROPY_HW_PWM_6B (pin_P401) |
| 81 | +// #define MICROPY_HW_PWM (pin_P210) // AGT |
| 82 | +#define MICROPY_HW_PWM_6A (pin_P601) |
| 83 | + |
| 84 | +// LEDs |
| 85 | +#define MICROPY_HW_LED1 (pin_P107) |
| 86 | +#define MICROPY_HW_LED2 (pin_P400) |
| 87 | +#define MICROPY_HW_LED3 (pin_P800) |
| 88 | +#define MICROPY_HW_LED_ON(pin) mp_hal_pin_low(pin) |
| 89 | +#define MICROPY_HW_LED_OFF(pin) mp_hal_pin_high(pin) |
| 90 | +#define MICROPY_HW_LED_TOGGLE(pin) mp_hal_pin_toggle(pin) |
| 91 | + |
| 92 | +// Bluetooth config. |
| 93 | +#define MICROPY_HW_BLE_UART_ID (8) |
| 94 | +#define MICROPY_HW_BLE_UART_RTS (MICROPY_HW_UART8_RTS) |
| 95 | +#define MICROPY_HW_BLE_UART_BAUDRATE (115200) |
| 96 | +#define MICROPY_HW_BLE_UART_BAUDRATE_SECONDARY (921600) |
| 97 | + |
| 98 | +// WiFi config. |
| 99 | +#define MICROPY_HW_WIFI_SPI_ID (1) |
| 100 | +#define MICROPY_HW_WIFI_SPI_CS (pin_P104) |
| 101 | +#define MICROPY_HW_WIFI_SPI_BAUDRATE (30 * 1000 * 1000) |
| 102 | +#define MICROPY_HW_WIFI_DATAREADY (pin_P803) |
| 103 | +#define MICROPY_HW_WIFI_HANDSHAKE (pin_P806) |
| 104 | + |
| 105 | +// ESP hosted control pins |
| 106 | +#define MICROPY_HW_ESP_HOSTED_RESET (pin_P804) |
| 107 | +#define MICROPY_HW_ESP_HOSTED_GPIO0 (pin_P803) |
0 commit comments