cancel
Showing results for 
Search instead for 
Did you mean: 

Having error generating dtb for STM32MP157C

Pep Carrer
Associate II

I'm trying to generate dtb files (kernet, u-boot, tf-a) for a custom board with STM32MP157C (OSD32MP157C by Octavo Systems) following the instructions from ST (https://wiki.st.com/stm32mpu/wiki/How_to_compile_the_device_tree_with_the_Developer_Package).

Here some details:

  • *.dts and *.dtsi files are generated with CubeMXIde 1.4.0
  • Environment is setup in a Ubuntu 20.04 LTS (using WSL).
  • Source files: en.SOURCES-stm32mp1-openstlinux-5-4-dunfell-mp1-20-06-24.tar.xz
  • SDK files: en.SDK-x86_64-stm32mp1-openstlinux-5.4-dunfell-mp1-20-06-24.tar.xz
  • Error log:

arch/arm/dts/stm32mp157c-test_master_1-mx.dtb: ERROR (duplicate_label): /sram@10050000: Duplicate label 'sram' on /sram@10050000 and /soc/sram@10000000

ERROR: Input tree has errors, aborting (use -f to force output)

make[2]: *** [scripts/Makefile.lib:308: arch/arm/dts/stm32mp157c-test_master_1-mx.dtb] Error 2

make[1]: *** [dts/Makefile:38: arch-dtbs] Error 2

make: *** [Makefile:1087: dts/dt.dtb] Error 2

Checking inside the files and includes I can see "/sram@10050000" label but not "/soc/sram@10000000".

Is any modification need to be done?

Thanks,

Pep

1 ACCEPTED SOLUTION

Accepted Solutions
Olivier GALLIEN
ST Employee

Hi @Pep Carrer​ ,

I confirm that the .ioc provided by Octavo Systems has been generated with STM32CubeMX5.3 .. Compatible with ecosystem V1.1 and kernel 4.19.

Using STM32CubeIDE V1.4 with pluggin STM32CubeMX V6.0.x you should have been prompt with a message highlighting this with choice "migrate" or "continue", haven't you ?

Anyway, I recommend you to contact Octavo System support to highlight that such material is not compatible with ST ecosystem release V2.

If one of my comments answer your question or help you to fix you problem, please mark it as "best answer".

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

View solution in original post

6 REPLIES 6
Olivier GALLIEN
ST Employee

Hi @Pep Carrer​ ,

A sram node "sram: sram@10000000" is defined at "soc" level in stm32mp151.dtsi. ( included in stm32mp157.dtsi )

Where did you get the occurence sram@10050000 ?

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.

Are you generating a soc or board project in CubeIDE ?

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Pep Carrer
Associate II

Hi @Community member​ 

I found sram:sram@10000000 at soc, thanks.

I don't know what you mean about soc or board project. We opened a minimal config file from Octavo Systems on CubeMx.

About sram: sram@10050000, is on the autogenerated file stm32mp157c-mydevicetree-mx.dts (u-boot, tf-a, kernel). In this file we also can found the label mcuram2: mcuram2@0x10000000.

Here the nodes:

      reserved-memory {

               #address-cells = <1>;

               #size-cells = <1>;

               ranges;

               /* USER CODE BEGIN reserved-memory */

               retram: retram@0x38000000 {

                       compatible = "shared-dma-pool";

                       reg = <0x38000000 0x10000>;

                       no-map;

               };

               mcuram: mcuram@0x30000000 {

                       compatible = "shared-dma-pool";

                       reg = <0x30000000 0x40000>;

                       no-map;

               };

               mcuram2: mcuram2@0x10000000 {

                       compatible = "shared-dma-pool";

                       reg = <0x10000000 0x40000>;

                       no-map;

               };

               vdev0vring0: vdev0vring0@10040000 {

                       compatible = "shared-dma-pool";

                       reg = <0x10040000 0x2000>;

                       no-map;

               };

               vdev0vring1: vdev0vring1@10042000 {

                       compatible = "shared-dma-pool";

                       reg = <0x10042000 0x2000>;

                       no-map;

               };

               vdev0buffer: vdev0buffer@10044000 {

                       compatible = "shared-dma-pool";

                       reg = <0x10044000 0x4000>;

                       no-map;

               };

               /* USER CODE END reserved-memory */

       };

...

       sram: sram@10050000 {

               compatible = "mmio-sram";

               reg = <0x10050000 0x10000>;

               #address-cells = <1>;

               #size-cells = <1>;

               ranges = <0 0x10050000 0x10000>;

               dma_pool: dma_pool@0 {

                       reg = <0x0 0x10000>;

                       pool;

               };

May I modify the autogenerated file manually? Do you think the minimal config file from Octavo is wrong?

Thanks.

Pep

Olivier GALLIEN
ST Employee

Hi @Pep Carrer​ ,

I suspect the minimal config file from Octavo is not updated to be compatible with openstlinux-5-4-dunfell.

Could you please better describe where this file come from and how is it integrated in CubeMX ?

Thx

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Pep Carrer
Associate II

This file was downloaded from Octavo Systems website (https://octavosystems.com/files/osd32mp15x_minimalconfig/osd32mp15x_minimalconfig-2/)

I generated the device tree from scratch using an empty project. The result is not the same as the one provided, and with this one I can generate the *.dtb!

Thanks and regards.

Pep

Olivier GALLIEN
ST Employee

Hi @Pep Carrer​ ,

I confirm that the .ioc provided by Octavo Systems has been generated with STM32CubeMX5.3 .. Compatible with ecosystem V1.1 and kernel 4.19.

Using STM32CubeIDE V1.4 with pluggin STM32CubeMX V6.0.x you should have been prompt with a message highlighting this with choice "migrate" or "continue", haven't you ?

Anyway, I recommend you to contact Octavo System support to highlight that such material is not compatible with ST ecosystem release V2.

If one of my comments answer your question or help you to fix you problem, please mark it as "best answer".

Olivier

Olivier GALLIEN
In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.