jlaitine opened a new pull request, #20365:
URL: https://github.com/apache/nuttx/pull/20365

   ## Summary
   
   Implement the same initial clock configuration as what imxrt1176 has. Make 
an own table for PLL and root clock configurations for m33 and m7 targets. For 
the PLLs the code still only supports configuring the ARM_PLL.
   
   The difference to imxrt1176 is, that instead of just boolean .enable field, 
this table uses an .action field with 3 states: CONFIGURE, DISABLE and IGNORE. 
The reason is, that some root clocks can't be just forcefully stopped, but need 
a root-clock-specific sequence. This is solved by just leaving these clocks 
marked as IGNORE, so they retain their current state.
   
   Specifically, disabling the SEMC and NETC roots by M33 will prevent the M7 
from booting. Also FLEXSPI shouldn't be touched, if the code is being executed 
from there.
   
   Also add a function for enabling 24 MHz oscillator clock, and an extendable 
function to enble the clock sources based on the clock configuration table.
   
   Note that even though the table has entries for other PLLs, the code doesnt' 
yet support configuring them. I will add those when needed later.
   
   Claude Code has been used to generate the initial clock configuration table
   
   ## Impact
   
   Does not impact the other platforms, just  makes it easier to configure the 
root clocks and plls for imxrt118x
   
   ## Testing
   
   The clocking table is tested on imxrt-1180-evk:bl and imxrt1180-evk:nsh that 
the device boots and works as before. The 24MHz oscillator is needed by some 
PX4 drivers (HRT on GPT1 in my configuration), and verified that it is clocked 
properly in there.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to