Showing results for 
Search instead for 
Did you mean: 

TFa devicetree custom PCB STM32MP153A

Associate III

Hello, I hope you are doing well.


I have developed a custom PCB with the STM32MP153AAB microprocessor. The process followed  almost all the steps in the wiki for the STM32MP157F-DK2 discovery kit, however, some pins had to change due to the custom design and the fact that the 153 family has less available pins. We have modified the devicetree for the TFA, U-BOOT and KERNEL but the process stops in the TFA when it tries to start the SDRAM with the following output:



We are using the STPMIC1APQR in order to provide all the tension levels for the MPU, RAM and other peripherals (similar to the STM32MP157F-DK2). The following images show the schematics for our own custom STPMIC1APQR design:





We measured the voltage levels, and it shows that the buck2 is not providing any voltage, the same happens for all the LDOs that source the power supply for the RAM. Reading the STPMIC1APQR  datasheet, we observed that the  voltage levels are the default voltage levels, so basically, the MPU is not getting up the RAM. For debugging  purposes, we have connected a logical analyzer to the SDA and SCL pins between the MPU and the PMIC in the custom PCB and in the DK2 in order to  compare the I2C transactions and see if we have missed something. We have observed that the first transactions are the same in both cases, but the custom PCB doesn't send all the I2C transactions, it stops after writing and reading the 0x23 register.



We also observed that the STM32MP157F-DK2 send commands to the 0x27 register, which sets the voltage levels for the LDO3 (This LDO is connected to the VREF_DDR node, which is the reference voltage for the RAM).





I will attach the tfa devicetree I am currently using, if you can see something that I have missed I will appreciate it.

Regards, @obedPH @jutoroa 



Associate III

I'm having a similar problem with a custom PCB with the STM32MP1 family, can anyone help with this?


Hello, I have tried to use the STM32MP13AAB microprocessor and I have not found information on how to configure it correctly for the boot.


Did you try to change the configuration of the internal clocks based on the frequency of your peripherals in your device tree? Maybe that can solve your problem, because with DK2 the device tree of the ST development tool are already configured.

Hi @Milazo99 , thanks for your reply.

Yes, I changed the clock configuration. Doing that I realized that there was a problem with the hardware, because the crystal oscillator I was using did not generate the clock signal. I already fixed that error, and the signal clock is working. I also changed the clock source for several peripherals (I will attach the new devicetree configuration). Even following the reference manual, setting the DIVM, DIVN, P, Q & R to get a 60 MHz frequency in the MPU and 400 MHz in the DDRAM don't change anything, the boot process is getting stuck in the same part.