Re: [PATCH 00/13] soc: amlogic: clk-measure: Add more SoCs to support clk-measure

From: Chuan Liu
Date: Mon Aug 18 2025 - 23:33:07 EST


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



Neil


Signed-off-by: Chuan Liu <chuan.liu@xxxxxxxxxxx>
---
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,