[PATCH 0/3] arm: rockchip: add support for the radxa rock3 board

Michael Riesch michael.riesch at wolfvision.net
Tue May 31 09:26:21 PDT 2022

Hi all,

This series aims to add support for the Radxa ROCK3 Model A single
board computer featuring the Rockchip RK3568 SoC.

The first two patches mock the dts sync from the Linux kernel and
introduce the device tree for the board (will appear in Linux
v5.19-rc1). These patches can be dropped of course and are added only
for convenience.

There are a few open issues that are somewhat shared by all RK356x

 - The RAM size is defined in the device tree and limited to 2 GB.
   This is correct for the 2 GB version lying around on my desk, but
   it should be noted that there are also 4 GB and 8 GB versions of
   this board available.

 - The eMMC controller seems to require the "no-sd" property in the
   device tree, which is not present in the mainline version. The
   quick fix is to provide this property in the barebox dts.

 - RFC: The "rk3568_start" method in the low-level board code seems
   to be shared by all RK356x boards. Can it be refactored and made
   non-static? If yes, what would be a reasonable location for the
   new function?

 - Of course the IO domain bits are board specific. In the long run
   they should be replaced anyway by a proper iodomain driver. For
   the time being I believe they could remain in the ENTRY_FUNCTION.

Apart from these issues (which are not exactly critical) barebox
works just fine on this neat little board.

Looking forward to your comments!

Best regards,

Michael Riesch (3):
  HACK: add device trees for rk3568
  HACK: add device tree for radxa rock3 model a
  arm: rockchip: add support for the radxa rock3 board

 Documentation/boards/rockchip.rst         |   1 +
 arch/arm/boards/Makefile                  |   1 +
 arch/arm/boards/radxa-rock3/.gitignore    |   1 +
 arch/arm/boards/radxa-rock3/Makefile      |   3 +
 arch/arm/boards/radxa-rock3/board.c       |  48 ++
 arch/arm/boards/radxa-rock3/lowlevel.c    |  44 ++
 arch/arm/configs/rockchip_v8_defconfig    |   1 +
 arch/arm/dts/Makefile                     |   1 +
 arch/arm/dts/rk3568-rock-3a.dts           |  54 +++
 arch/arm/mach-rockchip/Kconfig            |   6 +
 dts/src/arm64/rockchip/rk3568-rock-3a.dts | 562 ++++++++++++++++++++++
 dts/src/arm64/rockchip/rk3568.dtsi        |  23 +
 dts/src/arm64/rockchip/rk356x.dtsi        |  74 ++-
 images/Makefile.rockchip                  |   7 +
 14 files changed, 825 insertions(+), 1 deletion(-)
 create mode 100644 arch/arm/boards/radxa-rock3/.gitignore
 create mode 100644 arch/arm/boards/radxa-rock3/Makefile
 create mode 100644 arch/arm/boards/radxa-rock3/board.c
 create mode 100644 arch/arm/boards/radxa-rock3/lowlevel.c
 create mode 100644 arch/arm/dts/rk3568-rock-3a.dts
 create mode 100644 dts/src/arm64/rockchip/rk3568-rock-3a.dts


More information about the barebox mailing list