Linux USB
 help / color / mirror / Atom feed
* [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
@ 2026-08-10 12:10 Vladislav Leonov
  2026-08-10 12:11 ` [PATCH 09/25] dt-bindings: usb: rockchip,dwc3: add RV1106 SoC support Vladislav Leonov
  2026-08-10 18:35 ` [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106 Jakub Kicinski
  0 siblings, 2 replies; 3+ messages in thread
From: Vladislav Leonov @ 2026-08-10 12:10 UTC (permalink / raw)
  To: linux-rockchip
  Cc: linux-arm-kernel, Simon Glass, linux-clk, devicetree,
	linux-kernel, Vladislav Leonov, Alexandre Torgue, Andi Shyti,
	Andrew Lunn, Aurelien Jarno, Brian Masney, Conor Dooley,
	Daniel Golle, David S. Miller, David Wu, Eric Dumazet,
	Greg Kroah-Hartman, Heiko Stuebner, Herbert Xu, Jakub Kicinski,
	Krzysztof Kozlowski, Mark Brown, Maxime Chevallier,
	Maxime Coquelin, Michael Turquette, Neil Armstrong,
	Nicolas Frattaroli, Olivia Mackall, Paolo Abeni, Philipp Zabel,
	Rob Herring, Stephen Boyd, Uwe Kleine-König, Vinod Koul,
	linux-crypto, linux-i2c, linux-phy, linux-pwm, linux-spi,
	linux-stm32, linux-usb, netdev

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


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

* [PATCH 09/25] dt-bindings: usb: rockchip,dwc3: add RV1106 SoC support
  2026-08-10 12:10 [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106 Vladislav Leonov
@ 2026-08-10 12:11 ` Vladislav Leonov
  2026-08-10 18:35 ` [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106 Jakub Kicinski
  1 sibling, 0 replies; 3+ messages in thread
From: Vladislav Leonov @ 2026-08-10 12:11 UTC (permalink / raw)
  To: linux-rockchip
  Cc: linux-arm-kernel, Simon Glass, linux-clk, devicetree,
	linux-kernel, Vladislav Leonov, Conor Dooley, Greg Kroah-Hartman,
	Heiko Stuebner, Krzysztof Kozlowski, Rob Herring, linux-usb

Document the DWC3 USB controller found on the Rockchip RV1106 SoC.

The RV1106 has a USB2-only (high-speed) OTG controller. Unlike the
other supported SoCs it has no dedicated suspend clock: it only needs
the 24 MHz reference clock, the AXI bus clock and the UTMI clock.

Since the top-level clock-names list enforces a fixed order with
"suspend_clk" as the second entry, relax the second and third entries
to enums so that the RV1106 clock set (ref_clk, bus_clk, utmi) can be
expressed, and add a per-SoC clause constraining RV1106 to exactly
these three clocks. The relaxation is required rather than cosmetic:
every other compatible's own clause already agrees with the shared
tuple position-by-position, but RV1106 genuinely reorders it (bus_clk
before utmi, no suspend_clk), and allOf branches are ANDed, so without
loosening the shared entries the two clauses would be unsatisfiable
together.

Signed-off-by: Vladislav Leonov <vlad@zlab.su>
---

 .../bindings/usb/rockchip,dwc3.yaml           | 35 ++++++++++++++++---
 1 file changed, 30 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml b/Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml
index 0554dbc4b854..86e00f251bdb 100644
--- a/Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml
+++ b/Documentation/devicetree/bindings/usb/rockchip,dwc3.yaml
@@ -31,6 +31,7 @@ select:
           - rockchip,rk3568-dwc3
           - rockchip,rk3576-dwc3
           - rockchip,rk3588-dwc3
+          - rockchip,rv1106-dwc3
   required:
     - compatible
 
@@ -44,6 +45,7 @@ properties:
           - rockchip,rk3568-dwc3
           - rockchip,rk3576-dwc3
           - rockchip,rk3588-dwc3
+          - rockchip,rv1106-dwc3
       - const: snps,dwc3
 
   reg:
@@ -58,10 +60,11 @@ properties:
       - description:
           Controller reference clock, must to be 24 MHz
       - description:
-          Controller suspend clock, must to be 24 MHz or 32 KHz
+          Controller suspend clock (must to be 24 MHz or 32 KHz) or
+          Master/Core clock
       - description:
           Master/Core clock, must to be >= 62.5 MHz for SS
-          operation and >= 30MHz for HS operation
+          operation and >= 30MHz for HS operation, or UTMI clock
       - description:
           Controller grf clock OR UTMI clock
       - description:
@@ -71,8 +74,12 @@ properties:
     minItems: 3
     items:
       - const: ref_clk
-      - const: suspend_clk
-      - const: bus_clk
+      - enum:
+          - suspend_clk
+          - bus_clk
+      - enum:
+          - bus_clk
+          - utmi
       - enum:
           - grf_clk
           - utmi
@@ -145,7 +152,10 @@ allOf:
         clocks:
           maxItems: 3
         clock-names:
-          maxItems: 3
+          items:
+            - const: ref_clk
+            - const: suspend_clk
+            - const: bus_clk
   - if:
       properties:
         compatible:
@@ -161,6 +171,21 @@ allOf:
             - const: bus_clk
             - const: utmi
             - const: pipe
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: rockchip,rv1106-dwc3
+    then:
+      properties:
+        clocks:
+          minItems: 3
+          maxItems: 3
+        clock-names:
+          items:
+            - const: ref_clk
+            - const: bus_clk
+            - const: utmi
 
 examples:
   - |
-- 
2.47.3


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

* Re: [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106
  2026-08-10 12:10 [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106 Vladislav Leonov
  2026-08-10 12:11 ` [PATCH 09/25] dt-bindings: usb: rockchip,dwc3: add RV1106 SoC support Vladislav Leonov
@ 2026-08-10 18:35 ` Jakub Kicinski
  1 sibling, 0 replies; 3+ messages in thread
From: Jakub Kicinski @ 2026-08-10 18:35 UTC (permalink / raw)
  To: Vladislav Leonov
  Cc: linux-rockchip, linux-arm-kernel, Simon Glass, linux-clk,
	devicetree, linux-kernel, Alexandre Torgue, Andi Shyti,
	Andrew Lunn, Aurelien Jarno, Brian Masney, Conor Dooley,
	Daniel Golle, David S. Miller, David Wu, Eric Dumazet,
	Greg Kroah-Hartman, Heiko Stuebner, Herbert Xu,
	Krzysztof Kozlowski, Mark Brown, Maxime Chevallier,
	Maxime Coquelin, Michael Turquette, Neil Armstrong,
	Nicolas Frattaroli, Olivia Mackall, Paolo Abeni, Philipp Zabel,
	Rob Herring, Stephen Boyd, Uwe Kleine-König, Vinod Koul,
	linux-crypto, linux-i2c, linux-phy, linux-pwm, linux-spi,
	linux-stm32, linux-usb, netdev

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..

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

end of thread, other threads:[~2026-08-10 18:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-10 12:10 [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106 Vladislav Leonov
2026-08-10 12:11 ` [PATCH 09/25] dt-bindings: usb: rockchip,dwc3: add RV1106 SoC support Vladislav Leonov
2026-08-10 18:35 ` [PATCH 00/25] ARM: rockchip: Add peripheral support for RV1106 Jakub Kicinski

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