[PATCH v3 00/15] rockchip: Add support for the RV1103B, RV1103 and RV1106

Simon Glass sjg at chromium.org
Tue Jul 7 17:30:58 CEST 2026


This series adds support for three small Rockchip camera SoCs and two
boards which use them.

The first eight patches are Fabio Estevam's series adding the RV1103B
and the Onion Omega4 board, updated here to address the review
comments on v2: the board patch is split into SoC and board patches,
the devicetree files move into the patches where they belong and the
pinctrl driver uses regmap_update_bits() throughout. All credit for
this work goes to Fabio. The devicetree concern raised in the v2
review is also resolved now: the devicetree files carried here are the
versions merged in Linux v7.1, verbatim, and can be dropped once the
next dts/upstream sync brings them in.

The remaining patches add the RV1106 and its RV1103 package variant,
following the same structure as the RV1103B patches, together with
the Luckfox Pico Mini B board. These SoCs have no mainline Linux
support yet, so their devicetrees are local for now. The clock and
pinctrl drivers are ported from the Rockchip vendor tree and are the
work of Elaine Zhang and Ye Zhang. The final patch makes the
maskrom-mode RAM-boot images work on 32-bit boards without OP-TEE,
which both of these boards rely on.

Tested on the Luckfox Pico Mini B: U-Boot runs from RAM over the USB
maskrom path and both the SPI NAND and a microSD card are usable. THe
board is running in my lab.

Changes in v3:
- Move the board devicetrees to the board patch and the SoC u-boot.dtsi
  to the SoC patch (Jonas)
- Use the devicetree files as merged in Linux v7.1
- Use regmap_update_bits() in all the remaining places (Jonas)
- Align continuation lines with the open parenthesis (checkpatch)
- Use CONFIG_IS_ENABLED() to guard the set_parent operation, matching
  clk_rk3588.c, since plain IS_ENABLED() needs the CONFIG_ prefix
- Guard the spi-nand checks with SPI_NAND_LOAD so that boards without
  SPI NAND support do not grow in size
- New patch, split out from the board patch (Jonas)
- Include the SoC u-boot.dtsi here (Jonas)
- Match the pmu-grf compatible used by the devicetree merged in Linux
  v7.1
- Split out the SoC support into its own patch (Jonas)
- Move the board devicetree files into this patch (Jonas)
- Add the board to the list in the Rockchip documentation
- Extend the MAINTAINERS entry to cover all the RV1103B files
- Use the board devicetree files as merged in Linux v7.1 and switch
  the default devicetree to rv1103b-omega4-evb

Changes in v2:
- Use the devicetrees submitted to upstream Linux
- Use the original author from Rockchip's vendor U-Boot tree
- Use regmap_update_bits()
- Remove unneeded blank lines
- Remove unneeded logging functions
- Use the original author from Rockchip's vendor U-Boot tree
- Use RV1103B rather than RV1103, which is the correct SoC name

Elaine Zhang (1):
  clk: rockchip: Add RV1103B clock driver

Fabio Estevam (5):
  ARM: dts: Add the RV1103B devicetree files
  rockchip: spl-boot-order: Add SPI NAND support
  spl: Add SPI NAND support via MTD in SPL
  rockchip: rv1103b: Add SoC support
  omega4-rv1103b: Add the initial support

Simon Glass (7):
  tools: rkcommon: Add RV1106 support
  pinctrl: rockchip: Add RV1106 support
  ARM: dts: Add the RV1103/RV1106 devicetree files
  clk: rockchip: Add RV1106 clock driver
  rockchip: rv1106: Add SoC support
  luckfox-pico: Add the initial support
  rockchip: Support legacy images when booting from RAM

Xuhui Lin (1):
  tools: rkcommon: Add RV1103B support

