devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Icenowy Zheng <uwu@icenowy.me>
To: Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Paul Walmsley <paul.walmsley@sifive.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Albert Ou <aou@eecs.berkeley.edu>,
	Alexandre Ghiti <alex@ghiti.fr>,
	Emil Renner Berthing <kernel@esmil.dk>,
	Michael Zhu <michael.zhu@starfivetech.com>,
	Drew Fustini <drew@beagleboard.org>, Yao Zi <ziyao@disroot.org>,
	E Shattow <e@freeshell.de>
Cc: devicetree@vger.kernel.org, linux-riscv@lists.infradead.org,
	 linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/2] riscv: dts: starfive: add DT for Orange Pi RV
Date: Tue, 30 Sep 2025 23:51:58 +0800	[thread overview]
Message-ID: <579dad6b4ab0c981b8d51383af2db3a9f4394609.camel@icenowy.me> (raw)
In-Reply-To: <20250930100318.2131968-2-uwu@icenowy.me>

在 2025-09-30星期二的 18:03 +0800,Icenowy Zheng写道:
> Orange Pi RV is a newly released SBC with JH7110 SoC, single GbE port
> (connected to JH7110 GMAC0 via a YT8531 PHY), 4 USB ports (via a
> VL805
> PCIe USB controller connected to JH7110 PCIE0), a M.2 M-key slot
> (connected to JH7110 PCIE1), a HDMI video output, a 3.5mm audio
> output
> and a microSD slot.
> 
> Other Onboard peripherals contain a SPI NOR (which contains the U-
> Boot
> firmware), a 24c02 EEPROM storing some StarFive-specific information
> (factory programmed and read only by default) and an Ampak AP6256
> SDIO
> Wi-Fi module.
> 
> Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
> ---
> Changes in v2:
> - Property order change mentioned in the review of v1.
> - Added Wi-Fi (along with the always on VCC3V3_PCIE regulator, which
> is
>   used to power up WIFI_3V3). The OOB IRQ is still not possible to
> use
>   because of some incompatibility between StarFive pinctrl driver and
>   brcmfmac.
> - Removed the LED because it's in common DTSI.
> 
>  arch/riscv/boot/dts/starfive/Makefile         |  1 +
>  .../boot/dts/starfive/jh7110-orangepi-rv.dts  | 87
> +++++++++++++++++++
>  2 files changed, 88 insertions(+)
>  create mode 100644 arch/riscv/boot/dts/starfive/jh7110-orangepi-
> rv.dts
> 
> diff --git a/arch/riscv/boot/dts/starfive/Makefile
> b/arch/riscv/boot/dts/starfive/Makefile
> index b3bb12f78e7d5..24f1a44828350 100644
> --- a/arch/riscv/boot/dts/starfive/Makefile
> +++ b/arch/riscv/boot/dts/starfive/Makefile
> @@ -10,6 +10,7 @@ dtb-$(CONFIG_ARCH_STARFIVE) += jh7100-starfive-
> visionfive-v1.dtb
>  
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-deepcomputing-fml13v01.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-milkv-mars.dtb
> +dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-orangepi-rv.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-pine64-star64.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-
> v1.2a.dtb
>  dtb-$(CONFIG_ARCH_STARFIVE) += jh7110-starfive-visionfive-2-
> v1.3b.dtb
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> new file mode 100644
> index 0000000000000..5a917b7db6f78
> --- /dev/null
> +++ b/arch/riscv/boot/dts/starfive/jh7110-orangepi-rv.dts
> @@ -0,0 +1,87 @@
> +// SPDX-License-Identifier: GPL-2.0 OR MIT
> +/*
> + * Copyright (C) 2025 Icenowy Zheng <uwu@icenowy.me>
> + */
> +
> +/dts-v1/;
> +#include "jh7110-common.dtsi"
> +
> +/ {
> +       model = "Xunlong Orange Pi RV";
> +       compatible = "xunlong,orangepi-rv", "starfive,jh7110";
> +
> +       /* This regulator is always on by hardware */
> +       reg_vcc3v3_pcie: regulator-vcc3v3-pcie {
> +               compatible = "regulator-fixed";
> +               regulator-name = "vcc3v3-pcie";
> +               regulator-min-microvolt = <3300000>;
> +               regulator-max-microvolt = <3300000>;
> +               regulator-always-on;
> +       };
> +
> +       wifi_pwrseq: wifi-pwrseq {
> +               compatible = "mmc-pwrseq-simple";
> +               reset-gpios = <&sysgpio 62 GPIO_ACTIVE_LOW>;
> +       };
> +};
> +
> +&gmac0 {
> +       assigned-clocks = <&aoncrg JH7110_AONCLK_GMAC0_TX>;
> +       assigned-clock-parents = <&aoncrg
> JH7110_AONCLK_GMAC0_RMII_RTX>;
> +       starfive,tx-use-rgmii-clk;
> +       status = "okay";
> +};
> +
> +&mmc0 {
> +       #address-cells = <1>;
> +       #size-cells = <0>;
> +       cap-sd-highspeed;
> +       mmc-pwrseq = <&wifi_pwrseq>;
> +       vmmc-supply = <&reg_vcc3v3_pcie>;
> +       vqmmc-supply = <&vcc_3v3>;
> +       status = "okay";
> +
> +       ap6256: wifi@1 {
> +               compatible = "brcm,bcm43456-fmac", "brcm,bcm4329-
> fmac";
> +               reg = <1>;
> +               /* TODO: out-of-band IRQ on GPIO21 */
> +       };
> +};
> +
> +&mmc0_pins {
> +       /*
> +        * As the MMC0 bus is used to connect a SDIO Wi-Fi card
> instead of
> +        * an eMMC card, and the eMMC RST is repurposed to be an
> enablement
> +        * pin of the SDIO Wi-Fi, remove it from the pinctrl node and
> manage
> +        * it as a GPIO instead.
> +        */
> +       /delete-node/ rst-pins;
> +};
> +
> +&mmc1 {
> +       /delete-property/ cd-gpios;
> +       broken-cd;

Well it's found that the card detect is working, although with
different polarity with other boards.

Here should be:
```
	cd-gpios = <&sysgpio 41 GPIO_ACTIVE_HIGH>;
```

Will be fixed in the next revision.

> +};
> +
> +&pcie0 {
> +       status = "okay";
> +};
> +
> +&pcie1 {
> +       status = "okay";
> +};
> +
> +&phy0 {
> +       rx-internal-delay-ps = <1500>;
> +       tx-internal-delay-ps = <1500>;
> +       motorcomm,tx-clk-adj-enabled;
> +       motorcomm,tx-clk-10-inverted;
> +       motorcomm,tx-clk-100-inverted;
> +       motorcomm,tx-clk-1000-inverted;
> +       motorcomm,rx-clk-drv-microamp = <3970>;
> +       motorcomm,rx-data-drv-microamp = <2910>;
> +};
> +
> +&pwmdac {
> +       status = "okay";
> +};


  reply	other threads:[~2025-09-30 15:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-30 10:03 [PATCH v2 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible Icenowy Zheng
2025-09-30 10:03 ` [PATCH v2 2/2] riscv: dts: starfive: add DT for Orange Pi RV Icenowy Zheng
2025-09-30 15:51   ` Icenowy Zheng [this message]
2025-10-05 18:47     ` E Shattow
2025-10-06  7:39       ` Icenowy Zheng
2025-10-07  9:56         ` E Shattow
2025-10-21 23:35         ` E Shattow
2025-09-30 18:42 ` [PATCH v2 1/2] dt-bindings: riscv: starfive: add Orange Pi RV board compatible Conor Dooley
2025-11-13 10:55 ` Emil Renner Berthing
2025-11-13 15:39   ` Icenowy Zheng

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=579dad6b4ab0c981b8d51383af2db3a9f4394609.camel@icenowy.me \
    --to=uwu@icenowy.me \
    --cc=alex@ghiti.fr \
    --cc=aou@eecs.berkeley.edu \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=drew@beagleboard.org \
    --cc=e@freeshell.de \
    --cc=kernel@esmil.dk \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=michael.zhu@starfivetech.com \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=robh@kernel.org \
    --cc=ziyao@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).