Devicetree
 help / color / mirror / Atom feed
* [PATCH v15 0/2] arm64: dts: rockchip: Add ALIENTEK QuarkPi-CA2
@ 2026-11-04 16:34 Bob Hui
  2026-11-04 16:34 ` [PATCH v15 1/2] dt-bindings: arm: " Bob Hui
  2026-11-04 16:34 ` [PATCH v15 2/2] arm64: dts: " Bob Hui
  0 siblings, 2 replies; 4+ messages in thread
From: Bob Hui @ 2026-11-04 16:34 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Heiko Stuebner
  Cc: Shawn Lin, Andrew Lunn, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, Conor Dooley, Bob Hui

This series adds support for the ALIENTEK QuarkPi-CA2, an RK3588S based
single board computer. The binding patch documents the board, the DTS
patch describes the hardware.

The DTS was rebuilt from scratch against the vendor 5.10 BSP device tree
and then translated to current mainline bindings, so that every node and
property has a vendor-side or schematic origin instead of being carried
over from the earlier revisions.

Changes in v15:
- Rebase onto v7.4-rc1 and re-check the DTS with that tree's dt-schema.
- Move the Ethernet PHY reset from the MAC to the MDIO bus, as the Sashiko
  bot suggested on v14: snps,reset-gpio, snps,reset-active-low and
  snps,reset-delay-us are deprecated, and stmmac_resume() pulses that
  reset while the YT8531 clock is only programmed once in probe, so the
  link may not come back after a resume.  &mdio1 now carries reset-gpios,
  reset-delay-us, reset-post-delay-us and a pinctrl group for the GPIO.
- Drop the &sata0 node, as the Sashiko bot suggested on v14: rk3588-base
  .dtsi already leaves sata0 disabled, so the override only repeated the
  default.
- Drop cap-mmc-highspeed from &sdmmc, as the Sashiko bot suggested on v14:
  with no-mmc set mmc_of_parse() never initialises MMC mode, so the
  capability could not take effect.
- Describe the USB-C data path with the graph the drivers parse, as the
  Sashiko bot suggested on v14: rk_udphy_probe() looks its DisplayPort
  output up with fwnode_graph_get_endpoint_by_id(dev, 3), so the Type-C
  connector, the USB 3.0 host controller and the USBDP PHY now use ports
  with port@N and reg, and the endpoints are connected through labels.
- Fix the indentation of the added graph nodes and the SPDX line.  No
  property is changed by that.
- Link to v14: https://patch.msgid.link/20261103-quarkpi-ca2-v14-0-290990440b67@163.com

Changes in v14, addressing the Sashiko bot's suggestions on v13:
- Drop the unused media/video-interfaces.h include.
- Write the ramoops zone sizes as powers of two.  ramoops_probe() rounds
  record_size and pmsg_size down, so 64 KiB and 128 KiB are the sizes the
  driver already used and the layout does not change.
- Link to v13: https://patch.msgid.link/20261103-quarkpi-ca2-v13-0-ad8c30cdb67e@163.com

Changes in v13:
- Add a link to the board schematics and the Reviewed-by tag from Shawn
  Lin, who reviewed the sdmmc, sdhci and PCIe parts.
- Move the pin configuration of the headphone amplifier's enable GPIO from
  the sound card node to the amplifier node itself, as the Sashiko bot
  suggested on v12: pinctrl is applied per device, so the amplifier can
  probe before the sound card and request that GPIO while it is not yet
  configured.
- Drop the leftover Assisted-by tag from the bindings patch.
- Link to v12: https://patch.msgid.link/20261102-quarkpi-ca2-v12-0-d749d9bb2bf9@163.com

Changes in v12, addressing the Sashiko bot's suggestions on v11:
- Sort the PMIC regulator nodes in natural order, so that dcdc-reg1 comes
  before dcdc-reg10.
- Sort the phandle references in natural order, so that pwm7 comes before
  pwm14.
- Put simple-audio-card,codec before simple-audio-card,cpu.
- Add the blank lines between sibling nodes that were missing.
- Link to v11: https://patch.msgid.link/20261102-quarkpi-ca2-v11-0-eb246076a82f@163.com

