From: "Encrow Thorne" <encrow.thorne@linux.spacemit.com>
To: "Manivannan Sadhasivam" <mani@kernel.org>,
"Encrow Thorne" <encrow.thorne@linux.spacemit.com>
Cc: "Bruno Banelli" <bbanelli@gmail.com>, <linux-pci@vger.kernel.org>,
<linux-riscv@lists.infradead.org>, <spacemit@lists.linux.dev>,
"Alex Elder" <elder@riscstar.com>, "Yixun Lan" <dlan@kernel.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczynski" <kwilczynski@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"Uwe Kleine-Koenig" <u.kleine-koenig@baylibre.com>,
"Javier Martinez Canillas" <javierm@redhat.com>,
<linux-kernel@vger.kernel.org>,
"linux-riscv" <linux-riscv-bounces@lists.infradead.org>
Subject: Re: [BUG] PCI: spacemit-k1: port C probe hard-hangs a CPU with one endpoint on Milk-V Jupiter
Date: Thu, 05 Nov 2026 11:10:47 +0800 [thread overview]
Message-ID: <DMMY4S89W1PJ.WWIUJ905SLXU@linux.spacemit.com> (raw)
In-Reply-To: <xuafb5qshj6rowe3v6sxyfvtemy4wg2ttqs7lcwu3txu2mpyzm@fr72njh6zgvi>
On Mon Sep 21, 2026 at 4:03 PM CST, Manivannan Sadhasivam wrote:
> On Mon, Sep 21, 2026 at 01:55:42PM +0800, Encrow Thorne wrote:
>
> [...]
>
>> Hi Bruno,
>>
>> The issue was caused by a missing hardware configuration in the K1 PCIe
>> initialization.
>>
>> The PMU PCIE_CONTROL_LOGIC register contains an IGNORE_PERSTN bit (BIT(2)).
>> The hardware manual describes it as follows:
>>
>> “When set to 1, the PCIe controller and PHY ignore the PERSTN signal from
>> the link partner in both RC and EP modes.”
>>
>> This bit was not configured during RC initialization. As a result, the
>> controller and PHY could still be affected by the PERSTN input during the
>> early DBI accesses. With the Intel I225-V installed, the first DBI access
>> could remain pending and hang the CPU.
>>
>
Hi Mani,
> What does this 'PERSTN' bit controls? PERST# or something else? PERST# is
> controlled only by the Root Complex btw. Also, why does this missing register
> configuration only affecting Intel I225-V endpoint and not others?
>
> - Mani
PCIE_IGNORE_PERSTN masks the PERST# pad input to the local K1
controller and PHY. It does not control the external PERST# output.
On K1, this input path remains active even in RC mode, so a low
level on the pad can also hold the local controller in reset.
We found a 1 kOhm pull-down on the PERST# line of the particular
Intel card we tested. Together with the Jupiter board's 10 kOhm
pull-up, this kept PERST# low from power-on, including during the
first DBI access. The other devices we tested did not hold the
line low in this way.
After removing the card's pull-down, PERST# reached 3.3 V.
Regards,
Encrow Thorne
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
WARNING: multiple messages have this Message-ID (diff)
From: "Encrow Thorne" <encrow.thorne@linux.spacemit.com>
To: "Manivannan Sadhasivam" <mani@kernel.org>,
"Encrow Thorne" <encrow.thorne@linux.spacemit.com>
Cc: "Bruno Banelli" <bbanelli@gmail.com>, <linux-pci@vger.kernel.org>,
<linux-riscv@lists.infradead.org>, <spacemit@lists.linux.dev>,
"Alex Elder" <elder@riscstar.com>, "Yixun Lan" <dlan@kernel.org>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczynski" <kwilczynski@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Danilo Krummrich" <dakr@kernel.org>,
"Uwe Kleine-Koenig" <u.kleine-koenig@baylibre.com>,
"Javier Martinez Canillas" <javierm@redhat.com>,
<linux-kernel@vger.kernel.org>,
"linux-riscv" <linux-riscv-bounces@lists.infradead.org>
Subject: Re: [BUG] PCI: spacemit-k1: port C probe hard-hangs a CPU with one endpoint on Milk-V Jupiter
Date: Thu, 05 Nov 2026 11:10:47 +0800 [thread overview]
Message-ID: <DMMY4S89W1PJ.WWIUJ905SLXU@linux.spacemit.com> (raw)
In-Reply-To: <xuafb5qshj6rowe3v6sxyfvtemy4wg2ttqs7lcwu3txu2mpyzm@fr72njh6zgvi>
On Mon Sep 21, 2026 at 4:03 PM CST, Manivannan Sadhasivam wrote:
> On Mon, Sep 21, 2026 at 01:55:42PM +0800, Encrow Thorne wrote:
>
> [...]
>
>> Hi Bruno,
>>
>> The issue was caused by a missing hardware configuration in the K1 PCIe
>> initialization.
>>
>> The PMU PCIE_CONTROL_LOGIC register contains an IGNORE_PERSTN bit (BIT(2)).
>> The hardware manual describes it as follows:
>>
>> “When set to 1, the PCIe controller and PHY ignore the PERSTN signal from
>> the link partner in both RC and EP modes.”
>>
>> This bit was not configured during RC initialization. As a result, the
>> controller and PHY could still be affected by the PERSTN input during the
>> early DBI accesses. With the Intel I225-V installed, the first DBI access
>> could remain pending and hang the CPU.
>>
>
Hi Mani,
> What does this 'PERSTN' bit controls? PERST# or something else? PERST# is
> controlled only by the Root Complex btw. Also, why does this missing register
> configuration only affecting Intel I225-V endpoint and not others?
>
> - Mani
PCIE_IGNORE_PERSTN masks the PERST# pad input to the local K1
controller and PHY. It does not control the external PERST# output.
On K1, this input path remains active even in RC mode, so a low
level on the pad can also hold the local controller in reset.
We found a 1 kOhm pull-down on the PERST# line of the particular
Intel card we tested. Together with the Jupiter board's 10 kOhm
pull-up, this kept PERST# low from power-on, including during the
first DBI access. The other devices we tested did not hold the
line low in this way.
After removing the card's pull-down, PERST# reached 3.3 V.
Regards,
Encrow Thorne
next prev parent reply other threads:[~2026-11-05 3:11 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-25 5:22 [BUG] PCI: spacemit-k1: port C probe hard-hangs a CPU with one endpoint on Milk-V Jupiter Bruno Banelli
2026-08-25 5:22 ` Bruno Banelli
2026-08-25 5:28 ` sashiko-bot
2026-09-02 13:42 ` Manivannan Sadhasivam
2026-09-02 13:42 ` Manivannan Sadhasivam
2026-09-02 13:56 ` Alex Elder
2026-09-02 13:56 ` Alex Elder
2026-09-03 1:06 ` Troy Mitchell
2026-09-03 1:06 ` Troy Mitchell
2026-09-21 5:55 ` Encrow Thorne
2026-09-21 5:55 ` Encrow Thorne
2026-09-21 8:03 ` Manivannan Sadhasivam
2026-09-21 8:03 ` Manivannan Sadhasivam
2026-09-24 2:14 ` Troy Mitchell
2026-09-24 2:14 ` Troy Mitchell
2026-11-05 3:10 ` Encrow Thorne [this message]
2026-11-05 3:10 ` Encrow Thorne
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=DMMY4S89W1PJ.WWIUJ905SLXU@linux.spacemit.com \
--to=encrow.thorne@linux.spacemit.com \
--cc=bbanelli@gmail.com \
--cc=bhelgaas@google.com \
--cc=dakr@kernel.org \
--cc=dlan@kernel.org \
--cc=elder@riscstar.com \
--cc=javierm@redhat.com \
--cc=kwilczynski@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-riscv-bounces@lists.infradead.org \
--cc=linux-riscv@lists.infradead.org \
--cc=lpieralisi@kernel.org \
--cc=mani@kernel.org \
--cc=robh@kernel.org \
--cc=spacemit@lists.linux.dev \
--cc=u.kleine-koenig@baylibre.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.