Skip to content

Conversation

@Kronosblaster
Copy link
Contributor

@Kronosblaster Kronosblaster commented May 20, 2025

Support added for clock control using TISCI added for devices using the binding ti,k2g-sci-clk. This PR waits on #90053

Testing

Refer: ClockControllerTest

Output:

DMSC Firmware Version 11.0.7--v11.00.07 (Fancy Rat)                                                 
DMSC Firmware revision 0xb                                                                          
DMSC ABI revision 4.0                                                                               
                                                                                                    
INFO: Bootloader_runCpu:205: CPU r5f1-0  is initialized to 800000000 Hz !!!                         
INFO: Bootloader_runCpu:205: CPU r5f1-1 is initialized to 800000000 Hz !!!                          
INFO: Bootloader_runCpu:205: CPU m4f0-0 is initialized to 400000000 Hz !!!                          
INFO: Bootloader_runCpu:205: CPU a530-0 is initialized to 800000000 Hz !!!                          
INFO: Bootloader_runCpu:205: CPU a530-1 is initialized to 800000000 Hz !!!                          
INFO: Bootloader_loadSelfCpu:257: CPU r5f0-0 is initialized to 800000000 Hz !!!                     
INFO: Bootloader_loadSelfCpu:257: CPU r5f0-1 is initialized to 800000000 Hz !!!                     
INFO: Bootloader_runSelfCpu:267: All done, reseting self ...                                        
                                                                                                    
*** Booting Zephyr OS build v4.1.0-5562-g50269a5c5de1 ***                                           
Current clock rate: 48000000                                                                        
Clock rate set to 96000000                                                                          
Clock rate set to 48000000                                                                          
Current clock rate after set: 48000000                                                              
All clock controller tests passed! 

@Kronosblaster Kronosblaster force-pushed the clockControl branch 6 times, most recently from 7cf310e to 2dc18ee Compare May 27, 2025 11:17
@Kronosblaster Kronosblaster force-pushed the clockControl branch 2 times, most recently from 8b10b9f to 9ee64d7 Compare June 9, 2025 08:08
@Kronosblaster Kronosblaster force-pushed the clockControl branch 7 times, most recently from 9a47dbf to 20b38b7 Compare June 10, 2025 13:18
@Kronosblaster Kronosblaster marked this pull request as ready for review June 10, 2025 13:19
@github-actions github-actions bot added platform: TI SimpleLink Texas Instruments SimpleLink MCU area: Clock Control labels Jun 10, 2025
@Kronosblaster Kronosblaster force-pushed the clockControl branch 4 times, most recently from 6bd0da6 to 7f1f9bf Compare June 11, 2025 10:38
@vaishnavachath vaishnavachath added the DNM This PR should not be merged (Do Not Merge) label Jun 17, 2025
@Kronosblaster Kronosblaster force-pushed the clockControl branch 3 times, most recently from 2154640 to 20a6a86 Compare June 23, 2025 05:47
glneo
glneo previously approved these changes Oct 15, 2025
Copy link
Contributor

@JarmouniA JarmouniA left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be enabled on at least one board in-tree and be tested with an existing or a new testsuite.

@Kronosblaster
Copy link
Contributor Author

Should be enabled on at least one board in-tree and be tested with an existing or a new testsuite.

This driver currently only wraps the merged #90053 (TISCI driver). Its use-case #91914 depends on multiple subsystems and is organized into another PR which will contain the required in-tree changes.

@vaishnavachath
Copy link
Member

@Kronosblaster It looks

Should be enabled on at least one board in-tree and be tested with an existing or a new testsuite.

This driver currently only wraps the merged #90053 (TISCI driver). Its use-case #91914 depends on multiple subsystems and is organized into another PR which will contain the required in-tree changes.

@Kronosblaster , it looks like #91914 has build errors, how was this tested? and how do we ensure that this is not merged in a broken state?

@JarmouniA
Copy link
Contributor

JarmouniA commented Oct 23, 2025

This driver currently only wraps the merged #90053 (TISCI driver). Its use-case #91914 depends on multiple subsystems and is organized into another PR which will contain the required in-tree changes.

When there is serial dependency between PRs, to ensure we are not merging stuff that doesn't even compile, you should do:

For PRs A, B, & C, where C depends on B, B depends on A, and assuming C contains the actual tests that will validate all the code in the 3 PRs,
Send the 3 PRs, but only put A as ready for review, and include A in B, and A&B in C,
And any changes to A, should be propagated to B, then B to C...
This way, when reviewing A, we can see if stuff works by testing C.
Then redo the process for B, once A is merged...

@Kronosblaster
Copy link
Contributor Author

Kronosblaster commented Oct 24, 2025

@Kronosblaster It looks

Should be enabled on at least one board in-tree and be tested with an existing or a new testsuite.

This driver currently only wraps the merged #90053 (TISCI driver). Its use-case #91914 depends on multiple subsystems and is organized into another PR which will contain the required in-tree changes.

@Kronosblaster , it looks like #91914 has build errors, how was this tested? and how do we ensure that this is not merged in a broken state?

As @JarmouniA mentioned the PR #91914 has be converted to a draft with this PR added so as to enable testing

@JarmouniA JarmouniA added the DNM This PR should not be merged (Do Not Merge) label Oct 24, 2025
@JarmouniA
Copy link
Contributor

Adding DNM until testing is done

@Kronosblaster
Copy link
Contributor Author

Adding DNM until testing is done

#91914 shows errors unrelated to the PR
Refer: #92170 (comment)

@JarmouniA
Copy link
Contributor

@Kronosblaster I don't see #91914 enabling any tests that will cover the added code here & there. Are there already test scenarios in-tree that cover it?

@Kronosblaster
Copy link
Contributor Author

@Kronosblaster I don't see #91914 enabling any tests that will cover the added code here & there. Are there already test scenarios in-tree that cover it?

The TISCI clock control framework only frames and wraps TISCI API calls which have in-tree tests. A similar implementation would be the SCMI clock controller framework which does not have specific tests for clock layer either.
Refer: #75102

@JarmouniA JarmouniA removed the DNM This PR should not be merged (Do Not Merge) label Oct 28, 2025
@natto1784
Copy link
Contributor

natto1784 commented Oct 31, 2025

The failing twister test should be fixed by this #98388. Ergo, this patchset can be merged.

@Kronosblaster
Copy link
Contributor Author

The failing twister test should be fixed by this #98388. Ergo, this patchset can be merged.

@JarmouniA Can this be merged?

Support added for clock control using TISCI for devices using the binding
ti,k2g-sci-clk. This driver relies on the TISCI layer to make calls to the
DMSC core to set and get the clock rate and retrieve clock status.

Signed-off-by: Dave Joseph <[email protected]>
@sonarqubecloud
Copy link

@kartben kartben merged commit 3474dee into zephyrproject-rtos:main Nov 24, 2025
26 checks passed
@Kronosblaster Kronosblaster deleted the clockControl branch November 25, 2025 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants