On 4/27/24 2:10 AM, Drew Fustini wrote:
This series adds support for the AP sub-system clock controller in the T-Head TH1520 [1]. Yangtao Li originally submitted this series in May 2023 [2]. Jisheng made additional improvements and then passed on the work in progress to me. Changes I made from the original series: - corrected the npu_clk enable bit - deduplicated CLK_NPU and CLK_NPU_AXI number in header - fixed c910_i0_clk reg typo - fixed checkpatch and dt_binding_check warnings - rebased on v6.9-rc5 - revised commit descriptions Changes since my RFC v1 [4]: - squash the header file patch into the DT schema patch - describe the changes I made to original series in the cover letter instead of the individual patches - fix my typo in my email address TODO: I am again marking this as an RFC because there is feedback from v1 that I have not yet addressed. I am posting what I currently have as other patch series like the TH1520 I2C driver [4] could use the clk driver. Emil commented that the input predivider is not handled correctly in ccu_mdiv_recalc_rate(). The PLL multiplies the input frequency and outputs "Foutvco". This is followed by a post divider to produce "Foutpostdiv". However, some clocks derive directly from the "Foutvco" Emil suggested this should really be modeled as two different clocks. Emil aslo suggested that the rest of the clocks in this driver seem to be generic gate and mux implementations that should probably be replaced with devm_clk_hw_register_gate*() and devm_clk_hw_register_mux*(). I'll look to address the above issues in the next revision. Thank you, Drew [1] https://openbeagle.org/beaglev-ahead/beaglev-ahead/-/blob/main/docs/TH1520%20System%20User%20Manual.pdf [2] https://lore.kernel.org/linux-riscv/20230515054402.27633-1-frank.li@xxxxxxxx/ [3] https://lore.kernel.org/lkml/20240110-clk-th1520-v1-0-8b0682567984@xxxxxxxxxxxxxxx/ [4] https://lore.kernel.org/linux-riscv/20240425082138.374445-1-thomas.bonnefille@xxxxxxxxxxx/
Thank you ! It works on the Beagle-V Ahead :) Tested-by: Thomas Bonnefille <thomas.bonnefille@xxxxxxxxxxx>