Re: [V2 PATCH 2/2] rockchip: Switch RK3568 and RK3588 to new RAM bank logic

2024-04-02 Thread Quentin Schulz

Hi Chris,

On 4/1/24 20:14, Chris Morgan wrote:

From: Chris Morgan 

Switch all RK3568 and RK3588 boards to use the ATAGS based RAM bank
logic. This allows us to access all RAM when >= 4GB of RAM is available
while also automatically creating the memory holes when >= 16GB of RAM
is available.

Remove the board specific logic that previously created the memory
holes, and update the CONFIG_NR_DRAM_BANKS to 10 which is the maximum
supported number of banks using the ATAGS method. Only the number of
banks found by the RAM init code will get added.

Signed-off-by: Chris Morgan 


Could you please rebase on top of next to have all new boards as well? I 
don't see my Jaguar in there and it feels sad being left on the side :( 
You may want to have your Indiedroid Nova patch based on that series as 
well?


Half wondering if we shouldn't have CONFIG_NR_DRAM_BANKS=10 forcibly set 
when ROCKCHIP_EXTERNAL_TPL is used?



---
  board/friendlyelec/nanopc-t6-rk3588/Makefile  |  6 ---
  .../nanopc-t6-rk3588/nanopc-t6-rk3588.c   | 39 ---
  board/pine64/quartzpro64-rk3588/Makefile  |  3 --
  .../quartzpro64-rk3588/quartzpro64-rk3588.c   | 39 ---
  board/radxa/rock5a-rk3588s/Makefile   |  6 ---
  board/radxa/rock5a-rk3588s/rock5a-rk3588s.c   | 39 ---
  board/radxa/rock5b-rk3588/Makefile|  6 ---
  board/radxa/rock5b-rk3588/rock5b-rk3588.c | 39 ---
  board/rockchip/evb_rk3588/Makefile|  6 ---
  board/rockchip/evb_rk3588/evb-rk3588.c| 39 ---
  board/turing/turing-rk1-rk3588/Makefile   |  6 ---
  .../turing-rk1-rk3588/turing-rk1-rk3588.c | 39 ---
  configs/anbernic-rgxx3-rk3566_defconfig   |  2 +-
  configs/bpi-r2-pro-rk3568_defconfig   |  2 +-
  configs/evb-rk3568_defconfig  |  2 +-
  configs/evb-rk3588_defconfig  |  3 +-
  configs/generic-rk3568_defconfig  |  2 +-
  configs/lubancat-2-rk3568_defconfig   |  2 +-
  configs/nanopc-t6-rk3588_defconfig|  3 +-
  configs/nanopi-r5c-rk3568_defconfig   |  2 +-
  configs/nanopi-r5s-rk3568_defconfig   |  2 +-
  configs/neu6a-io-rk3588_defconfig |  2 +-
  configs/neu6b-io-rk3588_defconfig |  2 +-
  configs/odroid-m1-rk3568_defconfig|  2 +-
  configs/orangepi-5-plus-rk3588_defconfig  |  3 +-
  configs/orangepi-5-rk3588s_defconfig  |  3 +-
  configs/quartz64-a-rk3566_defconfig   |  2 +-
  configs/quartz64-b-rk3566_defconfig   |  2 +-
  configs/quartzpro64-rk3588_defconfig  |  3 +-
  configs/radxa-cm3-io-rk3566_defconfig |  2 +-
  configs/radxa-e25-rk3568_defconfig|  2 +-
  configs/rock-3a-rk3568_defconfig  |  2 +-
  configs/rock5a-rk3588s_defconfig  |  3 +-
  configs/rock5b-rk3588_defconfig   |  3 +-
  configs/soquartz-blade-rk3566_defconfig   |  2 +-
  configs/soquartz-cm4-rk3566_defconfig |  2 +-
  configs/soquartz-model-a-rk3566_defconfig |  2 +-
  configs/turing-rk1-rk3588_defconfig   |  3 +-
  38 files changed, 26 insertions(+), 301 deletions(-)
  delete mode 100644 board/friendlyelec/nanopc-t6-rk3588/Makefile
  delete mode 100644 board/friendlyelec/nanopc-t6-rk3588/nanopc-t6-rk3588.c
  delete mode 100644 board/pine64/quartzpro64-rk3588/Makefile
  delete mode 100644 board/pine64/quartzpro64-rk3588/quartzpro64-rk3588.c
  delete mode 100644 board/radxa/rock5a-rk3588s/Makefile
  delete mode 100644 board/radxa/rock5a-rk3588s/rock5a-rk3588s.c
  delete mode 100644 board/radxa/rock5b-rk3588/Makefile
  delete mode 100644 board/radxa/rock5b-rk3588/rock5b-rk3588.c
  delete mode 100644 board/rockchip/evb_rk3588/Makefile
  delete mode 100644 board/rockchip/evb_rk3588/evb-rk3588.c
  delete mode 100644 board/turing/turing-rk1-rk3588/Makefile
  delete mode 100644 board/turing/turing-rk1-rk3588/turing-rk1-rk3588.c

