public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [V2 PATCH 0/2] Update RAM Bank Logic for RK3568/RK3588
@ 2024-04-01 18:14 Chris Morgan
  2024-04-01 18:14 ` [V1 PATCH 1/2] rockchip: sdram: Support getting banks from TPL for rk3568 and rk3588 Chris Morgan
  2024-04-01 18:14 ` [V2 PATCH 2/2] rockchip: Switch RK3568 and RK3588 to new RAM bank logic Chris Morgan
  0 siblings, 2 replies; 7+ messages in thread
From: Chris Morgan @ 2024-04-01 18:14 UTC (permalink / raw)
  To: u-boot
  Cc: naoki, cym, gajjar04akash, frattaroli.nicolas, jagan, cnsztl,
	andyshrk, chenjh, frank-w, jjriek, eugen.hristev, tom, jonas,
	inindev, kever.yang, philipp.tomsich, sjg, trini, Chris Morgan

From: Chris Morgan <macromorgan@hotmail.com>

Use the ATAG info provided by the Rockchip binary TPL to identify
RAM banks on the RK3568 and RK3588 when using the ROCKCHIP_TPL binary.

This is needed because there are specific addresses that should not
be written to for all RK3588 based devices with >=16GB of RAM, writing
to these addresses immediately results in a crash. Additionally on the
RK3568 and RK3588 this allows us to reclaim 256MB of RAM when RAM >=
4GB.

Changes since V1:
 - After additional feedback, removed RFC tag.
 - Made code work for both RK3568 and RK3588.
 - Removed memory hole code for all RK3588 boards.
 - Updated CONFIG_NR_DRAM_BANKS for 3568 and 3588 boards as it is
   the max number of banks supported by the ATAGS code.

Chris Morgan (2):
  rockchip: sdram: Support getting banks from TPL for rk3568 and rk3588
  rockchip: Switch RK3568 and RK3588 to new RAM bank logic

 arch/arm/mach-rockchip/sdram.c                | 100 ++++++++++++++++++
 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 +-
 39 files changed, 126 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

-- 
2.34.1


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

end of thread, other threads:[~2024-04-05 11:19 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-01 18:14 [V2 PATCH 0/2] Update RAM Bank Logic for RK3568/RK3588 Chris Morgan
2024-04-01 18:14 ` [V1 PATCH 1/2] rockchip: sdram: Support getting banks from TPL for rk3568 and rk3588 Chris Morgan
2024-04-02 16:38   ` Quentin Schulz
2024-04-04 21:33     ` Chris Morgan
2024-04-05 11:19       ` Quentin Schulz
2024-04-01 18:14 ` [V2 PATCH 2/2] rockchip: Switch RK3568 and RK3588 to new RAM bank logic Chris Morgan
2024-04-02 16:42   ` Quentin Schulz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox