All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hal Feng <hal.feng@starfivetech.com>
To: Leo <ycliang@andestech.com>, Tom Rini <trini@konsulko.com>,
	Rick Chen <rick@andestech.com>,
	Sumit Garg <sumit.garg@kernel.org>,
	Emil Renner Berthing <emil.renner.berthing@canonical.com>,
	Heinrich Schuchardt <heinrich.schuchardt@canonical.com>,
	E Shattow <e@freeshell.de>
Cc: Hal Feng <hal.feng@starfivetech.com>, u-boot@lists.denx.de
Subject: [PATCH v1 6/9] pcie: starfive: Add a optional power gpio support
Date: Fri, 24 Oct 2025 16:59:29 +0800	[thread overview]
Message-ID: <20251024085932.83596-7-hal.feng@starfivetech.com> (raw)
In-Reply-To: <20251024085932.83596-1-hal.feng@starfivetech.com>

Get and enable a optional power gpio. This feature is ported
from the jh7110 pcie driver in Linux. VisionFive 2 Lite needs
this gpio to enable the PCI bus device (M.2 M-Key) power.

Signed-off-by: Hal Feng <hal.feng@starfivetech.com>
---
 drivers/pci/pcie_starfive_jh7110.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/pci/pcie_starfive_jh7110.c b/drivers/pci/pcie_starfive_jh7110.c
index 0908ae16b67..04088b48ddc 100644
--- a/drivers/pci/pcie_starfive_jh7110.c
+++ b/drivers/pci/pcie_starfive_jh7110.c
@@ -45,6 +45,7 @@ struct starfive_pcie {
 	struct pcie_plda plda;
 	struct clk_bulk	clks;
 	struct reset_ctl_bulk	rsts;
+	struct gpio_desc	power_gpio;
 	struct gpio_desc	reset_gpio;
 	struct regmap *regmap;
 	unsigned int stg_pcie_base;
@@ -184,6 +185,10 @@ static int starfive_pcie_parse_dt(struct udevice *dev)
 		dev_err(dev, "reset-gpio is not valid\n");
 		return -EINVAL;
 	}
+
+	gpio_request_by_name(dev, "enable-gpios", 0, &priv->power_gpio,
+			     GPIOD_IS_OUT);
+
 	return 0;
 }
 
@@ -205,6 +210,9 @@ static int starfive_pcie_init_port(struct udevice *dev)
 		goto err_deassert_clk;
 	}
 
+	if (dm_gpio_is_valid(&priv->power_gpio))
+		dm_gpio_set_value(&priv->power_gpio, 1);
+
 	dm_gpio_set_value(&priv->reset_gpio, 1);
 	/* Disable physical functions except #0 */
 	for (i = 1; i < PLDA_FUNC_NUM; i++) {
-- 
2.43.2


  parent reply	other threads:[~2025-10-24 14:54 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-24  8:59 [PATCH v1 0/9] Add support for StarFive VisionFive 2 Lite board Hal Feng
2025-10-24  8:59 ` [PATCH v1 1/9] riscv: dts: starfive: jh7110-common: Move out some nodes to the board dts Hal Feng
2025-10-24 11:17   ` E Shattow
2025-10-24  8:59 ` [PATCH v1 2/9] riscv: dts: starfive: Add VisionFive 2 Lite board device tree Hal Feng
2025-10-24 10:58   ` E Shattow
2025-10-27  8:14     ` Hal Feng
2025-12-04  9:37       ` Leo Liang
2025-12-04  9:46         ` Conor Dooley
2025-12-04 10:37           ` Leo Liang
2025-12-05  6:43             ` Hal Feng
2025-10-24  8:59 ` [PATCH v1 3/9] eeprom: starfive: Simplify get_ddr_size_from_eeprom() Hal Feng
2025-10-24 11:24   ` E Shattow
2025-10-24  8:59 ` [PATCH v1 4/9] eeprom: starfive: Correct get_pcb_revision_from_eeprom() Hal Feng
2025-10-24 11:30   ` E Shattow
2025-10-24  8:59 ` [PATCH v1 5/9] eeprom: starfive: Support eeprom data format v3 Hal Feng
2025-10-24 12:41   ` E Shattow
2025-10-24  8:59 ` Hal Feng [this message]
2025-10-24 13:09   ` [PATCH v1 6/9] pcie: starfive: Add a optional power gpio support E Shattow
2025-10-27  8:26     ` Hal Feng
2025-10-24  8:59 ` [PATCH v1 7/9] configs: visionfive2: Add VisionFive 2 Lite DT to OF_LIST Hal Feng
2025-10-24  8:59 ` [PATCH v1 8/9] board: starfive: spl: Support VisionFive 2 Lite Hal Feng
2025-10-24  8:59 ` [PATCH v1 9/9] board: starfive: visionfive2: Add VisionFive 2 Lite fdt selection Hal Feng
2026-02-09 11:21 ` [PATCH v1 0/9] Add support for StarFive VisionFive 2 Lite board Leo Liang
2026-02-09 19:10   ` E Shattow
2026-02-14  9:26     ` Hal Feng

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=20251024085932.83596-7-hal.feng@starfivetech.com \
    --to=hal.feng@starfivetech.com \
    --cc=e@freeshell.de \
    --cc=emil.renner.berthing@canonical.com \
    --cc=heinrich.schuchardt@canonical.com \
    --cc=rick@andestech.com \
    --cc=sumit.garg@kernel.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    --cc=ycliang@andestech.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.