<feed xmlns='http://www.w3.org/2005/Atom'>
<title>u-boot.git/drivers/clk/spacemit, branch next</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.</subtitle>
<id>http://cgit.235523.xyz/u-boot.git/atom/drivers/clk/spacemit?h=next</id>
<link rel='self' href='http://cgit.235523.xyz/u-boot.git/atom/drivers/clk/spacemit?h=next'/>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/'/>
<updated>2026-08-25T06:22:24Z</updated>
<entry>
<title>clk: spacemit: k1: remove bus gate from TWSI functional clocks</title>
<updated>2026-08-25T06:22:24Z</updated>
<author>
<name>Junhui Liu</name>
<email>junhui.liu@pigmoral.tech</email>
</author>
<published>2026-08-15T03:40:24Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=35c2947b5b217962e8d88e2a0b7f507a037a0676'/>
<id>urn:sha1:35c2947b5b217962e8d88e2a0b7f507a037a0676</id>
<content type='text'>
The TWSI functional clocks incorrectly include both the functional clock
enable bit and the bus clock enable bit in their gate masks. The device
tree and the full clock tree model the bus clocks separately.

Remove the bus clock enable bit from the functional clock gate masks so
that the functional and bus clocks are controlled independently.

Keep the combined gate for TWSI8 because its clock control register is
write-only and therefore cannot be safely shared by two clock
instances.

Fixes: 3aa2882a3e1a ("clk: spacemit: Add support for K1 SoC")
Reviewed-by: Yao Zi &lt;me@ziyao.cc&gt;
Signed-off-by: Junhui Liu &lt;junhui.liu@pigmoral.tech&gt;
</content>
</entry>
<entry>
<title>clk: spacemit: k1: add TWSI bus clocks to SPL</title>
<updated>2026-08-25T06:22:24Z</updated>
<author>
<name>Junhui Liu</name>
<email>junhui.liu@pigmoral.tech</email>
</author>
<published>2026-08-15T03:40:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=0b47f7237e446cfb73b2df70aa4bc74db73400bf'/>
<id>urn:sha1:0b47f7237e446cfb73b2df70aa4bc74db73400bf</id>
<content type='text'>
The K1 device tree describes separate functional and bus clocks for TWSI
controllers, but the SPL clock tree currently only provides their
functional clocks.

Add the bus clocks for TWSI2 and TWSI8, which are the TWSI controllers
currently used in SPL, along with their required parent clock chain.

TWSI8 uses a fixed-factor bus clock because its write-only clock control
register requires the functional and bus gate bits to remain combined in
a single clock instance.

Reviewed-by: Yao Zi &lt;me@ziyao.cc&gt;
Signed-off-by: Junhui Liu &lt;junhui.liu@pigmoral.tech&gt;
</content>
</entry>
<entry>
<title>clk: spacemit: k1: prune SPL clock tree</title>
<updated>2026-07-21T08:57:13Z</updated>
<author>
<name>Guodong Xu</name>
<email>guodong@riscstar.com</email>
</author>
<published>2026-06-30T01:19:05Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=853fdea1fe2bccfd912b206aee97d1099157720c'/>
<id>urn:sha1:853fdea1fe2bccfd912b206aee97d1099157720c</id>
<content type='text'>
K1 SPL runs from on-chip SRAM with a small pre-relocation malloc heap.
Registering the full K1 clock tree would not fit, so split the tree on
CONFIG_SPL_BUILD: the SPL build registers only the subset SPL needs
(currently UART, SDHCI, I2C (TWSI), and their PLL/MPMU/APMU/APBC
ancestors); the non-SPL build keeps the full tree.

Where surviving SPL CCU definitions reference parent clocks outside
that subset, use "clock-dummy", so framework parent lookups still resolve.

Signed-off-by: Guodong Xu &lt;guodong@riscstar.com&gt;
Tested-by: Songsong Zhang &lt;sszhang@vsit.ai&gt;
</content>
</entry>
<entry>
<title>clk: spacemit: k1: spawn reset device from per-syscon clock drivers</title>
<updated>2026-07-21T08:31:10Z</updated>
<author>
<name>Guodong Xu</name>
<email>guodong@riscstar.com</email>
</author>
<published>2026-05-27T02:45:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=5b3959e2d6f2ecf2006917d65eb48edb4f6b2d92'/>
<id>urn:sha1:5b3959e2d6f2ecf2006917d65eb48edb4f6b2d92</id>
<content type='text'>
The K1 reset driver in drivers/reset/spacemit/ binds by name (no DT
of_match), so the per-syscon clock drivers must spawn it.

Add a .bind hook to k1_mpmu_clk, k1_apbc_clk and k1_apmu_clk that
calls spacemit_k1_reset_bind() to instantiate a UCLASS_RESET sibling
on the same ofnode.

Also introduce k1_apbc2_clk here. Its kernel DT node has #reset-cells
but no #clock-cells, so the driver exists only as the binding hook
for the apbc2 reset spawn.

With this in place, references such as
  resets = &lt;&amp;syscon_apbc RESET_TWSI0&gt;;
in the kernel-mainline DT resolve correctly.

Signed-off-by: Guodong Xu &lt;guodong@riscstar.com&gt;
</content>
</entry>
<entry>
<title>clk: spacemit: Add support for K1 SoC</title>
<updated>2026-07-21T08:31:10Z</updated>
<author>
<name>Junhui Liu</name>
<email>junhui.liu@pigmoral.tech</email>
</author>
<published>2026-05-27T02:45:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.235523.xyz/u-boot.git/commit/?id=3aa2882a3e1a72dbc597022c4f1a093e00c2400e'/>
<id>urn:sha1:3aa2882a3e1a72dbc597022c4f1a093e00c2400e</id>
<content type='text'>
The K1 SoC exposes four clock providers in the kernel mainline DT: one
PLL controller ("spacemit,k1-pll") and three syscon clock nodes
("spacemit,k1-syscon-{mpmu,apbc,apmu}"). Register a separate
U_BOOT_DRIVER for each.

The controllers register clocks into a single CCF namespace, and a clock
in one controller may parent off a clock owned by another, so a
controller must register only after the controllers that own its parents
have probed. Each probe forces its parent controllers up by driver:

    MPMU &lt;- PLL
    APMU &lt;- PLL, MPMU
    APBC &lt;- PLL, MPMU, APMU

Signed-off-by: Junhui Liu &lt;junhui.liu@pigmoral.tech&gt;
Signed-off-by: Raymond Mao &lt;raymond.mao@riscstar.com&gt;
Signed-off-by: Guodong Xu &lt;guodong@riscstar.com&gt;
</content>
</entry>
</feed>
