How to change or add board name in OSD32MP1 Debian SDK

Forums Reference, Evaluation, and Development Boards OSD32MP1-RED How to change or add board name in OSD32MP1 Debian SDK

Tagged: 

Viewing 4 reply threads
  • Author
    Posts
    • #12013
      Farid AzharFarid Azhar
      Participant

      The board name defiend in OSD32MP1 Debian SDK is “osd32mp1-red”.
      I want to create a new board type (e.g. osd32mp1-xyz) in OSD32MP1 Debian SDK by cloning the osd32mp1-red board device tree (kernel and bootloader) and build files. Later I will modify the devcietree for the new board, but want to make sure it works on OSD32MP1-RED board before any change.
      To test this …

      I’ve modified the board name to “osd32mp1-xyz” vendor to “xyzTech” in the following files:
      ../build-tools/Makefile
      ../build-tools/files/ssbl/boot.scr.cmd
      ../build-tools/osd32mp1-red-extlinux.sh => osd32mp1-xyz-extlinux.sh

      I’ve included the “osd32mp1-red.dts” files generated by patchs into the kernel and bootloader directories and rename them as osd32mp1-xyz.dts
      ../kernel/linux-4.19.94/arch/arm/boot/dts/osd32mp1-xyz.dts
      ../bootloader/u-boot-2018.11/arch/arm/dts/osd32mp1-xyz.dts
      ../bootloader/arm-trusted-firmware-2.0/fdts/osd32mp1-xyz.dts

      The image build process is successfull and generated all the dts and binaries for new board in /deploy/ directory.
      But failed to flash the eMMC using STM32CubeProgrammer and also did not boot from MicroSD card.
      It looks OSD32MP1-RED board failed to start u-boot binary after download.

      Any help is much appreciated.
      Thank you.

      Here are the logs …

      farid@u2004dt:~/workspace-osd32mp1/deploy$ STM32_Programmer_CLI -c port=USB1 -log /home/farid/work/emmc_flash.log -vb 1 -w FlashLayout_emmc_osd32mp1-xyz-trusted.tsv
      ——————————————————————-
      STM32CubeProgrammer v2.8.0
      ——————————————————————-

      Log output file: /home/farid/work/emmc_flash.log

      USB speed : High Speed (480MBit/s)
      Manuf. ID : STMicroelectronics
      Product ID : DFU in HS Mode @Device ID /0x500, @Revision ID /0x0000
      SN : 001800273239511637383434
      FW version : 0x0110
      Device ID : 0x0500
      Device name : STM32MP1
      Device type : MPU
      Device CPU : Cortex-A7

      Start Embedded Flashing service

      Memory Programming …
      Opening and parsing file: tf-a-osd32mp1-xyz.stm32
      File : tf-a-osd32mp1-xyz.stm32
      Size : 245360 Bytes
      Partition ID : 0x01

      Download in Progress:
      [==================================================] 100%

      File download complete
      Time elapsed during download operation: 00:00:00.537

      RUNNING Program …
      PartID: :0x01
      Start operation done successfully at partition 0x01

      Flashlayout Programming …
      [==================================================] 100%
      Running Flashlayout Partition …
      Flashlayout partition started successfully

      Memory Programming …
      Opening and parsing file: u-boot-osd32mp1-xyz-trusted.stm32
      File : u-boot-osd32mp1-xyz-trusted.stm32
      Size : 804463 Bytes
      Partition ID : 0x03

      Download in Progress:
      [==================================================] 100%

      File download complete
      Time elapsed during download operation: 00:00:00.866

      RUNNING Program …
      PartID: :0x03

      Reconnecting the device …

      Error:
      Unable to reconnect the target device: time out expired

      Error: Start operation failed at partition 0x03
      Error: TSV flashing service failed
      farid@u2004dt:~/workspace-osd32mp1/deploy$

      *** DEBUG Console Logs ***
      Debug port logs:

      ÀûÿÒÛ?A AINOTICE: CPU: STM32MP157C?? Rev.?
      NOTICE: Model: xyzTech OSD32MP1-XYZ board
      INFO: Reset reason (0x15):
      INFO: Power-on Reset (rst_por)
      INFO: Using USB
      INFO: Instance 2
      INFO: Boot used partition fsbl1
      WARNING: VDD unknownNOTICE: BL2: v2.0-r1.5(debug):bf394cf1
      NOTICE: BL2: Built : 18:38:54, Jan 11 2022
      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: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: Receive DFU abort
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: UPLOAD :
      INFO: Phase ID : 0
      INFO: address 0x2ffee774
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: UPLOAD :
      INFO: Phase ID : 0
      INFO: address 0x2ffee774
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: Start Download partition 0 to address 0xc0000000 length 0
      INFO: USB : DFU : end of download partition : 0
      INFO: Loading image id=5 at address 0xc0100000
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: UPLOAD :
      INFO: Phase ID : 3
      INFO: address 0x2ffee774
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: receive request 6
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: UPLOAD :
      INFO: Phase ID : 3
      INFO: address 0x2ffee774
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: usb_partition_size: partition size : 0xc456f
      INFO: Start Download partition 3 to address 0xc0100000 length 804207
      INFO: USB : DFU : end of download partition : 3
      WARNING: Skip signature check (header option)
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: UPLOAD :
      INFO: Phase ID : 0
      INFO: address 0xffffffff
      INFO: Send detach request
      INFO: GETSTATUS :
      INFO: DFU_STATE_IDLE
      INFO: Receive Detach
      INFO: Image id=5 loaded: 0xc0100000 – 0xc01c456f
      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):bf394cf1
      NOTICE: SP_MIN: Built : 18:38:54, Jan 11 2022
      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
      ÀÀv&&

    • #12015
      coloradocarlos
      Participant

      You are on the right track because I have done something similar to successfully rename the board.

      Since U-Boot seems to be failing, I suggest first checking in ./deploy/bootfs. Make sure the directory layout and files are correct. In particular, make sure the extlinux.conf file points to the right DTB.

      If all seems well, then rebuild the file system by running “make bootfs” in the docker container. This will make sure the *.stm32 file is up-to-date. Then try re-flashing.

      Lastly, you should always be able to boot off a good SD card regardless of the state of the eMMC. Sometimes I forget to reset the boot switches after flashing.

    • #12018
      Farid AzharFarid Azhar
      Participant

      Hi Carlos, Thanks for your response.
      I verified the deploy/bootfs directory has correct extlinux.conf and dtb files.
      I also tried “make bootfs” and “make ssbl” and “make clean” but its not working.
      I tried both, bothing from SD card and eMMC and they both appears to be failing to start u-boot after flashing u-boot binary (u-boot-osd32mp1-xyz-trusted.stm32).

      I’m able to build and flash successfully the card type “osd32mp1-red” but not the new card type “osd32mp1-xyz”, even though all the code and DTS fiels are identical except name change.

      I noticed a difference in file size of u-boot binary of new card vs old card, all other file sizes are same.
      Something is making the u-boot binary different then OSD32MP1-RED board and that is failing.
      Is there a secure build option for u-boot that I’m missing?

      804459 Jan 12 12:40 u-boot-osd32mp1-xyz-trusted.stm32 => This one does not work
      807692 Jan 12 14:08 u-boot-osd32mp1-red-trusted.stm32 => This one works OK

    • #12019
      coloradocarlos
      Participant

      Another thing to check for is the file arch/arm/dts/osd32mp1-xyz-u-boot.dtsi. I didn’t see it in your original list of files that you copied but is created by 0001-Add-OSD32MP1-RED-Device-Tree-support.patch. This is the “U-Boot DTSI options” file. The build will succeed even if this file does not exist. Even though it is an “include file”, it is not included anywhere and is build separately (if it exists). See line 165 of scripts/Makefile.lib to see what I mean.

    • #12020
      Farid AzharFarid Azhar
      Participant

      Hi carlos,
      Thanks for pointing out the osd32mp1-xyz-u-boot.dtsi file. It didn’t show up in my search for files to be updated. I added this file and u-boot works ok.
      New board image build is OK and I can flash and boot from both sdcard and emmc.
      Thank you for your help.

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