[Rock Pi 4B] v5.10-rc2 fails to initialize pcie controller


Recently tried to boot custom kernel with v5.10-rc2, with all pcie related fixes applied from Manajaro.
It fails to boot the root device on NVME. (Although can still boot from SDcard, but SDcard is really to lame compared to NVME).

After some extra debugging output, I found the direct cause.
In the following call chain, we failed to initialize vpcie1v8 and possibly vpcie0v9:

|- rockchip>vpcie1v8 = devm_regulator_get_optional(dev, "vpcie1v8");
   |- _regulator_get()
      |- regulator_dev_lookup()
         |- node = of_get_regulartor()
         |- if (!node) {
         |-     r = of_find_regulator(); /* No @r found */
         |-     return ERR_PTR(-EPROBE_DEFER);    

But I also checked the dtsi, vpcie1v8 and vpcie0v9 are all defined properly.

BTW, vpcie3v3 and vpcie12v all works without problem.

Is there something wrong with the vcc_0v9 and vcc_1v8 definition in the dtsi?


Cause pinned down.

Commit aea6cb99703e (“regulator: resolve supply after creating regulator”) is the cause.

Full analyze can be found here (from myself):


This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.