Changes in v11, addressing Heiko Stuebner's review of v10:
- Trim the commit message down to the board description and the list of
  supported peripherals.
- Drop the Assisted-by tag.
- Note on the Reviewed-by line which nodes were reviewed.
- Sort the properties in aliases alphabetically.
- Sort the nodes without unit addresses alphabetically, everywhere.
- Drop the deprecated regulator-suspend-microvolt properties.
- Sort the phandle references alphabetically.
- Keep a single root node and merge the extra root nodes and the &{/}
  block into it.
- Link to v10: https://patch.msgid.link/20261023-quarkpi-ca2-v10-0-9db904194e03@163.com

Changes in v10:
- Add the Acked-by tag from Conor Dooley, which I missed.
- Add the missing domain-supply for the GPU and NPU power domains.  Without
  it the power domain driver falls back to a dummy regulator for both.
- Enable the three NPU IOMMUs the enabled NPU cores reference.  Without them
  opening /dev/accel/accel0 fails with -ENODEV.
- Link to v9: https://patch.msgid.link/20261021-quarkpi-ca2-v9-0-b75006b22bc5@163.com

Testing: boots from microSD with this series on a v7.3 kernel, and the
on-board hardware (microSD, eMMC, HDMI, USB-C DP altmode, USB 3.0 and
USB 2.0, PCIe Wi-Fi, Bluetooth, GbE, ES8388 playback, PWM fan) works;
"make CHECK_DTBS=y" is clean.  The NPU works on this revision (all three
cores detected, IOMMUs attached, /dev/accel/accel0 opens, MNIST classifier
95.00% correct on 200 images).

Note: the debug console is ttyS2 and there is no fiq_debugger node, so
console=ttyS2,1500000 has to be added to the bootargs manually, and capture
from the headset microphone needs the separate ASoC series for
sound/soc/codecs/es8328.c, which does not affect playback.  PWM14 has no
consumer, because it is only described with the pinctrl group for pin 33 of
the 40-pin header, and it is enabled so that user space can drive it
through the pwmchip interface.  The unconsumed combophy_avdd0v85 and
combophy_avdd1v8 regulators are kept as well, because they document the two
PHY rails of the board and the combphy driver has no supply property to
attach them to.  Both the direct and the amplified headphone routes are
kept, so the Sashiko bot's suggestion on v12 to drop the direct ones is not
applied: the vendor card routes LOUT1/ROUT1 and its "Headphone Power"
widget into the same Headphone sink, and the jack is silent when only the
amplifier path is described.  The connector's port@0/port@1 numbering
therefore stays as it is and the v14 suggestion to swap it is not applied,
because that numbering matches rk3588-evb1-v10.dts, and rockchip,dp-lane-mux
stays too because the other RK3588 boards that route DisplayPort over USB-C
set it as well.

Please review.

---
Bob Hui (2):
      dt-bindings: arm: rockchip: Add ALIENTEK QuarkPi-CA2
      arm64: dts: rockchip: Add ALIENTEK QuarkPi-CA2

 .../devicetree/bindings/arm/rockchip.yaml          |    5 +
 arch/arm64/boot/dts/rockchip/Makefile              |    1 +
 .../boot/dts/rockchip/rk3588s-quarkpi-ca2.dts      | 1240 ++++++++++++++++++++
 3 files changed, 1246 insertions(+)
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20261004-quarkpi-ca2-21d2a59c50c3

Best regards,
--  
Bob Hui <bg9oxa@163.com>


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

end of thread, other threads:[~2026-11-04 16:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-04 16:34 [PATCH v15 0/2] arm64: dts: rockchip: Add ALIENTEK QuarkPi-CA2 Bob Hui
2026-11-04 16:34 ` [PATCH v15 1/2] dt-bindings: arm: " Bob Hui
2026-11-04 16:34 ` [PATCH v15 2/2] arm64: dts: " Bob Hui
2026-11-04 16:51   ` sashiko-bot

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