tools: kwboot: Correctly set configuration of UART for BootROM messages
authorPali Rohár <pali@kernel.org>
Mon, 25 Oct 2021 13:12:58 +0000 (15:12 +0200)
committerStefan Roese <sr@denx.de>
Wed, 3 Nov 2021 05:45:27 +0000 (06:45 +0100)
For kwbimage v1, tell BootROM to send BootROM messages to UART port number
0 (used also for UART booting) with default baudrate (which should be
115200) and do not touch UART MPP configuration.

Signed-off-by: Pali Rohár <pali@kernel.org>
Reviewed-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
tools/kwboot.c

index 1131c2e..6228838 100644 (file)
@@ -1507,6 +1507,17 @@ kwboot_img_patch(void *img, size_t *size, int baudrate)
        }
 
        if (!is_secure) {
+               if (image_ver == 1) {
+                       /*
+                        * Tell BootROM to send BootROM messages to UART port
+                        * number 0 (used also for UART booting) with default
+                        * baudrate (which should be 115200) and do not touch
+                        * UART MPP configuration.
+                        */
+                       hdr->options &= ~0x1F;
+                       hdr->options |= MAIN_HDR_V1_OPT_BAUD_DEFAULT;
+                       hdr->options |= 0 << 3;
+               }
                if (image_ver == 0)
                        ((struct main_hdr_v0 *)img)->nandeccmode = IBR_HDR_ECC_DISABLED;
                hdr->nandpagesize = 0;