public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Ferass El Hafidi <funderscore@postmarketos.org>
To: u-boot-qcom@groups.io, u-boot@lists.denx.de,
	Lukasz Majewski <lukma@denx.de>,
	Aspeed BMC SW team <BMC-SW@aspeedtech.com>,
	Joel Stanley <joel@jms.id.au>,
	GSS_MTK_Uboot_upstream <GSS_MTK_Uboot_upstream@mediatek.com>,
	Paul Barker <paul@pbarker.dev>,
	Dai Okamura <okamura.dai@socionext.com>,
	linux@analog.com, uboot-snps-arc@synopsys.com,
	u-boot-amlogic@groups.io,
	uboot-stm32@st-md-mailman.stormreply.com,
	Sumit Garg <sumit.garg@kernel.org>
Cc: Tom Rini <trini@konsulko.com>,
	Casey Connolly <casey.connolly@linaro.org>,
	Neil Armstrong <neil.armstrong@linaro.org>,
	Andrew Goodbody <andrew.goodbody@linaro.org>,
	Stephen Boyd <swboyd@chromium.org>,
	Ilias Apalodimas <ilias.apalodimas@linaro.org>,
	Simon Glass <sjg@chromium.org>,
	Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>,
	Patrice Chotard <patrice.chotard@foss.st.com>,
	Peng Fan <peng.fan@nxp.com>, Yao Zi <me@ziyao.cc>,
	Leo Yu-Chi Liang <ycliang@andestech.com>,
	Patrick Delaunay <patrick.delaunay@foss.st.com>,
	Michal Simek <michal.simek@amd.com>,
	Manikandan Muralidharan <manikandan.m@microchip.com>,
	Jorge Ramirez-Ortiz <jorge.ramirez@oss.qualcomm.com>,
	Luca Weiss <luca.weiss@fairphone.com>,
	Jens Reidel <adrian@mainlining.org>,
	David Wronek <david.wronek@mainlining.org>,
	Naman Trivedi <naman.trivedimanojbhai@amd.com>,
	Venkatesh Yadav Abbarapu <venkatesh.abbarapu@amd.com>,
	Conor Dooley <conor.dooley@microchip.com>,
	Stephan Gerhold <stephan.gerhold@linaro.org>,
	Varadarajan  Narayanan <quic_varada@quicinc.com>,
	Paul Sajna <sajattack@postmarketos.org>,
	Marek Vasut <marex@denx.de>
Subject: Re: [PATCH RFC 00/40] clk: port full Linux Common Clock Framework to U-Boot
Date: Thu, 19 Mar 2026 21:30:36 +0000	[thread overview]
Message-ID: <tc6181.3ppuo0c75vwxp@postmarketos.org> (raw)
In-Reply-To: <20260319-casey-ccf-upstream-v1-0-4df2ee2226da@linaro.org>

Hi,

On Thu, 19 Mar 2026 20:56, "Casey Connolly via groups.io" <casey.connolly=linaro.org@groups.io> wrote:

>    This RFC provides a proof of concept for using the full Linux CCF in
>    U-Boot and consequently porting full Linux clock drivers with extremely
>    minimal changes.
>
>    [...]
>
>    === Memory/perf overhead ===
>
>    The memory and size overhead of CCF is undoubtably bigger than uCCF,
>    although I suspect the difference is less than it might seem at
>    first glance. In particular: clk_core is only ~50 bytes larger than
>    struct udevice on ARM64, and an additional 120 bytes is saved for each
>    U_BOOT_DRIVER used by uCCF.
>
>    On the other hand, the CPU overhead is probably more significant,
>    but not an unreasonable cost to ensure correctness and propagate rate
>    changes across the clock tree.
>
>    Just comparing the binary size of sandbox64_defconfig with uCCF vs
>    CCF_FULL, CCF_FULL results in a 135k size increase in the binary. I
>    haven't done any more detailed analysis here (still haven't got buildman
>    to play nice...).
>
>    === SPL ===
>
>    This RFC doesn't have any SPL specific support, I think this role is
>    better fulfilled by UCLASS_CLK.

It is worth noting that not a lot of boards actually use the existing
CCF port under SPL.

	configs$ git grep "CONFIG_SPL=y" | wc -l
	550
	configs$ git grep "CONFIG_SPL_CLK=y" | wc -l
	179
	configs$ git grep "CONFIG_SPL_CLK_CCF=y" | wc -l
	25

As far as I know, this is most likely because that existing CCF is
already quite huge for such a small environment like SPL (SPL_CLK is
already quite big, especially with its dependency on driver model, which
is fine but some devices are so restricted when SPL runs that even
DM is too big to fit). So I wouldn't bother trying to support SPL with
this.

Just wanted to share this, FYI.

Best regards,
Ferass