diff --git a/board/friendlyelec/nanopc-t6-rk3588/Makefile 
b/board/friendlyelec/nanopc-t6-rk3588/Makefile
deleted file mode 100644
index c1c49b1970..00
--- a/board/friendlyelec/nanopc-t6-rk3588/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0+
-#
-# Copyright (c) 2023 Rockchip Electronics Co,. Ltd.
-#
-
-obj-y += nanopc-t6-rk3588.o
diff --git a/board/friendlyelec/nanopc-t6-rk3588/nanopc-t6-rk3588.c 
b/board/friendlyelec/nanopc-t6-rk3588/nanopc-t6-rk3588.c
deleted file mode 100644
index 99bbef964e..00
--- a/board/friendlyelec/nanopc-t6-rk3588/nanopc-t6-rk3588.c
+++ /dev/null
@@ -1,39 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (c) 2023 Rockchip Electronics Co,. Ltd.
- */
-
-#include 
-#include 
-
-#ifdef CONFIG_OF_BOARD_SETUP


I think it may now be possible to remove this symbol from the 
appropriate defconfigs? Not sure though.


Cheers,
Quentin


[V2 PATCH 2/2] rockchip: Switch RK3568 and RK3588 to new RAM bank logic

2024-04-01 Thread Chris Morgan
From: Chris Morgan 

Switch all RK3568 and RK3588 boards to use the ATAGS based RAM bank
logic. This allows us to access all RAM when >= 4GB of RAM is available
while also automatically creating the memory holes when >= 16GB of RAM
is available.

Remove the board specific logic that previously created the memory
holes, and update the CONFIG_NR_DRAM_BANKS to 10 which is the maximum
supported number of banks using the ATAGS method. Only the number of
banks found by the RAM init code will get added.

