Infineon: Add cyw20829 platform, shared slot feature, json memory map, psoc6 xip
Based in 1.8.0 release of MCUBoot library
This commit adds CYW20829 Infineon platform support with following capabilities:
1. Overwrite and swap upgrade mode support
2. Multi-image with up to 4 images
3. Hardware security counter is supported for CYW20829 platform
Add XIP support for PSOC6 platform - place BOOT slot in external memory and execute it in place using SMIF in XIP mode
and some new features for Infineon devices.
1. Shared upgrade slot feature - use one shared area for upgrade slots of multiple images
2. Memory map defined using JSON file - define memory regions for bootloader and user app in conventional way using JSON file
diff --git a/boot/zephyr/serial_adapter.c b/boot/zephyr/serial_adapter.c
index 8297522..18fab9b 100644
--- a/boot/zephyr/serial_adapter.c
+++ b/boot/zephyr/serial_adapter.c
@@ -26,7 +26,7 @@
#error Zephyr UART console must been disabled if serial_adapter module is used.
#endif
-MCUBOOT_LOG_MODULE_REGISTER(serial_adapter);
+BOOT_LOG_MODULE_REGISTER(serial_adapter);
/** @brief Console input representation
*
@@ -192,27 +192,28 @@
boot_uart_fifo_init(void)
{
#ifdef CONFIG_BOOT_SERIAL_UART
- uart_dev = device_get_binding(CONFIG_RECOVERY_UART_DEV_NAME);
+ uart_dev = DEVICE_DT_GET(DT_CHOSEN(zephyr_console));
#elif CONFIG_BOOT_SERIAL_CDC_ACM
- uart_dev = device_get_binding(CONFIG_USB_CDC_ACM_DEVICE_NAME "_0");
- if (uart_dev) {
- int rc;
- rc = usb_enable(NULL);
- if (rc) {
- return (-1);
- }
- }
+ uart_dev = DEVICE_DT_GET_ONE(zephyr_cdc_acm_uart);
#endif
- uint8_t c;
- if (!uart_dev) {
+ if (!device_is_ready(uart_dev)) {
return (-1);
}
+#if CONFIG_BOOT_SERIAL_CDC_ACM
+ int rc = usb_enable(NULL);
+ if (rc) {
+ return (-1);
+ }
+#endif
+
uart_irq_callback_set(uart_dev, boot_uart_fifo_callback);
/* Drain the fifo */
if (uart_irq_rx_ready(uart_dev)) {
+ uint8_t c;
+
while (uart_fifo_read(uart_dev, &c, 1)) {
;
}
@@ -222,11 +223,5 @@
uart_irq_rx_enable(uart_dev);
- /* Enable all interrupts unconditionally. Note that this is due
- * to Zephyr issue #8393. This should be removed once the
- * issue is fixed in upstream Zephyr.
- */
- irq_unlock(0);
-
return 0;
}