From: Yixun Lan <dlan@kernel.org>
To: E Shattow <e@freeshell.de>
Cc: u-boot@lists.u-boot-project.org, Yao Zi <me@ziyao.cc>,
Tim Ouyang <tim609@andestech.com>,
Leo Liang <leo.liang@sifive.com>, Tom Rini <trini@konsulko.com>,
Michal Simek <michal.simek@amd.com>,
Raymond Mao <raymond.mao@riscstar.com>,
Hiago De Franco <hfranco@baylibre.com>,
Junhui Liu <junhui.liu@pigmoral.tech>
Subject: Re: [PATCH v2 1/4] board: spacemit: add SpacemiT K3 Pico-ITX
Date: Fri, 2 Oct 2026 11:43:34 +0000 [thread overview]
Message-ID: <20261002114334-GKF51329@kernel.org> (raw)
In-Reply-To: <20fc5895-ac3a-4516-b302-7f1893dc370d@freeshell.de>
Hi E Shattow,
On 00:02 Fri 02 Oct , E Shattow wrote:
> Hi Yixun,
>
> On 10/1/26 18:03, Yixun Lan wrote:
> > Add initial support for K3 Pico-ITX board, in this version, the DRAM
> > information is parsed from DTS "/memory" node. And with UART enabled,
> > the U-Boot serial console works fine now.
> >
> > Signed-off-by: Yixun Lan <dlan@kernel.org>
> > ---
> > arch/riscv/Kconfig | 5 +++++
> > arch/riscv/cpu/k3/Kconfig | 18 ++++++++++++++++++
> > arch/riscv/cpu/k3/Makefile | 5 +++++
> > arch/riscv/cpu/k3/dram.c | 21 +++++++++++++++++++++
> > board/spacemit/k3/Kconfig | 30 ++++++++++++++++++++++++++++++
> > board/spacemit/k3/MAINTAINERS | 8 ++++++++
> > include/configs/k3.h | 13 +++++++++++++
> > 7 files changed, 100 insertions(+)
> >
> > diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> > index c1b2890f1f3..386241efd4a 100644
> > --- a/arch/riscv/Kconfig
> > +++ b/arch/riscv/Kconfig
> > @@ -53,6 +53,9 @@ config TARGET_SIPEED_MAIX
> > config TARGET_SPACEMIT_K1
> > bool "Support Spacemit K1 SoC"
> >
> > +config TARGET_SPACEMIT_K3
> > + bool "Support SpacemiT K3 SoC"
> > +
> > config TARGET_STARFIVE_VISIONFIVE2
> > bool "Support StarFive VisionFive2 Board"
> > select BOARD_LATE_INIT
> > @@ -124,6 +127,7 @@ source "board/sophgo/milkv_duo/Kconfig"
> > source "board/sophgo/milkv_duo_256m/Kconfig"
> > source "board/sophgo/licheerv_nano/Kconfig"
> > source "board/spacemit/k1/Kconfig"
> > +source "board/spacemit/k3/Kconfig"
> > source "board/starfive/visionfive2/Kconfig"
> > source "board/thead/th1520_lpi4a/Kconfig"
> > source "board/xilinx/mbv/Kconfig"
> > @@ -138,6 +142,7 @@ source "arch/riscv/cpu/mpfs/Kconfig"
> > source "arch/riscv/cpu/generic/Kconfig"
> > source "arch/riscv/cpu/jh7110/Kconfig"
> > source "arch/riscv/cpu/k1/Kconfig"
> > +source "arch/riscv/cpu/k3/Kconfig"
> > source "arch/riscv/cpu/k230/Kconfig"
> > source "arch/riscv/cpu/th1520/Kconfig"
> >
> > diff --git a/arch/riscv/cpu/k3/Kconfig b/arch/riscv/cpu/k3/Kconfig
> > new file mode 100644
> > index 00000000000..5474ac11243
> > --- /dev/null
> > +++ b/arch/riscv/cpu/k3/Kconfig
> > @@ -0,0 +1,18 @@
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> > +
> > +if TARGET_SPACEMIT_K3
> > +
> > +config SPACEMIT_K3
> > + bool
> > + select BINMAN
> > + select ARCH_EARLY_INIT_R
> > + select SYS_CACHE_SHIFT_6
> > + imply CPU
> > + imply CPU_RISCV
> > + imply RISCV_TIMER if RISCV_SMODE
> > + imply CMD_CPU
> > + imply OF_UPSTREAM
> > +
> > +endif
> > diff --git a/arch/riscv/cpu/k3/Makefile b/arch/riscv/cpu/k3/Makefile
> > new file mode 100644
> > index 00000000000..fba4e4b0a3f
> > --- /dev/null
> > +++ b/arch/riscv/cpu/k3/Makefile
> > @@ -0,0 +1,5 @@
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> > +
> > +obj-y += dram.o
> > diff --git a/arch/riscv/cpu/k3/dram.c b/arch/riscv/cpu/k3/dram.c
> > new file mode 100644
> > index 00000000000..e20d35dc1bf
> > --- /dev/null
> > +++ b/arch/riscv/cpu/k3/dram.c
> > @@ -0,0 +1,21 @@
> > +// SPDX-License-Identifier: GPL-2.0-or-later
> > +/*
> > + * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> > + */
> > +
> > +#include <fdtdec.h>
> > +#include <init.h>
> > +#include <linux/sizes.h>
> > +#include <asm/global_data.h>
> > +
> > +DECLARE_GLOBAL_DATA_PTR;
> > +
> > +int dram_init(void)
> > +{
> > + return fdtdec_setup_mem_size_base();
> > +}
> > +
> > +int dram_init_banksize(void)
> > +{
> > + return fdtdec_setup_memory_banksize();
> > +}
> > diff --git a/board/spacemit/k3/Kconfig b/board/spacemit/k3/Kconfig
> > new file mode 100644
> > index 00000000000..b0e423d829c
> > --- /dev/null
> > +++ b/board/spacemit/k3/Kconfig
> > @@ -0,0 +1,30 @@
> > +# SPDX-License-Identifier: GPL-2.0-or-later
> > +#
> > +# Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> > +
> > +if TARGET_SPACEMIT_K3
> > +
> > +config SYS_BOARD
> > + default "k3"
> > +
> > +config SYS_VENDOR
> > + default "spacemit"
> > +
> > +config SYS_CPU
> > + default "k3"
> > +
> > +config SYS_CONFIG_NAME
> > + default "k3"
> > +
> > +config TEXT_BASE
> > + default 0x102000000
> > +
> > +config SPL_OPENSBI_LOAD_ADDR
> > + hex
> > + default 0x100000000
> > +
> > +config BOARD_SPECIFIC_OPTIONS
> > + def_bool y
> > + select SPACEMIT_K3
> > +
> > +endif
> > diff --git a/board/spacemit/k3/MAINTAINERS b/board/spacemit/k3/MAINTAINERS
> > new file mode 100644
> > index 00000000000..34cf1ed4453
> > --- /dev/null
> > +++ b/board/spacemit/k3/MAINTAINERS
> > @@ -0,0 +1,8 @@
> > +SPACEMIT K3
> > +M: Yixun Lan <dlan@kernel.org>
> > +S: Maintained
> > +F: arch/riscv/cpu/k3/
> > +F: board/spacemit/k3/
> > +F: configs/spacemit_k3_defconfig
> > +F: include/configs/k3.h
> > +F: arch/riscv/dts/k3-u-boot.dtsi
> > diff --git a/include/configs/k3.h b/include/configs/k3.h
> > new file mode 100644
> > index 00000000000..83e4945d2b3
> > --- /dev/null
> > +++ b/include/configs/k3.h
> > @@ -0,0 +1,13 @@
> > +/* SPDX-License-Identifier: GPL-2.0-or-later */
> > +/*
> > + * Copyright (C) 2026 Yixun Lan <dlan@kernel.org>
> > + */
> > +
> > +#ifndef __CONFIG_H
> > +#define __CONFIG_H
> > +
> > +#define CFG_SYS_NS16550_IER 0x40
> > +
> > +#define RISCV_SMODE_TIMER_FREQ 24000000
> > +
> > +#endif /* __CONFIG_H */
> >
>
> There is a Texas Instruments K3 SoC referred to as "k3" in u-boot
> discussion. Let's not add to the confusion here on a global include file
> that is named "configs/k3.h"
>
> Please rename "include/configs/k3.h" as "include/configs/spacemit-k3.h"
> or "include/configs/spacemit_k3.h" to be consistent with the target
> defconfig name. "k1.h" global config header name may be renamed later
> when development pace slows that it would not be too disruptive, and to
> follow whatever hyphen or underscore delineation is decided for K3.
>
make sense, I will pick "spacemit-k3.h" as the config file name
--
Yixun Lan (dlan)
next prev parent reply other threads:[~2026-10-02 11:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-02 1:03 [PATCH v2 0/4] riscv: spacemit: Add support for K3 Pico-ITX board Yixun Lan
2026-10-02 1:03 ` [PATCH v2 1/4] board: spacemit: add SpacemiT K3 Pico-ITX Yixun Lan
2026-10-02 7:02 ` E Shattow
2026-10-02 11:43 ` Yixun Lan [this message]
2026-10-02 1:03 ` [PATCH v2 2/4] riscv: dts: spacemit: k3: add binman node Yixun Lan
2026-10-02 3:20 ` E Shattow
2026-10-02 1:03 ` [PATCH v2 3/4] configs: spacemit: Add K3 default configuration Yixun Lan
2026-10-02 1:03 ` [PATCH v2 4/4] doc: spacemit: k3: Add Pico-ITX board Yixun Lan
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=20261002114334-GKF51329@kernel.org \
--to=dlan@kernel.org \
--cc=e@freeshell.de \
--cc=hfranco@baylibre.com \
--cc=junhui.liu@pigmoral.tech \
--cc=leo.liang@sifive.com \
--cc=me@ziyao.cc \
--cc=michal.simek@amd.com \
--cc=raymond.mao@riscstar.com \
--cc=tim609@andestech.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.u-boot-project.org \
/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