[PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106

Vladislav Leonov posted 25 patches 1 month, 2 weeks ago
.../devicetree/bindings/i2c/i2c-rk3x.yaml     |   1 +
.../bindings/net/rockchip-dwmac.yaml          |   2 +
.../bindings/phy/rockchip,inno-usb2phy.yaml   |   9 +-
.../devicetree/bindings/pwm/pwm-rockchip.yaml |   8 +
.../bindings/rng/rockchip,rk3588-rng.yaml     |  11 +-
.../devicetree/bindings/spi/spi-rockchip.yaml |   5 +
.../bindings/usb/rockchip,dwc3.yaml           |  35 +-
arch/arm/boot/dts/rockchip/rv1106.dtsi        | 426 ++++++++++++++++++
drivers/clk/rockchip/Makefile                 |   2 +-
drivers/clk/rockchip/clk-rv1106.c             |   4 +
drivers/clk/rockchip/clk.h                    |   1 +
drivers/clk/rockchip/rst-rv1106.c             | 340 ++++++++++++++
.../net/ethernet/stmicro/stmmac/dwmac-rk.c    |  55 +++
drivers/phy/rockchip/phy-rockchip-inno-usb2.c |  76 ++++
drivers/spi/spi-rockchip.c                    |   1 +
.../dt-bindings/clock/rockchip,rv1106-cru.h   |   2 +
.../dt-bindings/reset/rockchip,rv1106-cru.h   | 305 +++++++++++++
17 files changed, 1272 insertions(+), 11 deletions(-)
create mode 100644 drivers/clk/rockchip/rst-rv1106.c
create mode 100644 include/dt-bindings/reset/rockchip,rv1106-cru.h
[PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
Posted by Vladislav Leonov 1 month, 2 weeks ago
Basic support for the Rockchip RV1106/RV1103 SoCs currently under review.
This series builds on top of that and enables the peripherals needed to
bring up a board beyond a serial console:

 - CRU reset controller support (dt-bindings + clk driver), needed
   by most of the other peripherals below.
 - Ethernet (GMAC) via dwmac-rk.
 - USB2 PHY and USB3-OTG (DWC3).
 - I2C (rk3x).
 - DMA (PL330) + support DMA for the UART nodes.
 - SPI, including a new SCLK_IN_SPI1 clock gate.
 - RNG.
 - SDMMC1.
 - A dts-only quirk (arm,cpu-registers-not-fw-configured) needed on
   the ARM timer node when booting without a secure firmware that
   pre-configures the CPU timer registers.
 - PWM.

Each new dt-binding is added ahead of the driver and dts nodes that
depend on it, so the series bisects cleanly.

This series depends on:
 - "Add support for the Rockchip RV1106 and RV1103" (v3)
   https://lore.kernel.org/all/20260729133609.3465563-1-sjg@chromium.org

 - "pinctrl: Add support for the Rockchip RV1106" (v3)
   https://lore.kernel.org/all/20260729132736.3807082-1-sjg@chromium.org

Testing: boot-tested on custom RV1106 board, with every peripheral
touched by this series: reset/CRU, Ethernet, USB2 PHY/USB3 DWC3,
I2C, DMA+UART, SPI, RNG, SDMMC1 and PWM - exercised and confirmed working.


Vladislav Leonov (25):
  dt-bindings: reset: Add RV1106 CRU reset definitions
  clk: rockchip: Add reset controller support for RV1106
  ARM: dts: rockchip: Add reset bindings to RV1106
  dt-bindings: net: rockchip-dwmac: add RV1106 compatible
  net: ethernet: stmicro: stmmac: dwmac-rk: Add RV1106 support
  ARM: dts: rockchip: Add Ethernet GMAC node for RV1106
  dt-bindings: phy: rockchip,inno-usb2phy: Add RV1106 compatible
  phy: rockchip: inno-usb2: Add support for RV1106
  dt-bindings: usb: rockchip,dwc3: add RV1106 SoC support
  ARM: dts: rockchip: Add USB2 PHY and USB3-OTG (DWC3) nodes for RV1106
  dt-bindings: i2c: rk3x: Add RV1106 compatible
  ARM: dts: rockchip: Add I2C nodes for RV1106
  ARM: dts: rockchip: Add DMAC node for RV1106
  ARM: dts: rockchip: Add DMA support to UART nodes
  dt-bindings: clock: rockchip: Add SCLK_IN_SPI1 for RV1106
  clk: rockchip: Add SCLK_IN_SPI1 gate for RV1106
  dt-bindings: spi: rockchip: Add RV1106 compatible
  spi: rockchip: Add support for RV1106
  ARM: dts: rockchip: Add SPI nodes for RV1106
  dt-bindings: rng: rockchip: Add RV1106 compatible
  ARM: dts: rockchip: Add RNG node for RV1106
  ARM: dts: rockchip: Add SDMMC1 node for RV1106
  ARM: dts: rockchip: add arm,cpu-registers-not-fw-configured to RV1106
    timer node
  dt-bindings: pwm: rockchip: Add RV1106 compatible
  ARM: dts: rockchip: Add PWM nodes for RV1106

 .../devicetree/bindings/i2c/i2c-rk3x.yaml     |   1 +
 .../bindings/net/rockchip-dwmac.yaml          |   2 +
 .../bindings/phy/rockchip,inno-usb2phy.yaml   |   9 +-
 .../devicetree/bindings/pwm/pwm-rockchip.yaml |   8 +
 .../bindings/rng/rockchip,rk3588-rng.yaml     |  11 +-
 .../devicetree/bindings/spi/spi-rockchip.yaml |   5 +
 .../bindings/usb/rockchip,dwc3.yaml           |  35 +-
 arch/arm/boot/dts/rockchip/rv1106.dtsi        | 426 ++++++++++++++++++
 drivers/clk/rockchip/Makefile                 |   2 +-
 drivers/clk/rockchip/clk-rv1106.c             |   4 +
 drivers/clk/rockchip/clk.h                    |   1 +
 drivers/clk/rockchip/rst-rv1106.c             | 340 ++++++++++++++
 .../net/ethernet/stmicro/stmmac/dwmac-rk.c    |  55 +++
 drivers/phy/rockchip/phy-rockchip-inno-usb2.c |  76 ++++
 drivers/spi/spi-rockchip.c                    |   1 +
 .../dt-bindings/clock/rockchip,rv1106-cru.h   |   2 +
 .../dt-bindings/reset/rockchip,rv1106-cru.h   | 305 +++++++++++++
 17 files changed, 1272 insertions(+), 11 deletions(-)
 create mode 100644 drivers/clk/rockchip/rst-rv1106.c
 create mode 100644 include/dt-bindings/reset/rockchip,rv1106-cru.h

---
base-commit: ac414f5eda0814030636177593400acdacfe5e1e
branch: rv1106

-- 
2.47.3
Re: [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
Posted by Simon Glass 1 month, 1 week ago
Hi Vladislav,

On Mon, 10 Aug 2026 at 06:15, Vladislav Leonov <vlad@zlab.su> wrote:
>
> Basic support for the Rockchip RV1106/RV1103 SoCs currently under review.
> This series builds on top of that and enables the peripherals needed to
> bring up a board beyond a serial console:
>
>  - CRU reset controller support (dt-bindings + clk driver), needed
>    by most of the other peripherals below.
>  - Ethernet (GMAC) via dwmac-rk.
>  - USB2 PHY and USB3-OTG (DWC3).
>  - I2C (rk3x).
>  - DMA (PL330) + support DMA for the UART nodes.
>  - SPI, including a new SCLK_IN_SPI1 clock gate.
>  - RNG.
>  - SDMMC1.
>  - A dts-only quirk (arm,cpu-registers-not-fw-configured) needed on
>    the ARM timer node when booting without a secure firmware that
>    pre-configures the CPU timer registers.
>  - PWM.
>
> Each new dt-binding is added ahead of the driver and dts nodes that
> depend on it, so the series bisects cleanly.
>
> This series depends on:
>  - "Add support for the Rockchip RV1106 and RV1103" (v3)
>    https://lore.kernel.org/all/20260729133609.3465563-1-sjg@chromium.org
>
>  - "pinctrl: Add support for the Rockchip RV1106" (v3)
>    https://lore.kernel.org/all/20260729132736.3807082-1-sjg@chromium.org
>
> Testing: boot-tested on custom RV1106 board, with every peripheral
> touched by this series: reset/CRU, Ethernet, USB2 PHY/USB3 DWC3,
> I2C, DMA+UART, SPI, RNG, SDMMC1 and PWM - exercised and confirmed working.
>
>
> Vladislav Leonov (25):
>   dt-bindings: reset: Add RV1106 CRU reset definitions
>   clk: rockchip: Add reset controller support for RV1106
>   ARM: dts: rockchip: Add reset bindings to RV1106
>   dt-bindings: net: rockchip-dwmac: add RV1106 compatible
>   net: ethernet: stmicro: stmmac: dwmac-rk: Add RV1106 support
>   ARM: dts: rockchip: Add Ethernet GMAC node for RV1106
>   dt-bindings: phy: rockchip,inno-usb2phy: Add RV1106 compatible
>   phy: rockchip: inno-usb2: Add support for RV1106
>   dt-bindings: usb: rockchip,dwc3: add RV1106 SoC support
>   ARM: dts: rockchip: Add USB2 PHY and USB3-OTG (DWC3) nodes for RV1106
>   dt-bindings: i2c: rk3x: Add RV1106 compatible
>   ARM: dts: rockchip: Add I2C nodes for RV1106
>   ARM: dts: rockchip: Add DMAC node for RV1106
>   ARM: dts: rockchip: Add DMA support to UART nodes
>   dt-bindings: clock: rockchip: Add SCLK_IN_SPI1 for RV1106
>   clk: rockchip: Add SCLK_IN_SPI1 gate for RV1106
>   dt-bindings: spi: rockchip: Add RV1106 compatible
>   spi: rockchip: Add support for RV1106
>   ARM: dts: rockchip: Add SPI nodes for RV1106
>   dt-bindings: rng: rockchip: Add RV1106 compatible
>   ARM: dts: rockchip: Add RNG node for RV1106
>   ARM: dts: rockchip: Add SDMMC1 node for RV1106
>   ARM: dts: rockchip: add arm,cpu-registers-not-fw-configured to RV1106
>     timer node
>   dt-bindings: pwm: rockchip: Add RV1106 compatible
>   ARM: dts: rockchip: Add PWM nodes for RV1106
>
>  .../devicetree/bindings/i2c/i2c-rk3x.yaml     |   1 +
>  .../bindings/net/rockchip-dwmac.yaml          |   2 +
>  .../bindings/phy/rockchip,inno-usb2phy.yaml   |   9 +-
>  .../devicetree/bindings/pwm/pwm-rockchip.yaml |   8 +
>  .../bindings/rng/rockchip,rk3588-rng.yaml     |  11 +-
>  .../devicetree/bindings/spi/spi-rockchip.yaml |   5 +
>  .../bindings/usb/rockchip,dwc3.yaml           |  35 +-
>  arch/arm/boot/dts/rockchip/rv1106.dtsi        | 426 ++++++++++++++++++
>  drivers/clk/rockchip/Makefile                 |   2 +-
>  drivers/clk/rockchip/clk-rv1106.c             |   4 +
>  drivers/clk/rockchip/clk.h                    |   1 +
>  drivers/clk/rockchip/rst-rv1106.c             | 340 ++++++++++++++
>  .../net/ethernet/stmicro/stmmac/dwmac-rk.c    |  55 +++
>  drivers/phy/rockchip/phy-rockchip-inno-usb2.c |  76 ++++
>  drivers/spi/spi-rockchip.c                    |   1 +
>  .../dt-bindings/clock/rockchip,rv1106-cru.h   |   2 +
>  .../dt-bindings/reset/rockchip,rv1106-cru.h   | 305 +++++++++++++
>  17 files changed, 1272 insertions(+), 11 deletions(-)
>  create mode 100644 drivers/clk/rockchip/rst-rv1106.c
>  create mode 100644 include/dt-bindings/reset/rockchip,rv1106-cru.h
>
> ---
> base-commit: ac414f5eda0814030636177593400acdacfe5e1e
> branch: rv1106
>
> --
> 2.47.3
>

Just to note that I applied this series and tried it on my Luckfox
Pico Mini B (also RV1103 but more basic) and it boots fine. I enabled
the RNG node and the driver seems to work (i.e. the CRU is good).

For the series:
Tested-by: Simon Glass <sjg@chromium.org>  # Luckfox Pico Mini B (RV1103)

Regards,
Simon
Re: [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
Posted by Jakub Kicinski 1 month, 2 weeks ago
On Mon, 10 Aug 2026 15:10:51 +0300 Vladislav Leonov wrote:
> Basic support for the Rockchip RV1106/RV1103 SoCs currently under review.
> This series builds on top of that and enables the peripherals needed to
> bring up a board beyond a serial console:

Don't expect maintainers to dig out patches for their subsystems
from a big series. This is not how upstream development works.
Repost 4+5 as a separate series to networking..
Re: [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
Posted by Uwe Kleine-König 1 month, 2 weeks ago
On Mon, Aug 10, 2026 at 11:35:48AM -0700, Jakub Kicinski wrote:
> On Mon, 10 Aug 2026 15:10:51 +0300 Vladislav Leonov wrote:
> > Basic support for the Rockchip RV1106/RV1103 SoCs currently under review.
> > This series builds on top of that and enables the peripherals needed to
> > bring up a board beyond a serial console:
> 
> Don't expect maintainers to dig out patches for their subsystems
> from a big series. This is not how upstream development works.

I see this from time to time and I personally think it's fine to have
these patches together. Also the only the patch that affects my
subsystem was Cc:d to me which is how I like it (but I think opinions
differ on that one, too).

`b4 am -P _` is great!

> Repost 4+5 as a separate series to networking..

..ooOO(It worked! :-)

Best regards
Uwe
Re: [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
Posted by Krzysztof Kozlowski 1 month, 2 weeks ago
On Tue, Aug 11, 2026 at 07:43:16AM +0200, Uwe Kleine-König wrote:
> On Mon, Aug 10, 2026 at 11:35:48AM -0700, Jakub Kicinski wrote:
> > On Mon, 10 Aug 2026 15:10:51 +0300 Vladislav Leonov wrote:
> > > Basic support for the Rockchip RV1106/RV1103 SoCs currently under review.
> > > This series builds on top of that and enables the peripherals needed to
> > > bring up a board beyond a serial console:
> > 
> > Don't expect maintainers to dig out patches for their subsystems
> > from a big series. This is not how upstream development works.
> 
> I see this from time to time and I personally think it's fine to have
> these patches together. Also the only the patch that affects my
> subsystem was Cc:d to me which is how I like it (but I think opinions
> differ on that one, too).
> 
> `b4 am -P _` is great!

Yeah, and with DTS being patch 3, patch 6, 10 ...  and so on, it is
every easy to review and pick up.

No, there is only one case of combining multiple subsystems together -
upstreaming new SoC vendor. All other cases are wrong and spreading DTS
all over is just proof that this is poorly readable and poorly
reviewable.

Not even mentioning the rules of dependency on DTS expressed in
submitting patches.

Best regards,
Krzysztof
Re: [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
Posted by Mark Brown 1 month, 2 weeks ago
On Tue, Aug 11, 2026 at 07:43:16AM +0200, Uwe Kleine-König wrote:
> On Mon, Aug 10, 2026 at 11:35:48AM -0700, Jakub Kicinski wrote:

> > Don't expect maintainers to dig out patches for their subsystems
> > from a big series. This is not how upstream development works.

> I see this from time to time and I personally think it's fine to have
> these patches together. Also the only the patch that affects my
> subsystem was Cc:d to me which is how I like it (but I think opinions
> differ on that one, too).

Any cross tree thing is just always going to be more effort, at a
minimum you need to figure out if there are actually any dependencies or
if it's just a lot of tangentially related stuff bundled together.  Plus
the larger CC lists and whatever.

> `b4 am -P _` is great!

OTOH b4 won't ingest serieses unless it can commit them to git and I
have *no* idea what the base is supposed to be here, it's not my tree,
Linus' tree or -next.

Please resend the spi bits as a separate series.
Re: [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
Posted by Jakub Kicinski 1 month, 2 weeks ago
On Tue, 11 Aug 2026 07:43:16 +0200 Uwe Kleine-König wrote:
> On Mon, Aug 10, 2026 at 11:35:48AM -0700, Jakub Kicinski wrote:
> > On Mon, 10 Aug 2026 15:10:51 +0300 Vladislav Leonov wrote:  
> > > Basic support for the Rockchip RV1106/RV1103 SoCs currently under review.
> > > This series builds on top of that and enables the peripherals needed to
> > > bring up a board beyond a serial console:  
> > 
> > Don't expect maintainers to dig out patches for their subsystems
> > from a big series. This is not how upstream development works.  
> 
> I see this from time to time and I personally think it's fine to have
> these patches together. Also the only the patch that affects my
> subsystem was Cc:d to me which is how I like it (but I think opinions
> differ on that one, too).
> 
> `b4 am -P _` is great!

We have automation and CI systems which ignore anything that isn't
scoped to networking to save cost. Not sure if there's a polite way 
to say this but the smaller the subsystem the more flexibility can 
be afforded? Let's stick to the existing process, please.