OSD32MP1-RED UART communication

Forums Devices OSD32MP15x OSD32MP1-RED UART communication

Viewing 14 reply threads
  • Author
    Posts
    • #12145
      Gil Hershmangil_he
      Participant

        hello,
        We want to get the UART working when the board boots up.
        But so far, the board gets unresponsive or doesn’t loads Linux.

        Our setup is as follows:

        • We give power to the OSD32MP1-RED board by using a power adapter connected to the USB-C port on the board.
        • Our PC runs Linux and Windows 10.
        • We used STLab’s USB-to-Serial adapter to connect to the OSF32MP1-RED board
        ==> We got the heartbeat LED blinking on the board, but we only see garbage on the UART. We tried different speeds but got the same results.

        • Next we used a Raspberry Pi 3B+ instead of the PC, and connected straight cables from the UART pins on the raspberry to the UART pins on the OSD32MP1-RED, as explained in https://octavosystems.com/app_notes/osd32mp1-red-getting-started/
        ==> In this case we get UART output, but the boot stops on u-boot (heartbeat LED not blinking).
        Also, we got no keyboard response (see below).

        CPU: STM32MP157C?? Rev.?
        Model: Octavo OSD32MP1-RED board
        Board: stm32mp1 in trusted mode (octavo,osd32mp1-red)
        DRAM: 512 MiB
        Clocks:
        – MPU : 650 MHz
        – MCU : 187.500 MHz
        – AXI : 266.500 MHz
        – PER : 24 MHz
        – DDR : 533 MHz
        board_check_usb_power: Can’t get adc device(-19)
        NAND: 0 MiB
        MMC: STM32 SDMMC2: 0, STM32 SDMMC2: 1
        Loading Environment from EXT4… OK
        In: serial
        Out: serial
        Err: serial
        invalid MAC address in OTP 00:00:00:00:00:00Net:
        Error: ethernet@5800a000 address not set.
        eth-1: ethernet@5800a000
        Hit any key to stop autoboot: 0
        STM32MP> ??J%NOTICE: CPU: STM32MP157C?? Rev.?
        NOTICE: Model: Octavo OSD32MP1-RED board
        INFO: Reset reason (0x15):
        INFO: Power-on Reset (rst_por)
        INFO: Using SDMMC
        INFO: Instance 1
        INFO: Boot used partition fsbl1
        WARNING: VDD unknownNOTICE: BL2: v2.0-r1.5(debug):v2.0-stm32mp-r1.5
        NOTICE: BL2: Built : 03:23:08, Feb 16 2021
        INFO: BL2: Doing platform setup
        INFO: PMIC version = 0x21
        INFO: RAM: DDR3-DDR3L 16bits 533000Khz
        INFO: Memory size = 0x20000000 (512 MB)
        INFO: BL2 runs SP_MIN setup
        INFO: BL2: Loading image id 4
        INFO: Loading image id=4 at address 0x2fff0000
        INFO: Image id=4 loaded: 0x2fff0000 – 0x30000000
        INFO: BL2: Loading image id 5
        INFO: Loading image id=5 at address 0xc0100000
        INFO: STM32 Image size : 807412
        WARNING: Skip signature check (header option)
        INFO: Image id=5 loaded: 0xc0100000 – 0xc01c51f4
        INFO: read version 0 current version 0
        NOTICE: BL2: Booting BL32
        INFO: Entry point address = 0x2fff0000
        INFO: SPSR = 0x1d3
        INFO: PMIC version = 0x21
        NOTICE: SP_MIN: v2.0-r1.5(debug):v2.0-stm32mp-r1.5
        NOTICE: SP_MIN: Built : 03:23:08, Feb 16 2021
        INFO: ARM GICv2 driver initialized
        INFO: stm32mp HSI (18): Secure only
        INFO: stm32mp HSE (20): Secure only
        INFO: stm32mp PLL2 (27): Secure only
        INFO: stm32mp PLL2_R (30): Secure only
        INFO: SP_MIN: Initializing runtime services
        INFO: SP_MIN: Preparing exit to normal world

        U-Boot 2018.11-stm32mp-r3-dirty (Feb 16 2021 – 04:28:39 +0000)

        Thank you
        Gil

      • #12155
        Neeraj Dantu
        Moderator

          Gil,

          Can you double check from https://octavosystems.com/app_notes/osd32mp1-red-getting-started/#UART%20Connection:
          1. hardware connections
          2. UART speeds(115200 8N1)

          Are you using the default image from OSD32MP1-RED page?

          Best,
          Neeraj

        • #12156
          Gil Hershmangil_he
          Participant

            Hi Neeraj,

            We did use this, https://octavosystems.com/app_notes/osd32mp1-red-getting-started/#UART%20Connection, as a guide.
            We followed the guidelines regarding HW connections and UART speeds.

            We used the two images that were mentioned in the above guide:
            Octavo Systems Debian Linux Distribution | Version: 1.2 | February 22, 2021
            OpenSTLinux Starter Image Distribution | Version: 1.2 | February 19, 2021

            Same results with both.

            thanks
            Gil

          • #12190
            Neeraj Dantu
            Moderator

              Gil,

              Since you are clearly seeing output in case of using the Raspberry Pi, I think the issue is the UART-USB adapter. Please try to independently verify the UART adapter or try a new one.

              You can also verify boot of the board 1 or 2 additional ways to verify that the board has nothing wrong going on(Power the board without a UART connection):

              1. LED D8 will turn ON as part of kernel initialization of the WiFi module. This indicates good kernel load and boot.
              2. If you connect a USB-C Cable from the board’s USB-C port to a host computer, you should see it show up as an ethernet connection. You can use this connection to ssh into the board(see https://octavosystems.com/app_notes/osd32mp1-red-getting-started/#USB%20Connection). Can you try to do this?

              Best,
              Neeraj

            • #12191
              Gil Hershmangil_he
              Participant

                Hi Neeraj,

                We see output on the RPi; but we only see u-boot prints. There isn’t a single print from the Linux kernel, i.e., the Linux kernel doesn’t load. Also, there is no keyboard input.

                We did use two different UART-USB adapters. Both of them work when connecting them from the PC to the RPi’s UART.

                We are using a USB-C cable currently and it seems to work fine so far.
                But we only get output when the Linux starts loading.
                We would like to see u-boot as well. And enter to the u-boot CLI.

                thanks
                Gil

              • #12202
                Neeraj Dantu
                Moderator

                  Gil,

                  To summarize, does the following describe the board behavior you are observing?

                  1. You can see bootloader(tf-a/u-boot) console logs when you connect UART4 to RPi
                  2. You can see kernel logs when you use a USB-C cable presumably through ssh?

                  Can you post a picture of the ‘garbage’ output on UART?

                  Best,
                  Neeraj

                • #12213
                  Gil Hershmangil_he
                  Participant

                    Hi Neeraj,

                    Q1:
                    YES!!!, The output is as follows:

                    CPU: STM32MP157C?? Rev.?
                    Model: Octavo OSD32MP1-RED board
                    Board: stm32mp1 in trusted mode (octavo,osd32mp1-red)
                    DRAM: 512 MiB
                    Clocks:
                    – MPU : 650 MHz
                    – MCU : 187.500 MHz
                    – AXI : 266.500 MHz
                    – PER : 24 MHz
                    – DDR : 533 MHz
                    board_check_usb_power: Can’t get adc device(-19)
                    NAND: 0 MiB
                    MMC: STM32 SDMMC2: 0, STM32 SDMMC2: 1
                    Loading Environment from EXT4… OK
                    In: serial
                    Out: serial
                    Err: serial
                    invalid MAC address in OTP 00:00:00:00:00:00Net:
                    Error: ethernet@5800a000 address not set.
                    eth-1: ethernet@5800a000
                    Hit any key to stop autoboot: 0
                    STM32MP> ??J%NOTICE: CPU: STM32MP157C?? Rev.?
                    NOTICE: Model: Octavo OSD32MP1-RED board
                    INFO: Reset reason (0x15):
                    INFO: Power-on Reset (rst_por)
                    INFO: Using SDMMC
                    INFO: Instance 1
                    INFO: Boot used partition fsbl1
                    WARNING: VDD unknownNOTICE: BL2: v2.0-r1.5(debug):v2.0-stm32mp-r1.5
                    NOTICE: BL2: Built : 03:23:08, Feb 16 2021
                    INFO: BL2: Doing platform setup
                    INFO: PMIC version = 0x21
                    INFO: RAM: DDR3-DDR3L 16bits 533000Khz
                    INFO: Memory size = 0x20000000 (512 MB)
                    INFO: BL2 runs SP_MIN setup
                    INFO: BL2: Loading image id 4
                    INFO: Loading image id=4 at address 0x2fff0000
                    INFO: Image id=4 loaded: 0x2fff0000 – 0x30000000
                    INFO: BL2: Loading image id 5
                    INFO: Loading image id=5 at address 0xc0100000
                    INFO: STM32 Image size : 807412
                    WARNING: Skip signature check (header option)
                    INFO: Image id=5 loaded: 0xc0100000 – 0xc01c51f4
                    INFO: read version 0 current version 0
                    NOTICE: BL2: Booting BL32
                    INFO: Entry point address = 0x2fff0000
                    INFO: SPSR = 0x1d3
                    INFO: PMIC version = 0x21
                    NOTICE: SP_MIN: v2.0-r1.5(debug):v2.0-stm32mp-r1.5
                    NOTICE: SP_MIN: Built : 03:23:08, Feb 16 2021
                    INFO: ARM GICv2 driver initialized
                    INFO: stm32mp HSI (18): Secure only
                    INFO: stm32mp HSE (20): Secure only
                    INFO: stm32mp PLL2 (27): Secure only
                    INFO: stm32mp PLL2_R (30): Secure only
                    INFO: SP_MIN: Initializing runtime services
                    INFO: SP_MIN: Preparing exit to normal world

                    U-Boot 2018.11-stm32mp-r3-dirty (Feb 16 2021 – 04:28:39 +0000)

                    CPU: STM32MP157C?? Rev.?
                    Model: Octavo OSD32MP1-RED board
                    Board: stm32mp1 in trusted mode (octavo,osd32mp1-red)
                    DRAM: 512 MiB
                    Clocks:
                    – MPU : 650 MHz
                    – MCU : 187.500 MHz
                    – AXI : 266.500 MHz
                    – PER : 24 MHz
                    – DDR : 533 MHz
                    board_check_usb_power: Can’t get adc device(-19)
                    NAND: 0 MiB
                    MMC: STM32 SDMMC2: 0, STM32 SDMMC2: 1
                    Loading Environment from EXT4… OK
                    In: serial
                    Out: serial
                    Err: serial
                    invalid MAC address in OTP 00:00:00:00:00:00Net:
                    Error: ethernet@5800a000 address not set.
                    eth-1: ethernet@5800a000
                    Hit any key to stop autoboot: 0
                    STM32MP>

                    Q2:
                    Yes !!!

                    Regarding the ‘garbage’ output on UART:
                    We are unable to reproduce it.
                    As soon as I have it, I will send you.

                    thanks
                    Gil

                  • #12214
                    Aedan Cullen
                    Participant

                      That last line (“STM32MP>”) at the end is the U-Boot interactive prompt. It has stopped just before loading the kernel, presumably because it thinks it was interrupted by a keypress (“Hit any key to stop autoboot”). Since you see this when connected to UART, yet when not connected it progresses past here and you see the kernel heartbeat, something might be wrong with the TX side (PC/RPi to OSD32MP1) of your UART that is causing some character to be accidentally/continuously sent. This would also explain why your keyboard input is not working properly.

                      Try using only the RX side of the UART (OSD32MP1 to PC/RPi) and leaving TX unconnected.

                    • #12229
                      Neeraj Dantu
                      Moderator

                        Gil,

                        Agree with aedan here. Try disconnecting RX from RPi and see if the boot goes past u-boot command prompt.

                        It is perplexing that connecting the UART to RPi gives you good logs, but not with a UART-USB adapter.

                        Can you scope the RX and TX pins and compare the activity when you connect to RPi and get good log output vs when you get the garbage output?

                        Best,
                        Neeraj

                      • #12239
                        Gil Hershmangil_he
                        Participant

                          Hi Neeraj, aedancullen,

                          Good call with the TX.
                          When we disconnect the TX from the OSD32MP1-RED, the software loads all the way including Linux (the heartbeat is there).
                          This happens when using both setups, i.e PC/RPi-RED.
                          It seems something is electrically wrong with the RED evb.
                          When connecting another RPi to the RED (including the TX) the software load completed fully.

                          Another issue is with the data received in the terminal from the RED UART.
                          It is garbage. No matter which UART setup we use (different parity bits setup, speeds, etc.).
                          Attached a screen shot of that.

                          Gil

                          Attachments:
                        • #12263
                          Neeraj Dantu
                          Moderator

                            Gil,

                            Can you explain a little bit more?

                            When you disconnect TX of PC/RPi to RED, you are able to see good UART output along with good boot to kernel?

                            What does the UART output look like when you connected RPi to RED fully?

                            Best,
                            Neeraj

                          • #12266
                            Gil Hershmangil_he
                            Participant

                              Hi Neeraj,

                              When I disconnect the TX of PC/RPi to RED, the boot process proceeds fully until Linux is up and I see the heartbeat led blinking.
                              However, the terminal shows RX data as garbage (I sent a picture in the previous message).

                              when the PC/RPi are connected fully to the RED, the boot process stops.
                              RX data is still garbage.

                              We tried different UART setup combinations. Garbage remains.

                              thanks
                              Gil

                            • #12295
                              Neeraj Dantu
                              Moderator

                                Gil,

                                Our team will contact you offline to resolve this issue.

                                Best,
                                Neeraj

                              • #12325
                                Gil Hershmangil_he
                                Participant

                                  Hi Neeraj,

                                  I haven’t been contacted by anyone from Octavo.

                                  Can you update on the issue?

                                   

                                  thanks

                                  Gil

                                • #12341
                                  Neeraj Dantu
                                  Moderator

                                    Gil,

                                    Apparently Sales contacted you, but did not hear back. They will follow-up with you again.

                                    Best,
                                    Neeraj

                                Viewing 14 reply threads
                                • You must be logged in to reply to this topic.