From: "Milan P. Stanić" <mps@arvanta.net>
To: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Cc: Rick Chen <rick@andestech.com>, Leo <ycliang@andestech.com>,
Yanhong Wang <yanhong.wang@starfivetech.com>,
u-boot@lists.denx.de
Subject: Re: [PATCH 1/1] riscv: set fdtfile on VisionFive 2
Date: Thu, 21 Sep 2023 22:29:33 +0200 [thread overview]
Message-ID: <20230921202933.GA22421@m1> (raw)
In-Reply-To: <20230907112128.342315-1-heinrich.schuchardt@canonical.com>
On Thu, 2023-09-07 at 13:21, Heinrich Schuchardt wrote:
> Multiple revisions of the StarFive VisionFive 2 board exist. They can be
> identified by reading their EEPROM.
>
> Linux uses two differently named device-tree files. To load the correct
> device-tree we need to set $fdtfile to the device-tree file name that
> matches the board revision.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
Tested-by: Milan P. Stanić <mps@arvanta.net>
> ---
> arch/riscv/Kconfig | 1 +
> .../visionfive2/starfive_visionfive2.c | 43 ++++++++++++++++++-
> 2 files changed, 42 insertions(+), 2 deletions(-)
>
> diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig
> index 6771d8d919..1c62c2345b 100644
> --- a/arch/riscv/Kconfig
> +++ b/arch/riscv/Kconfig
> @@ -26,6 +26,7 @@ config TARGET_SIFIVE_UNMATCHED
>
> config TARGET_STARFIVE_VISIONFIVE2
> bool "Support StarFive VisionFive2 Board"
> + select BOARD_LATE_INIT
>
> config TARGET_TH1520_LPI4A
> bool "Support Sipeed's TH1520 Lichee PI 4A Board"
> diff --git a/board/starfive/visionfive2/starfive_visionfive2.c b/board/starfive/visionfive2/starfive_visionfive2.c
> index d609262b67..05d8d2d657 100644
> --- a/board/starfive/visionfive2/starfive_visionfive2.c
> +++ b/board/starfive/visionfive2/starfive_visionfive2.c
> @@ -5,14 +5,20 @@
> */
>
> #include <common.h>
> -#include <asm/io.h>
> -#include <asm/sections.h>
> #include <cpu_func.h>
> #include <dm.h>
> +#include <env.h>
> +#include <asm/arch/eeprom.h>
> +#include <asm/io.h>
> +#include <asm/sections.h>
> #include <linux/bitops.h>
>
> #define JH7110_L2_PREFETCHER_BASE_ADDR 0x2030000
> #define JH7110_L2_PREFETCHER_HART_OFFSET 0x2000
> +#define FDTFILE_VISIONFIVE2_1_2A \
> + "starfive/jh7110-starfive-visionfive-2-v1.2a.dtb"
> +#define FDTFILE_VISIONFIVE2_1_3B \
> + "starfive/jh7110-starfive-visionfive-2-v1.3b.dtb"
>
> /* enable U74-mc hart1~hart4 prefetcher */
> static void enable_prefetcher(void)
> @@ -33,6 +39,31 @@ static void enable_prefetcher(void)
> }
> }
>
> +/**
> + * set_fdtfile() - set the $fdtfile variable based on the board revision
> + */
> +static void set_fdtfile(void)
> +{
> + u8 version;
> + const char *fdtfile;
> +
> + version = get_pcb_revision_from_eeprom();
> + switch (version) {
> + case 'a':
> + case 'A':
> + fdtfile = FDTFILE_VISIONFIVE2_1_2A;
> + break;
> +
> + case 'b':
> + case 'B':
> + default:
> + fdtfile = FDTFILE_VISIONFIVE2_1_3B;
> + break;
> + };
> +
> + env_set("fdtfile", fdtfile);
> +}
> +
> int board_init(void)
> {
> enable_caches();
> @@ -41,6 +72,14 @@ int board_init(void)
> return 0;
> }
>
> +int board_late_init(void)
> +{
> + if (CONFIG_IS_ENABLED(ID_EEPROM))
> + set_fdtfile();
> +
> + return 0;
> +}
> +
> void *board_fdt_blob_setup(int *err)
> {
> *err = 0;
next prev parent reply other threads:[~2023-09-21 20:29 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-07 11:21 [PATCH 1/1] riscv: set fdtfile on VisionFive 2 Heinrich Schuchardt
2023-09-13 11:25 ` Leo Liang
2023-09-21 20:29 ` Milan P. Stanić [this message]
2023-09-22 13:54 ` Shengyu Qu
2023-09-25 11:43 ` Leo Liang
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=20230921202933.GA22421@m1 \
--to=mps@arvanta.net \
--cc=heinrich.schuchardt@canonical.com \
--cc=rick@andestech.com \
--cc=u-boot@lists.denx.de \
--cc=yanhong.wang@starfivetech.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.