u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
* [PATCH] board: starfive: handle compatible property in dynamic DT configuration
@ 2024-01-10 20:17 Aurelien Jarno
  2024-01-22 21:02 ` Aurelien Jarno
  2024-01-31  2:56 ` Leo Liang
  0 siblings, 2 replies; 3+ messages in thread
From: Aurelien Jarno @ 2024-01-10 20:17 UTC (permalink / raw)
  To: u-boot; +Cc: Yanhong Wang, Aurelien Jarno

The difference between the StarFive VisionFive 2 1.2A and 1.3B boards is
handled dynamically by looking at the PCB version in the EEPROM in order
to have a single u-boot version for both versions of the board. While
the "model" property is correctly handled, the "compatible" one is
always the the one of version 1.3b.

This patch add support for dynamically configuring that property.

Fixes: 9b7060bd15e7 ("riscv: dts: jh7110: Combine the board device tree files of 1.2A and 1.3B")

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
---
 board/starfive/visionfive2/spl.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/board/starfive/visionfive2/spl.c b/board/starfive/visionfive2/spl.c
index 336f0cdfc9..911add429d 100644
--- a/board/starfive/visionfive2/spl.c
+++ b/board/starfive/visionfive2/spl.c
@@ -61,11 +61,13 @@ static const struct starfive_vf2_pro starfive_verb[] = {
 
 void spl_fdt_fixup_version_a(void *fdt)
 {
+	static const char compat[] = "starfive,visionfive-2-v1.2a\0starfive,jh7110";
 	u32 phandle;
 	u8 i;
 	int offset;
 	int ret;
 
+	fdt_setprop(fdt, fdt_path_offset(fdt, "/"), "compatible", compat, sizeof(compat));
 	fdt_setprop_string(fdt, fdt_path_offset(fdt, "/"), "model",
 			   "StarFive VisionFive 2 v1.2A");
 
@@ -106,11 +108,13 @@ void spl_fdt_fixup_version_a(void *fdt)
 
 void spl_fdt_fixup_version_b(void *fdt)
 {
+	static const char compat[] = "starfive,visionfive-2-v1.3b\0starfive,jh7110";
 	u32 phandle;
 	u8 i;
 	int offset;
 	int ret;
 
+	fdt_setprop(fdt, fdt_path_offset(fdt, "/"), "compatible", compat, sizeof(compat));
 	fdt_setprop_string(fdt, fdt_path_offset(fdt, "/"), "model",
 			   "StarFive VisionFive 2 v1.3B");
 
-- 
2.42.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] board: starfive: handle compatible property in dynamic DT configuration
  2024-01-10 20:17 [PATCH] board: starfive: handle compatible property in dynamic DT configuration Aurelien Jarno
@ 2024-01-22 21:02 ` Aurelien Jarno
  2024-01-31  2:56 ` Leo Liang
  1 sibling, 0 replies; 3+ messages in thread
From: Aurelien Jarno @ 2024-01-22 21:02 UTC (permalink / raw)
  To: u-boot, Yanhong Wang

Gentle ping. Note that the maintainer address bounces, I am not sure it
is still valid. Thanks

On 2024-01-10 21:17, Aurelien Jarno wrote:
> The difference between the StarFive VisionFive 2 1.2A and 1.3B boards is
> handled dynamically by looking at the PCB version in the EEPROM in order
> to have a single u-boot version for both versions of the board. While
> the "model" property is correctly handled, the "compatible" one is
> always the the one of version 1.3b.
> 
> This patch add support for dynamically configuring that property.
> 
> Fixes: 9b7060bd15e7 ("riscv: dts: jh7110: Combine the board device tree files of 1.2A and 1.3B")
> 
> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> ---
>  board/starfive/visionfive2/spl.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/board/starfive/visionfive2/spl.c b/board/starfive/visionfive2/spl.c
> index 336f0cdfc9..911add429d 100644
> --- a/board/starfive/visionfive2/spl.c
> +++ b/board/starfive/visionfive2/spl.c
> @@ -61,11 +61,13 @@ static const struct starfive_vf2_pro starfive_verb[] = {
>  
>  void spl_fdt_fixup_version_a(void *fdt)
>  {
> +	static const char compat[] = "starfive,visionfive-2-v1.2a\0starfive,jh7110";
>  	u32 phandle;
>  	u8 i;
>  	int offset;
>  	int ret;
>  
> +	fdt_setprop(fdt, fdt_path_offset(fdt, "/"), "compatible", compat, sizeof(compat));
>  	fdt_setprop_string(fdt, fdt_path_offset(fdt, "/"), "model",
>  			   "StarFive VisionFive 2 v1.2A");
>  
> @@ -106,11 +108,13 @@ void spl_fdt_fixup_version_a(void *fdt)
>  
>  void spl_fdt_fixup_version_b(void *fdt)
>  {
> +	static const char compat[] = "starfive,visionfive-2-v1.3b\0starfive,jh7110";
>  	u32 phandle;
>  	u8 i;
>  	int offset;
>  	int ret;
>  
> +	fdt_setprop(fdt, fdt_path_offset(fdt, "/"), "compatible", compat, sizeof(compat));
>  	fdt_setprop_string(fdt, fdt_path_offset(fdt, "/"), "model",
>  			   "StarFive VisionFive 2 v1.3B");
>  
> -- 
> 2.42.0
> 
> 

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                     http://aurel32.net

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] board: starfive: handle compatible property in dynamic DT configuration
  2024-01-10 20:17 [PATCH] board: starfive: handle compatible property in dynamic DT configuration Aurelien Jarno
  2024-01-22 21:02 ` Aurelien Jarno
@ 2024-01-31  2:56 ` Leo Liang
  1 sibling, 0 replies; 3+ messages in thread
From: Leo Liang @ 2024-01-31  2:56 UTC (permalink / raw)
  To: Aurelien Jarno; +Cc: u-boot, Yanhong Wang

On Wed, Jan 10, 2024 at 09:17:44PM +0100, Aurelien Jarno wrote:
> The difference between the StarFive VisionFive 2 1.2A and 1.3B boards is
> handled dynamically by looking at the PCB version in the EEPROM in order
> to have a single u-boot version for both versions of the board. While
> the "model" property is correctly handled, the "compatible" one is
> always the the one of version 1.3b.
> 
> This patch add support for dynamically configuring that property.
> 
> Fixes: 9b7060bd15e7 ("riscv: dts: jh7110: Combine the board device tree files of 1.2A and 1.3B")
> 
> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
> ---
>  board/starfive/visionfive2/spl.c | 4 ++++
>  1 file changed, 4 insertions(+)

Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-01-31  2:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-10 20:17 [PATCH] board: starfive: handle compatible property in dynamic DT configuration Aurelien Jarno
2024-01-22 21:02 ` Aurelien Jarno
2024-01-31  2:56 ` Leo Liang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).