From: Inochi Amaoto <inochiama@gmail.com>
To: "Jingoo Han" <jingoohan1@gmail.com>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Yixun Lan" <dlan@kernel.org>, "Paul Walmsley" <pjw@kernel.org>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Alexandre Ghiti" <alex@ghiti.fr>,
"Christian Bruel" <christian.bruel@foss.st.com>,
"Inochi Amaoto" <inochiama@gmail.com>,
"Frank Li" <Frank.Li@nxp.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Xincheng Zhang" <zhangxincheng@ultrarisc.com>,
"Alex Elder" <elder@riscstar.com>,
"Randolph Lin" <randolph@andestech.com>,
"Siddharth Vadapalli" <s-vadapalli@ti.com>,
"Vidya Sagar" <vidyas@nvidia.com>,
"Gustavo Pimentel" <gustavo.pimentel@synopsys.com>
Cc: linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
spacemit@lists.linux.dev, Yixun Lan <dlan@gentoo.org>,
Longbin Li <looong.bin@gmail.com>
Subject: [PATCH v3 3/6] PCI: spacemit-k1: Add device id update helper
Date: Fri, 3 Jul 2026 09:59:59 +0800 [thread overview]
Message-ID: <20260703020003.485436-4-inochiama@gmail.com> (raw)
In-Reply-To: <20260703020003.485436-1-inochiama@gmail.com>
Both K1 and K3 needs to set vendor id and device id, add a helper function
to simplify this.
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
---
drivers/pci/controller/dwc/pcie-spacemit-k1.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/pci/controller/dwc/pcie-spacemit-k1.c b/drivers/pci/controller/dwc/pcie-spacemit-k1.c
index e22ecbd09579..31aac056b68e 100644
--- a/drivers/pci/controller/dwc/pcie-spacemit-k1.c
+++ b/drivers/pci/controller/dwc/pcie-spacemit-k1.c
@@ -56,6 +56,7 @@ struct k1_pcie_device_data {
const struct dw_pcie_ops *ops;
int (*parse_port)(struct k1_pcie *k1);
unsigned int max_phy_count;
+ unsigned int device_id;
};
struct k1_pcie {
@@ -186,6 +187,16 @@ static void k1_pcie_disable_aspm_l1(struct k1_pcie *k1)
dw_pcie_dbi_ro_wr_dis(pci);
}
+static void k1_pcie_set_device_id(struct k1_pcie *k1)
+{
+ struct dw_pcie *pci = &k1->pci;
+
+ dw_pcie_dbi_ro_wr_en(pci);
+ dw_pcie_writew_dbi(pci, PCI_VENDOR_ID, PCI_VENDOR_ID_SPACEMIT);
+ dw_pcie_writew_dbi(pci, PCI_DEVICE_ID, k1->data->device_id);
+ dw_pcie_dbi_ro_wr_dis(pci);
+}
+
static int k1_pcie_init(struct dw_pcie_rp *pp)
{
struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
@@ -201,10 +212,7 @@ static int k1_pcie_init(struct dw_pcie_rp *pp)
return ret;
/* Set the PCI vendor and device ID */
- dw_pcie_dbi_ro_wr_en(pci);
- dw_pcie_writew_dbi(pci, PCI_VENDOR_ID, PCI_VENDOR_ID_SPACEMIT);
- dw_pcie_writew_dbi(pci, PCI_DEVICE_ID, PCI_DEVICE_ID_SPACEMIT_K1);
- dw_pcie_dbi_ro_wr_dis(pci);
+ k1_pcie_set_device_id(k1);
/*
* Start by asserting fundamental reset (drive PERST# low). The
@@ -406,6 +414,7 @@ static const struct k1_pcie_device_data k1_pcie_device_data = {
.ops = &k1_pcie_ops,
.parse_port = k1_pcie_parse_port,
.max_phy_count = 1,
+ .device_id = PCI_DEVICE_ID_SPACEMIT_K1,
};
static const struct of_device_id k1_pcie_of_match_table[] = {
--
2.55.0
WARNING: multiple messages have this Message-ID (diff)
From: Inochi Amaoto <inochiama@gmail.com>
To: "Jingoo Han" <jingoohan1@gmail.com>,
"Manivannan Sadhasivam" <mani@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kwilczynski@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Yixun Lan" <dlan@kernel.org>, "Paul Walmsley" <pjw@kernel.org>,
"Palmer Dabbelt" <palmer@dabbelt.com>,
"Albert Ou" <aou@eecs.berkeley.edu>,
"Alexandre Ghiti" <alex@ghiti.fr>,
"Christian Bruel" <christian.bruel@foss.st.com>,
"Inochi Amaoto" <inochiama@gmail.com>,
"Frank Li" <Frank.Li@nxp.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Xincheng Zhang" <zhangxincheng@ultrarisc.com>,
"Alex Elder" <elder@riscstar.com>,
"Randolph Lin" <randolph@andestech.com>,
"Siddharth Vadapalli" <s-vadapalli@ti.com>,
"Vidya Sagar" <vidyas@nvidia.com>,
"Gustavo Pimentel" <gustavo.pimentel@synopsys.com>
Cc: linux-pci@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org,
spacemit@lists.linux.dev, Yixun Lan <dlan@gentoo.org>,
Longbin Li <looong.bin@gmail.com>
Subject: [PATCH v3 3/6] PCI: spacemit-k1: Add device id update helper
Date: Fri, 3 Jul 2026 09:59:59 +0800 [thread overview]
Message-ID: <20260703020003.485436-4-inochiama@gmail.com> (raw)
In-Reply-To: <20260703020003.485436-1-inochiama@gmail.com>
Both K1 and K3 needs to set vendor id and device id, add a helper function
to simplify this.
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
---
drivers/pci/controller/dwc/pcie-spacemit-k1.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/pci/controller/dwc/pcie-spacemit-k1.c b/drivers/pci/controller/dwc/pcie-spacemit-k1.c
index e22ecbd09579..31aac056b68e 100644
--- a/drivers/pci/controller/dwc/pcie-spacemit-k1.c
+++ b/drivers/pci/controller/dwc/pcie-spacemit-k1.c
@@ -56,6 +56,7 @@ struct k1_pcie_device_data {
const struct dw_pcie_ops *ops;
int (*parse_port)(struct k1_pcie *k1);
unsigned int max_phy_count;
+ unsigned int device_id;
};
struct k1_pcie {
@@ -186,6 +187,16 @@ static void k1_pcie_disable_aspm_l1(struct k1_pcie *k1)
dw_pcie_dbi_ro_wr_dis(pci);
}
+static void k1_pcie_set_device_id(struct k1_pcie *k1)
+{
+ struct dw_pcie *pci = &k1->pci;
+
+ dw_pcie_dbi_ro_wr_en(pci);
+ dw_pcie_writew_dbi(pci, PCI_VENDOR_ID, PCI_VENDOR_ID_SPACEMIT);
+ dw_pcie_writew_dbi(pci, PCI_DEVICE_ID, k1->data->device_id);
+ dw_pcie_dbi_ro_wr_dis(pci);
+}
+
static int k1_pcie_init(struct dw_pcie_rp *pp)
{
struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
@@ -201,10 +212,7 @@ static int k1_pcie_init(struct dw_pcie_rp *pp)
return ret;
/* Set the PCI vendor and device ID */
- dw_pcie_dbi_ro_wr_en(pci);
- dw_pcie_writew_dbi(pci, PCI_VENDOR_ID, PCI_VENDOR_ID_SPACEMIT);
- dw_pcie_writew_dbi(pci, PCI_DEVICE_ID, PCI_DEVICE_ID_SPACEMIT_K1);
- dw_pcie_dbi_ro_wr_dis(pci);
+ k1_pcie_set_device_id(k1);
/*
* Start by asserting fundamental reset (drive PERST# low). The
@@ -406,6 +414,7 @@ static const struct k1_pcie_device_data k1_pcie_device_data = {
.ops = &k1_pcie_ops,
.parse_port = k1_pcie_parse_port,
.max_phy_count = 1,
+ .device_id = PCI_DEVICE_ID_SPACEMIT_K1,
};
static const struct of_device_id k1_pcie_of_match_table[] = {
--
2.55.0
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2026-07-03 2:00 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-03 1:59 [PATCH v3 0/6] riscv: spacemit: Add PCIe RC controller support for K3 Inochi Amaoto
2026-07-03 1:59 ` Inochi Amaoto
2026-07-03 1:59 ` [PATCH v3 1/6] PCI: spacemit-k1: Add device data support Inochi Amaoto
2026-07-03 1:59 ` Inochi Amaoto
2026-07-03 2:15 ` sashiko-bot
2026-07-03 1:59 ` [PATCH v3 2/6] PCI: spacemit-k1: Add multiple PHY handles support Inochi Amaoto
2026-07-03 1:59 ` Inochi Amaoto
2026-07-03 2:15 ` sashiko-bot
2026-07-03 1:59 ` Inochi Amaoto [this message]
2026-07-03 1:59 ` [PATCH v3 3/6] PCI: spacemit-k1: Add device id update helper Inochi Amaoto
2026-07-03 2:13 ` sashiko-bot
2026-07-03 2:00 ` [PATCH v3 4/6] dt-bindings: PCI: snps,dw-pcie: Add msi-parent for MSI handle check Inochi Amaoto
2026-07-03 2:00 ` Inochi Amaoto
2026-07-03 2:13 ` sashiko-bot
2026-07-03 2:00 ` [PATCH v3 5/6] dt-bindings: PCI: spacemit: Introduce Spacemit K3 PCIe host controller Inochi Amaoto
2026-07-03 2:00 ` Inochi Amaoto
2026-07-03 2:15 ` sashiko-bot
2026-07-05 9:37 ` Krzysztof Kozlowski
2026-07-05 9:37 ` Krzysztof Kozlowski
2026-07-05 11:22 ` Inochi Amaoto
2026-07-05 11:22 ` Inochi Amaoto
2026-07-03 2:00 ` [PATCH v3 6/6] PCI: spacemit-k1: Add Spacemit K3 PCIe host controller support Inochi Amaoto
2026-07-03 2:00 ` Inochi Amaoto
2026-07-03 2:20 ` sashiko-bot
2026-07-05 1:52 ` Inochi Amaoto
2026-07-03 17:15 ` [PATCH v3 0/6] riscv: spacemit: Add PCIe RC controller support for K3 Aurelien Jarno
2026-07-03 17:15 ` Aurelien Jarno
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=20260703020003.485436-4-inochiama@gmail.com \
--to=inochiama@gmail.com \
--cc=Frank.Li@nxp.com \
--cc=alex@ghiti.fr \
--cc=andriy.shevchenko@linux.intel.com \
--cc=aou@eecs.berkeley.edu \
--cc=bhelgaas@google.com \
--cc=christian.bruel@foss.st.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlan@gentoo.org \
--cc=dlan@kernel.org \
--cc=elder@riscstar.com \
--cc=gustavo.pimentel@synopsys.com \
--cc=jingoohan1@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=kwilczynski@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=looong.bin@gmail.com \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=randolph@andestech.com \
--cc=robh@kernel.org \
--cc=s-vadapalli@ti.com \
--cc=s.hauer@pengutronix.de \
--cc=spacemit@lists.linux.dev \
--cc=vidyas@nvidia.com \
--cc=zhangxincheng@ultrarisc.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.