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

   ## Summary
   
   TriCore disables the watchdogs and sets up the clocks through the Infineon
   iLLD. core0_main disables the CPU and the safety (TC3xx) or system (TC4xx)
   watchdog with IfxScuWdt or IfxWtu, and the startup code sets up the
   oscillator, the PLLs and the clock dividers with IfxScuCcu_init (TC3xx)
   or IfxClock_init (TC4xx) and their default configurations.
   
   This series adds tricore_wdt_disable for each chip family, which drives
   the SCU WDT or WTU registers directly, and tricore_clockconfig, which the
   startup code now calls instead of the iLLD clock init. It runs the same
   sequence with the clock, SMU and DMU registers and the same settings: on
   TC3xx a 20 MHz crystal and the system PLL at 300 MHz, on TC4xx the flash
   wait states, a 25 MHz crystal, the ramp oscillator and the system PLL at
   500 MHz. All watchdog and clock registers end up with the same values as
   before.
   
   NuttX itself no longer calls the iLLD clock and watchdog drivers after
   this series, but IfxScuCcu.c, IfxClock.c, IfxScuWdt.c and IfxWtu.c stay
   in the build. Other iLLD drivers that are still built use them: IfxAsclin
   takes the ASCLIN clock frequency from them for the baud rate, and IfxCpu,
   IfxPort, IfxPmsPm, IfxPmsEvr, IfxScuRcu, IfxScuEru and IfxSmu use their
   frequency and ENDINIT helpers. The clock hook also stays in the iLLD
   startup configuration (Ifx_Cfg_Ssw), as the startup code is still the
   iLLD one. These go with the native UART and startup steps that follow.
   
   ## Dependency
   
   Depends on #21518.
   
   ## Impact
   
   TriCore only (arch/tricore).
   - New chip files tc3xx_wdt.c, tc3xx_clockconfig.c, tc4xx_wdt.c and
     tc4xx_clockconfig.c.
   - The iLLD startup configuration (Ifx_Cfg_Ssw.h for TC3xx, Ifx_Cfg_Ssw.c
     for TC4xx) calls tricore_clockconfig for the PLL init.
   - IfxScuCcu_init and IfxClock_init are no longer linked. IfxScuCcu.c,
     IfxClock.c, IfxScuWdt.c and IfxWtu.c are still built for the iLLD UART
     driver and startup code, until those are replaced.
   - No functional change intended.
   
   No Kconfig, board defconfig or documentation changes.
   
   ## Testing
   
   I confirm that changes are verified on local setup and works as intended:
   
   * Build Host(s): Linux x86_64, Debian GNU/Linux 12 (bookworm)
   * Toolchains: AURIX GCC 11.3.1 (tricore-elf-gcc), TASKING VX-toolset v6.4r1
     (TC3x), TASKING SmartCode v10.4r1 (TC4x)
   * Build systems: make, cmake (Ninja)
   * Target(s): a2g-tc397-5v-tft:nsh, triboard_tc4x9_com:nsh
   * Hardware: TriBoard TC397 V2.0; TriBoard TC4x7 COM V3.0 for the
     triboard_tc4x9_com image
   * Each commit passes tools/checkpatch.sh.
   
   Build results (tip):
   
   | Board | GCC make | GCC cmake | TASKING make | TASKING cmake |
   |---|---|---|---|---|
   | a2g-tc397-5v-tft:nsh | pass | pass | pass | - |
   | triboard_tc4x9_com:nsh | pass | - | pass | pass |
   
   Runtime, ostest (on 3db1dd17fbf, the same code before the last rebase):
   
   | Board | GCC | TASKING |
   |---|---|---|
   | TriBoard TC397 (a2g-tc397-5v-tft:nsh) | pass | pass |
   | TriBoard TC4x7 (triboard_tc4x9_com:nsh) | pass | wqueue assert, also on 
master |
   
   ```
   nsh> uname -a
   NuttX 10.4.0 3db1dd17fbf Nov  6 2026 16:58:29 tricore a2g-tc397-5v-tft
   nsh> ostest
   ...
   user_main: Exiting
   ostest_main: Exiting with status 0
   ```


-- 
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