Re: [PATCH 00/13] soc: amlogic: clk-measure: Add more SoCs to support clk-measure
From: Chuan Liu <hidden>
Date: 2025-08-19 03:32:50
Also in:
linux-amlogic, linux-devicetree, lkml
Hi Neil: Thanks for review. Here I'll briefly outline the background for this patch series: The motivation for moving the data to DTS is primarily to reduce memory consumption. Currently, this issue is easily overlooked since we have only submitted support for a small number of chips upstream. However, as more SoCs adopt clk-measure, this problem will become increasingly significant (we've already encountered it frequently in our internal branches). Moving the data to DT can also make our clk-measure driver more 'common' by encapsulating chip-specific hardware variations in the DT rather than requiring frequent driver modifications. This approach should help reduce long-term maintenance costs to some extent? Admittedly, defining this data in DT may appear less organized at first glance, this approach effectively addresses the dilemma we're currently facing. If you have better suggestions, we're happy to adapt. However, the current approach is critical for memory-sensitive scenarios, and maintaining it otherwise has proven quite challenging for us. On 8/18/2025 4:01 PM, Neil Armstrong wrote:
[ EXTERNAL EMAIL ] Hi, On 15/08/2025 10:37, Chuan Liu via B4 Relay wrote:quoted
As support for clk-measure expands across more SoCs, the current approach of defining all SoC-specific clk-measure table data in the driver .c file results in progressively larger compiled images, resulting in memory wastage. Move SoC-specific clk-measure tables to DTS definitions and extend support for additional SoCs (A4, A5, S7, S7D and S6).This breaks ABI and most importantly the clk measure feature on new kernel and old DTs. So instead keep it as-is for current platforms and try to add this for new platforms. But the fact you need clkmsr-reg-v2 means you at least need to add a generic compatible for v2 register map and drop this property. Overall, I'm not a great fan of this, it moves data to DT and duplicates the strings in _all_ board DTs, which is worse in fine.
If you agree with this approach, I can refine it based on your feedback by: 1. Adding a new compatible property: "amlogic,clk-measure-v2". 2. Implementing a struct platform_driver meson_msr_driver_v2 for the newly supported SoCs. I may not have fully grasped your intent, please correct me if I've misinterpreted anything. Thank you!
Neilquoted
Signed-off-by: Chuan Liu <redacted> --- Chuan Liu (13): dt-bindings: soc: amlogic: Add clk-measure related properties soc: amlogic: clk-measure: Remove the msr_data from clk-measure ARM: dts: amlogic: add clk-measure IDs and names for meson SoC family arm64: dts: amlogic: add clk-measure IDs and names for Amlogic SoCs dt-bindings: soc: amlogic: Unify the compatible property for clk-measure soc: amlogic: clk-measure: Unify the compatible property ARM: dts: amlogic: Unify the compatible property for clk-measure arm64: dts: amlogic: Unify the compatible property for clk-measure arm64: dts: amlogic: A4: Add clk-measure controller node arm64: dts: amlogic: A5: Add clk-measure controller node arm64: dts: amlogic: S7: Add clk-measure controller node arm64: dts: amlogic: S7D: Add clk-measure controller node arm64: dts: amlogic: S6: Add clk-measure controller node .../soc/amlogic/amlogic,meson-gx-clk-measure.yaml | 66 +- arch/arm/boot/dts/amlogic/meson8.dtsi | 94 ++- arch/arm/boot/dts/amlogic/meson8b.dtsi | 94 ++- arch/arm64/boot/dts/amlogic/amlogic-a4.dtsi | 212 +++++ arch/arm64/boot/dts/amlogic/amlogic-a5.dtsi | 202 +++++ arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi | 275 +++++- arch/arm64/boot/dts/amlogic/amlogic-s6.dtsi | 312 +++++++ arch/arm64/boot/dts/amlogic/amlogic-s7.dtsi | 253 ++++++ arch/arm64/boot/dts/amlogic/amlogic-s7d.dtsi | 243 ++++++ arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 144 +++- arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 2 +- arch/arm64/boot/dts/amlogic/meson-g12a.dtsi | 229 +++++ arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 136 ++- arch/arm64/boot/dts/amlogic/meson-s4.dtsi | 301 ++++++- arch/arm64/boot/dts/amlogic/meson-sm1.dtsi | 255 +++++- drivers/soc/amlogic/meson-clk-measure.c | 930 ++------------------- 16 files changed, 2877 insertions(+), 871 deletions(-) --- base-commit: e5624eb63c452efa753759e74eb27fe132eb577c change-id: 20250731-add-more-socs-to-support-clk_measure-b2a43590d5aa Best regards,