Ye Zhang (1):
  pinctrl: rockchip: Add RV1103B support

 .../rv1103-luckfox-pico-mini-b-u-boot.dtsi    |   10 +
 arch/arm/dts/rv1103-luckfox-pico-mini-b.dts   |   85 ++
 arch/arm/dts/rv1103.dtsi                      |   16 +
 arch/arm/dts/rv1103b-omega4-evb-u-boot.dtsi   |   10 +
 arch/arm/dts/rv1103b-omega4-evb.dts           |   63 +
 arch/arm/dts/rv1103b-omega4.dtsi              |  147 ++
 arch/arm/dts/rv1103b-pinctrl.dtsi             |  816 ++++++++++
 arch/arm/dts/rv1103b-u-boot.dtsi              |    4 +
 arch/arm/dts/rv1103b.dtsi                     |  239 +++
 arch/arm/dts/rv1106-pinctrl.dtsi              | 1102 ++++++++++++++
 arch/arm/dts/rv1106-u-boot.dtsi               |    4 +
 arch/arm/dts/rv1106.dtsi                      |  328 ++++
 .../include/asm/arch-rockchip/cru_rv1103b.h   |  266 ++++
 .../include/asm/arch-rockchip/cru_rv1106.h    |  305 ++++
 .../include/asm/arch-rockchip/grf_rv1103b.h   |   31 +
 arch/arm/include/asm/arch-rv1103b/boot0.h     |   11 +
 arch/arm/include/asm/arch-rv1106/boot0.h      |   11 +
 arch/arm/mach-rockchip/Kconfig                |   28 +
 arch/arm/mach-rockchip/Makefile               |    2 +
 arch/arm/mach-rockchip/rv1103b/Kconfig        |   22 +
 arch/arm/mach-rockchip/rv1103b/Makefile       |   12 +
 arch/arm/mach-rockchip/rv1103b/boot0.h        |    5 +
 arch/arm/mach-rockchip/rv1103b/clk_rv1103b.c  |   32 +
 arch/arm/mach-rockchip/rv1103b/rv1103b.c      |  133 ++
 .../mach-rockchip/rv1103b/syscon_rv1103b.c    |   19 +
 arch/arm/mach-rockchip/rv1106/Kconfig         |   28 +
 arch/arm/mach-rockchip/rv1106/Makefile        |   12 +
 arch/arm/mach-rockchip/rv1106/clk_rv1106.c    |   31 +
 arch/arm/mach-rockchip/rv1106/rv1106.c        |  118 ++
 arch/arm/mach-rockchip/rv1106/syscon_rv1106.c |   19 +
 arch/arm/mach-rockchip/spl-boot-order.c       |   12 +-
 arch/arm/mach-rockchip/spl.c                  |   53 +-
 board/luckfox/pico/Kconfig                    |   12 +
 board/luckfox/pico/MAINTAINERS                |    6 +
 board/luckfox/pico/Makefile                   |    7 +
 board/luckfox/pico/pico.c                     |   19 +
 board/luckfox/pico/pico.env                   |    4 +
 board/onion/omega4_rv1103b/Kconfig            |   12 +
 board/onion/omega4_rv1103b/MAINTAINERS        |   15 +
 board/onion/omega4_rv1103b/Makefile           |    7 +
 board/onion/omega4_rv1103b/omega4_rv1103b.c   |   19 +
 board/onion/omega4_rv1103b/omega4_rv1103b.env |    5 +
 common/spl/Kconfig                            |   10 +-
 common/spl/Makefile                           |    1 +
 common/spl/spl_spi_nand.c                     |   82 +
 configs/luckfox-pico-mini-b-rv1103_defconfig  |   79 +
 configs/omega4-rv1103b_defconfig              |   82 +
 doc/board/index.rst                           |    2 +
 doc/board/luckfox/index.rst                   |    9 +
 doc/board/luckfox/luckfox-pico.rst            |   71 +
 doc/board/onion/index.rst                     |    9 +
 doc/board/onion/omega4-rv1103b.rst            |   56 +
 doc/board/rockchip/rockchip.rst               |    7 +
 drivers/clk/rockchip/Makefile                 |    2 +
 drivers/clk/rockchip/clk_rv1103b.c            | 1068 +++++++++++++
 drivers/clk/rockchip/clk_rv1106.c             | 1319 +++++++++++++++++
 drivers/mtd/Makefile                          |    1 +
 drivers/mtd/nand/Makefile                     |   13 +-
 drivers/pinctrl/rockchip/Makefile             |    2 +
 drivers/pinctrl/rockchip/pinctrl-rv1103b.c    |  402 +++++
 drivers/pinctrl/rockchip/pinctrl-rv1106.c     |  320 ++++
 include/configs/luckfox_pico.h                |   11 +
 include/configs/omega4_rv1103b.h              |   11 +
 include/configs/rv1103b_common.h              |   14 +
 include/configs/rv1106_common.h               |   13 +
 .../dt-bindings/clock/rockchip,rv1103b-cru.h  |  220 +++
 include/dt-bindings/clock/rv1106-cru.h        |  572 +++++++
 tools/rkcommon.c                              |    2 +
 68 files changed, 8436 insertions(+), 22 deletions(-)
 create mode 100644 arch/arm/dts/rv1103-luckfox-pico-mini-b-u-boot.dtsi
 create mode 100644 arch/arm/dts/rv1103-luckfox-pico-mini-b.dts
 create mode 100644 arch/arm/dts/rv1103.dtsi
 create mode 100644 arch/arm/dts/rv1103b-omega4-evb-u-boot.dtsi
 create mode 100644 arch/arm/dts/rv1103b-omega4-evb.dts
 create mode 100644 arch/arm/dts/rv1103b-omega4.dtsi
 create mode 100644 arch/arm/dts/rv1103b-pinctrl.dtsi
 create mode 100644 arch/arm/dts/rv1103b-u-boot.dtsi
 create mode 100644 arch/arm/dts/rv1103b.dtsi
 create mode 100644 arch/arm/dts/rv1106-pinctrl.dtsi
 create mode 100644 arch/arm/dts/rv1106-u-boot.dtsi
 create mode 100644 arch/arm/dts/rv1106.dtsi
 create mode 100644 arch/arm/include/asm/arch-rockchip/cru_rv1103b.h
 create mode 100644 arch/arm/include/asm/arch-rockchip/cru_rv1106.h
 create mode 100644 arch/arm/include/asm/arch-rockchip/grf_rv1103b.h
 create mode 100644 arch/arm/include/asm/arch-rv1103b/boot0.h
 create mode 100644 arch/arm/include/asm/arch-rv1106/boot0.h
 create mode 100644 arch/arm/mach-rockchip/rv1103b/Kconfig
 create mode 100644 arch/arm/mach-rockchip/rv1103b/Makefile
 create mode 100644 arch/arm/mach-rockchip/rv1103b/boot0.h
 create mode 100644 arch/arm/mach-rockchip/rv1103b/clk_rv1103b.c
 create mode 100644 arch/arm/mach-rockchip/rv1103b/rv1103b.c
 create mode 100644 arch/arm/mach-rockchip/rv1103b/syscon_rv1103b.c
 create mode 100644 arch/arm/mach-rockchip/rv1106/Kconfig
 create mode 100644 arch/arm/mach-rockchip/rv1106/Makefile
 create mode 100644 arch/arm/mach-rockchip/rv1106/clk_rv1106.c
 create mode 100644 arch/arm/mach-rockchip/rv1106/rv1106.c
 create mode 100644 arch/arm/mach-rockchip/rv1106/syscon_rv1106.c
 create mode 100644 board/luckfox/pico/Kconfig
 create mode 100644 board/luckfox/pico/MAINTAINERS
 create mode 100644 board/luckfox/pico/Makefile
 create mode 100644 board/luckfox/pico/pico.c
 create mode 100644 board/luckfox/pico/pico.env
 create mode 100644 board/onion/omega4_rv1103b/Kconfig
 create mode 100644 board/onion/omega4_rv1103b/MAINTAINERS
 create mode 100644 board/onion/omega4_rv1103b/Makefile
 create mode 100644 board/onion/omega4_rv1103b/omega4_rv1103b.c
 create mode 100644 board/onion/omega4_rv1103b/omega4_rv1103b.env
 create mode 100644 common/spl/spl_spi_nand.c
 create mode 100644 configs/luckfox-pico-mini-b-rv1103_defconfig
 create mode 100644 configs/omega4-rv1103b_defconfig
 create mode 100644 doc/board/luckfox/index.rst
 create mode 100644 doc/board/luckfox/luckfox-pico.rst
 create mode 100644 doc/board/onion/index.rst
 create mode 100644 doc/board/onion/omega4-rv1103b.rst
 create mode 100644 drivers/clk/rockchip/clk_rv1103b.c
 create mode 100644 drivers/clk/rockchip/clk_rv1106.c
 create mode 100644 drivers/pinctrl/rockchip/pinctrl-rv1103b.c
 create mode 100644 drivers/pinctrl/rockchip/pinctrl-rv1106.c
 create mode 100644 include/configs/luckfox_pico.h
 create mode 100644 include/configs/omega4_rv1103b.h
 create mode 100644 include/configs/rv1103b_common.h
 create mode 100644 include/configs/rv1106_common.h
 create mode 100644 include/dt-bindings/clock/rockchip,rv1103b-cru.h
 create mode 100644 include/dt-bindings/clock/rv1106-cru.h

---
base-commit: ee5d46b45ec0c63f8f9dd1e816e0dac3452ccc3d
branch: rocka-us3

-- 
2.43.0



More information about the U-Boot mailing list