STM32MP15x default UART4 pins

Forums Devices OSD32MP15x STM32MP15x default UART4 pins

Viewing 3 reply threads
  • Author
    Posts
    • #12469
      Gil Hershmangil_he
      Participant

        hello,

        Is it possible to change the default UART4 pins?

        By default RX is PB2 (AF08) and TX is PG11 (AF06).

        If it is possible, what do I program in the OTP to have RX on PA11 (AF06) and TX on PA12 (AF06)?

        thank you

        Gil

         

      • #12473
        Neeraj Dantu
        Moderator

          Gil,

          I think you can change the pin mux for UARt4 with device tree. For example, the pinmux in TF-A is defined here: https://github.com/octavosystems/osd32mp1-build-tools/blob/master/patches/arm-trusted-firmware-2.4/0001-Add-OSD32MP1-BRK-Device-tree-support.patch#L684. You should be able to change the pin setting there.

          Best,
          Neeraj

        • #12511
          Gil Hershmangil_he
          Participant

            hello Neeraj,

            Thank you for your answer, but this is not what I asked.

            I asked if I can change the default UART4 pins?

            So, on power-up the SIP will try to communicate through UART4 via different pins than what is defined now (this happens before FSBL, SSBL, etc.).

            (On power it scans the UART and USB – this is my boot mode).

            If it is possible, which fields should I change in the OTP and what do I program there?

            By default RX is PB2 (AF08) and TX is PG11 (AF06).

            I want to have RX on PA11 (AF06) and TX on PA12 (AF06)

            thank you

            Gil

          • #12533
            Neeraj Dantu
            Moderator

              Gil,

              Apologies for the confusion. When you are booting from UART, it is unfortunately not possible to change the default pinmuxing. Please take a look here: https://wiki.st.com/stm32mpu/wiki/STM32_MPU_ROM_code_overview#UART_Boot. While eMMC, SD, and QSPI boot modes allow you to change the default pins used in ROM code for booting, this is not possible for UART. However, the ROM code scans multiple UART interfaces as described in the ROM code overview. You can see if you have access to any of these interfaces on your board.

              You can take a look at OTP mapping here: https://wiki.st.com/stm32mpu/wiki/STM32MP15_OTP_mapping. OTP_WORD3[0:4] can be set to configure non default pin mux for QSPI, eMMC and SD boot modes and the pinmux can be set in OTP_WORD5 – OTP_WORD7.

              You could use USB boot if you have access to the USB OTG port. Booting with USB is described here: https://wiki.st.com/stm32mpu/wiki/STM32_MPU_ROM_code_overview#USB_Boot. You can use Cube Programmer to bring up FSBL and SSBL. From there as you can define pinmuxing as you like in the device tree, you can setup next boot steps according to your choice.

              Best,
              Neeraj

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