Signed-off-by: Chris Morgan 
---
 board/friendlyelec/nanopc-t6-rk3588/Makefile  |  6 ---
 .../nanopc-t6-rk3588/nanopc-t6-rk3588.c   | 39 ---
 board/pine64/quartzpro64-rk3588/Makefile  |  3 --
 .../quartzpro64-rk3588/quartzpro64-rk3588.c   | 39 ---
 board/radxa/rock5a-rk3588s/Makefile   |  6 ---
 board/radxa/rock5a-rk3588s/rock5a-rk3588s.c   | 39 ---
 board/radxa/rock5b-rk3588/Makefile|  6 ---
 board/radxa/rock5b-rk3588/rock5b-rk3588.c | 39 ---
 board/rockchip/evb_rk3588/Makefile|  6 ---
 board/rockchip/evb_rk3588/evb-rk3588.c| 39 ---
 board/turing/turing-rk1-rk3588/Makefile   |  6 ---
 .../turing-rk1-rk3588/turing-rk1-rk3588.c | 39 ---
 configs/anbernic-rgxx3-rk3566_defconfig   |  2 +-
 configs/bpi-r2-pro-rk3568_defconfig   |  2 +-
 configs/evb-rk3568_defconfig  |  2 +-
 configs/evb-rk3588_defconfig  |  3 +-
 configs/generic-rk3568_defconfig  |  2 +-
 configs/lubancat-2-rk3568_defconfig   |  2 +-
 configs/nanopc-t6-rk3588_defconfig|  3 +-
 configs/nanopi-r5c-rk3568_defconfig   |  2 +-
 configs/nanopi-r5s-rk3568_defconfig   |  2 +-
 configs/neu6a-io-rk3588_defconfig |  2 +-
 configs/neu6b-io-rk3588_defconfig |  2 +-
 configs/odroid-m1-rk3568_defconfig|  2 +-
 configs/orangepi-5-plus-rk3588_defconfig  |  3 +-
 configs/orangepi-5-rk3588s_defconfig  |  3 +-
 configs/quartz64-a-rk3566_defconfig   |  2 +-
 configs/quartz64-b-rk3566_defconfig   |  2 +-
 configs/quartzpro64-rk3588_defconfig  |  3 +-
 configs/radxa-cm3-io-rk3566_defconfig |  2 +-
 configs/radxa-e25-rk3568_defconfig|  2 +-
 configs/rock-3a-rk3568_defconfig  |  2 +-
 configs/rock5a-rk3588s_defconfig  |  3 +-
 configs/rock5b-rk3588_defconfig   |  3 +-
 configs/soquartz-blade-rk3566_defconfig   |  2 +-
 configs/soquartz-cm4-rk3566_defconfig |  2 +-
 configs/soquartz-model-a-rk3566_defconfig |  2 +-
 configs/turing-rk1-rk3588_defconfig   |  3 +-
 38 files changed, 26 insertions(+), 301 deletions(-)
 delete mode 100644 board/friendlyelec/nanopc-t6-rk3588/Makefile
 delete mode 100644 board/friendlyelec/nanopc-t6-rk3588/nanopc-t6-rk3588.c
 delete mode 100644 board/pine64/quartzpro64-rk3588/Makefile
 delete mode 100644 board/pine64/quartzpro64-rk3588/quartzpro64-rk3588.c
 delete mode 100644 board/radxa/rock5a-rk3588s/Makefile
 delete mode 100644 board/radxa/rock5a-rk3588s/rock5a-rk3588s.c
 delete mode 100644 board/radxa/rock5b-rk3588/Makefile
 delete mode 100644 board/radxa/rock5b-rk3588/rock5b-rk3588.c
 delete mode 100644 board/rockchip/evb_rk3588/Makefile
 delete mode 100644 board/rockchip/evb_rk3588/evb-rk3588.c
 delete mode 100644 board/turing/turing-rk1-rk3588/Makefile
 delete mode 100644 board/turing/turing-rk1-rk3588/turing-rk1-rk3588.c

diff --git a/board/friendlyelec/nanopc-t6-rk3588/Makefile 
b/board/friendlyelec/nanopc-t6-rk3588/Makefile
deleted file mode 100644
index c1c49b1970..00
--- a/board/friendlyelec/nanopc-t6-rk3588/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0+
-#
-# Copyright (c) 2023 Rockchip Electronics Co,. Ltd.
-#
-
-obj-y += nanopc-t6-rk3588.o
diff --git a/board/friendlyelec/nanopc-t6-rk3588/nanopc-t6-rk3588.c 
b/board/friendlyelec/nanopc-t6-rk3588/nanopc-t6-rk3588.c
deleted file mode 100644
index 99bbef964e..00
--- a/board/friendlyelec/nanopc-t6-rk3588/nanopc-t6-rk3588.c
+++ /dev/null
@@ -1,39 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0+
-/*
- * Copyright (c) 2023 Rockchip Electronics Co,. Ltd.
- */
-
-#include 
-#include 
-
-#ifdef CONFIG_OF_BOARD_SETUP
-int nanopc_t6_add_reserved_memory_fdt_nodes(void *new_blob)
-{
-   struct fdt_memory gap1 = {
-   .start = 0x3fc00,
-   .end = 0x3fc4f,
-   };
-   struct fdt_memory gap2 = {
-   .start = 0x3fff0,
-   .end = 0x3,
-   };
-   unsigned long flags = FDTDEC_RESERVED_MEMORY_NO_MAP;
-   unsigned int ret;
-
-   /*
-* Inject the reserved-memory nodes into the DTS
-*/
-   ret = fdtdec_add_reserved_memory(new_blob, "gap1", ,  NULL, 0,
-NULL, flags);
-   if (ret)
-   return ret;
-
-