Hi,
my customer designed its own 66AK2G12 board, mainly from K2GICE and K2GEVM schematics.
When porting u-boot (from Processor SDK Linux 05_03_00_07: Based on version 2018.01, git.ti.com/.../ti-u-boot, Branch: ti-u-boot-2018.01, Commit 313dcd69) to this new board, we encountered a problem when configuring PLL.
The main differences between K2GICE and my customer's board regarding the CPU core schematics are:
- SYSOSC is 25MHz instead on 24MHz on K2GICE
- BOOTMODE[8..6] set accordingly
Porting u-boot on the new board mainly consisted on removing all code related to ID ROM, and 'forcing' 66AK2G12 uC recognition.
This adapted u-boot version runs smoothly on K2G ICE board, but on the new board the CPU resets when configuring the PLL.
Using the XDS200 JTAG probe, and running step by step, we found that the reset occurs when executing the following line in arch/arm/mach-keystone/clock.c (https://git.ti.com/cgit/ti-u-boot/ti-u-boot/tree/arch/arm/mach-keystone/clock.c?h=ti-u-boot-2018.01#n159):
pllctl_reg_setbits(data->pll, ctl, PLLCTL_PLLEN_MASK);
Beyond that, if the pll init stage is skipped, the u-boot code runs OK (init, relocation, welcome message and prompt, commands invokation ...)
Do you fellows have ever met this kind of problem ? What root cause may lead to a reset when setting the PLLEN ?
Thanks for sharing your related issues - and hopefully, solutions!
Regards
Laurent