[PS: had to remove some people from CC, because my email provider does
     not let me CC that many people. Also sorry for those who got this
     email twice]

  parent reply	other threads:[~2026-03-19 23:07 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-19 20:56 [PATCH RFC 00/40] clk: port full Linux Common Clock Framework to U-Boot Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 01/40] vsprintf: add %pOF Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 02/40] common: add an option to skip DM pre-relocation Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 03/40] serial: msm-geni: allow invalid clock Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 04/40] qcom: rpmh: don't error for SLEEP requests Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 05/40] string: add strdup_const and kstrdup_const Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 06/40] ofnode: add read_u64_array and count_elems_of_size Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 07/40] linux/compat: add PTR_ERR_OR_ZERO Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 08/40] compat: add kref implementation Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 09/40] compat: add dev_name() Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 10/40] compat: add linux/regmap.h symlink Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 11/40] devres: add devm_krealloc Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 12/40] regmap: add regmap_assign_bits Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 13/40] compat: regulator: add enable/disable macros Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 14/40] compat: math64: add abs_diff() Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 15/40] clk: restrict clk/imx to MACH_IMX Casey Connolly
2026-03-19 21:25   ` Ferass El Hafidi
2026-03-20 15:09     ` Tom Rini
2026-03-19 20:56 ` [PATCH RFC 16/40] clk: move U-Boot CCF to clk/uccf Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 17/40] clk: rename clk_ops to clk_ops_uboot Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 18/40] clk: move fixed clocks to clk/basic Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 19/40] clk: make clk_set_rate() return signed long Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 20/40] clk: make clk_get_parent_rate " Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 21/40] clk: import full CCF from Linux Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 22/40] clk: move clock flags to common clk-provider.h Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 23/40] clk/ccf: adapt clk-conf for U-Boot Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 24/40] clk/ccf: adapt CCF core " Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 25/40] clk/ccf: adapt CCF generic clocks " Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 26/40] clk/clk-uclass: adapt for CCF_FULL Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 27/40] RFC: clk/ccf: add UCLASS_CLK compat shim Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 28/40] clk/sandbox: add a CCF_FULL port of clk_sandbox Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 29/40] WIP: test: adjust tests for CCF_FULL Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 30/40] configs: add sandbox CCF_FULL defconfig Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 31/40] cmd/clk: add CCF_FULL support Casey Connolly
2026-03-19 20:56 ` [PATCH RFC 32/40] clk/qcom: move existing clock drivers to clk/qcom/basic Casey Connolly
2026-03-19 21:30 ` Ferass El Hafidi [this message]
2026-03-20  8:45 ` [PATCH RFC 00/40] clk: port full Linux Common Clock Framework to U-Boot Svyatoslav Ryhel
2026-03-20 16:52 ` Simon Glass
2026-03-20 17:55   ` Neil Armstrong
2026-03-20 19:20     ` Casey Connolly
2026-03-20 19:05   ` Casey Connolly
2026-04-06 12:18 ` Sumit Garg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=tc6181.3ppuo0c75vwxp@postmarketos.org \
    --to=funderscore@postmarketos.org \
    --cc=BMC-SW@aspeedtech.com \
    --cc=GSS_MTK_Uboot_upstream@mediatek.com \
    --cc=adrian@mainlining.org \
    --cc=andrew.goodbody@linaro.org \
    --cc=casey.connolly@linaro.org \
    --cc=conor.dooley@microchip.com \
    --cc=david.wronek@mainlining.org \
    --cc=ilias.apalodimas@linaro.org \
    --cc=joel@jms.id.au \
    --cc=jorge.ramirez@oss.qualcomm.com \
    --cc=linux@analog.com \
    --cc=luca.weiss@fairphone.com \
    --cc=lukma@denx.de \
    --cc=manikandan.m@microchip.com \
    --cc=marex@denx.de \
    --cc=me@ziyao.cc \
    --cc=michal.simek@amd.com \
    --cc=naman.trivedimanojbhai@amd.com \
    --cc=neil.armstrong@linaro.org \
    --cc=okamura.dai@socionext.com \
    --cc=patrice.chotard@foss.st.com \
    --cc=patrick.delaunay@foss.st.com \
    --cc=paul@pbarker.dev \
    --cc=peng.fan@nxp.com \
    --cc=quic_varada@quicinc.com \
    --cc=raphael.gallais-pou@foss.st.com \
    --cc=sajattack@postmarketos.org \
    --cc=sjg@chromium.org \
    --cc=stephan.gerhold@linaro.org \
    --cc=sumit.garg@kernel.org \
    --cc=swboyd@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot-amlogic@groups.io \
    --cc=u-boot-qcom@groups.io \
    --cc=u-boot@lists.denx.de \
    --cc=uboot-snps-arc@synopsys.com \
    --cc=uboot-stm32@st-md-mailman.stormreply.com \
    --cc=venkatesh.abbarapu@amd.com \
    --cc=ycliang@andestech.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox