[PATCH V4 0/7] Add Additional Boards and Features to RGxx3

Chris Morgan
2024-01-02T15:47:08Z

From: Chris Morgan <macromorgan@hotmail.com>

The RGxx3 is a pseudo-device for U-Boot that works for every Anbernic
RGxx3 series device on the market. Add support for another series of
very similar devices from Powkiddy.

Changes since V3:
- Fixed a bug with else/else if logic for board detection (changed
a second incorrect "if" to the proper "else if").

Changes since V2:
- Modify the mach-rockchip level rockchip_dnl_key_pressed() so that
we can also call it in SPL mode and eliminate the board specific
function. This requires adding ADC support to SPL. Additionally,
I had to change the regulator for the saradc to a fixed regulator
and add GPIO and regulator support to SPL.
- Move the board specific board_rng_seed to the mach-rockchip level
board file so that other rockchip boards with a hardware RNG can
benefit. This should only be called if both the Rockchip
hardware RNG as well as the rng seed functions are enabled.
- Add two new boards (the RG-ARC-D and RG-ARC-S). I removed the
previous code review due to the extensive changes made.

Changes since V1:
- Update verbiage around function button to say "recovery" mode
instead of calling it "maskrom" mode, which has a specific
meaning. Also note that recovery function was done in a board
specific manner to ensure it can run early.
- Update board level documentation for the RGxx3.

Chris Morgan (7):
board: rockchip: Refactor panel auto-detect code
spl: Add Kconfig options for ADC
rockchip: boot_mode: Allow rockchip_dnl_key_pressed() in SPL
board: rockchip: Add Recovery Button for Anbernic RGxx3
rockchip: board: Add board_rng_seed() for all Rockchip devices
board: rockchip: Add support for new boards to RGxx3
doc: board: anbernic: Update rgxx3 to add new boards

.../arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi | 11 +
arch/arm/mach-rockchip/Makefile | 4 +-
arch/arm/mach-rockchip/board.c | 32 +++
arch/arm/mach-rockchip/boot_mode.c | 11 +-
board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c | 194 +++++++++++-------
common/spl/Kconfig | 7 +
configs/anbernic-rgxx3-rk3566_defconfig | 16 +-
doc/board/anbernic/rgxx3.rst | 20 +-
drivers/Makefile | 1 +
drivers/adc/Makefile | 2 +-
include/configs/anbernic-rgxx3-rk3566.h | 2 +
11 files changed, 210 insertions(+), 90 deletions(-)

--
2.34.1