[PATCH v1 1/1] rockchip: rock5b-rk3588: Enable automatic PCI enumeration

Sebastian Reichel sebastian.reichel at collabora.com
Thu Oct 31 22:16:34 CET 2024


Hi,

On Thu, Oct 31, 2024 at 08:17:32PM +0100, Jonas Karlman wrote:
> On 2024-10-31 19:15, Eugen Hristev wrote:
> > On 10/31/24 20:01, Sebastian Reichel wrote:
> >> PCI enumeration is required to detect the onboard Ethernet device.
> >>
> >> Signed-off-by: Sebastian Reichel <sebastian.reichel at collabora.com>
> >> ---
> >>   configs/rock5b-rk3588_defconfig | 1 +
> >>   1 file changed, 1 insertion(+)
> >>
> >> diff --git a/configs/rock5b-rk3588_defconfig b/configs/rock5b-rk3588_defconfig
> >> index c54e13e8732c..e5b9f7d326b4 100644
> >> --- a/configs/rock5b-rk3588_defconfig
> >> +++ b/configs/rock5b-rk3588_defconfig
> >> @@ -17,6 +17,7 @@ CONFIG_DEBUG_UART_CLOCK=24000000
> >>   CONFIG_SPL_SPI_FLASH_SUPPORT=y
> >>   CONFIG_SPL_SPI=y
> >>   CONFIG_PCI=y
> >> +CONFIG_PCI_INIT_R=y
> >>   CONFIG_DEBUG_UART=y
> >>   CONFIG_AHCI=y
> >>   CONFIG_FIT=y
> > 
> > This has been added and removed before, please see
> > 
> > https://lore.kernel.org/all/20231104130451.111020-1-martin.roukala@mupuf.org/T/
> > 
> > this commit adds it
> > 5b269ed404dc ("configs: rockchip: rock5b-rk3588: Enable CONFIG_PCI_INIT_R")
> > 
> > this commit removes it again
> > 191ece249a96 ("rockchip: rk3588-rock-5b: Enable support for PCIe SATA 
> > cards")

Ah, I should have checked the history. Sorry.

> What use-case are you trying to solve with a forced pci enumeration?
> 
> With standard boot Ethernet should be enabled when it is needed.
> 
> However for EFI boot Ethernet maybe is not detected? Please see [1] for
> a possible alternative patch that I created when someone reported an
> issue with iPXE boot some time ago.
> 
> I did not get confirmation it fully solved the issue, from what I could
> test it should help get Ethernet detected during EFI boot on a ROCK 5B.
> 
> [1] https://github.com/Kwiboo/u-boot-rockchip/commit/90b6d787de0b3e6ed863440be576b01d83ba5789

LAVA by default has a U-Boot script doing the following (IIUIC across all
boards), which fails with the current setup:

setenv autoload no
setenv initrd_high 0xffffffff
setenv fdt_high 0xffffffff
dhcp
setenv serverip 192.168.201.1
tftp 0x0400000 16212093/tftp-deploy-or30pzbe/kernel/vmlinuz
tftp 0xa200000 16212093/tftp-deploy-or30pzbe/ramdisk/ramdisk.cpio.gz.uboot
setenv initrd_size ${filesize}
tftp 0xa100000 16212093/tftp-deploy-or30pzbe/dtb/rk3588-rock-5b.dtb
setenv bootargs 'console=ttyS2,1500000n8 root=/dev/nfs rw nfsroot=192.168.201.1:/var/lib/lava/dispatcher/tmp/16212093/extract-nfsrootfs-e0aw1qlf,tcp,hard,v3 rootwait ip=dhcp'
booti 0x0400000 0xa200000 0xa100000

Basically it comes down to missing network support when breaking
into the U-Boot shell. Also while it is obvious one needs to
enumerate the PCI bus for U-Boot developers with knowledge about
the Rock 5B, it's unexpected for people with less knowledge. So I
think it's sensible to have a default configuration supporting
network in the U-Boot shell without extra steps.

-- Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20241031/e518d66d/attachment.sig>


More information about the U-Boot mailing list