[PATCH] riscv: dts: spacemit: pcie: fix missing power regulator
Chukun Pan
amadeus at jmu.edu.cn
Sun Mar 1 19:05:11 PST 2026
Hi,
> &pcie1_port {
> phys = <&pcie1_phy>;
> + vpcie3v3-supply = <&pcie_vcc_3v3>;
> };
>
> &pcie1 {
> @@ -320,6 +321,7 @@ &pcie2_phy {
>
> &pcie2_port {
> phys = <&pcie2_phy>;
> + vpcie3v3-supply = <&pcie_vcc_3v3>;
> };
```
&pcie1 {
vpcie3v3-supply = <&pcie_vcc_3v3>;
status = "okay";
};
```
According to DT binding, the vpcie3v3-supply of the &pciex node should
be moved to the &pciex_port node. This is simply a duplication of the
property.
But do we really need this pcie_port (PCIe bridge)?
The PCIe bridge node (pcie at 0) was treated as a platform device, but it
did not define the interrupts property, which resulted in the following
warning: `[ 2.897980] irq: no irq domain found for pcie at 0 !`
Would it be better to submit a patch to remove this pcie_port?
```
- ret = k1_pcie_parse_port(k1);
- if (ret)
- return dev_err_probe(dev, ret, "failed to parse root port\n");
+ k1->phy = devm_phy_get(dev, "pcie-phy");
+ if (IS_ERR(k1->phy))
+ return dev_err_probe(dev, PTR_ERR(k1->phy), "missing PHY\n");
```
I have tested this change and it works.
Thanks,
Chukun
More information about the linux-riscv
mailing list