Closed
Description
If I EFI boot with load mmc 0:5 $fdt_addr_r dtb/spacemit/m1-x_milkv-jupiter.dtb; load mmc 0:6 $kernel_addr_r EFI/fedora/grubriscv64.efi; bootefi $kernel_addr_r $fdt_addr_r
I get the following:
[ 2.428750] k1x-dwc-pcie ca400000.pcie: has no power on gpio.
[ 2.436770] k1x-dwc-pcie ca400000.pcie: host bridge /soc/pcie@ca400000 ranges:
[ 2.443972] k1x-dwc-pcie ca400000.pcie: IO 0x009f002000..0x009f101fff -> 0x009f002000
[ 2.452290] k1x-dwc-pcie ca400000.pcie: MEM 0x0090000000..0x009effffff -> 0x0090000000
[ 2.460607] k1x-dwc-pcie ca400000.pcie: resource collision: [mem 0x90000000-0x9effffff] conflicts with Reserved [mem 0x80000000-0xffffffff]
[ 2.473103] k1x-dwc-pcie ca400000.pcie: failed to initialize host
[ 2.479210] k1x-dwc-pcie ca400000.pcie: probe with driver k1x-dwc-pcie failed with error -12
[ 2.488328] k1x-dwc-pcie ca800000.pcie: has no power on gpio.
[ 2.496278] k1x-dwc-pcie ca800000.pcie: host bridge /soc/pcie@ca800000 ranges:
[ 2.503487] k1x-dwc-pcie ca800000.pcie: IO 0x00b7002000..0x00b7101fff -> 0x00b7002000
[ 2.511818] k1x-dwc-pcie ca800000.pcie: MEM 0x00a0000000..0x00afffffff -> 0x00a0000000
[ 2.520153] k1x-dwc-pcie ca800000.pcie: MEM 0x00b0000000..0x00b6ffffff -> 0x00b0000000
[ 2.528449] k1x-dwc-pcie ca800000.pcie: resource collision: [mem 0xa0000000-0xafffffff pref] conflicts with Reserved [mem 0x80000000-0xffffffff]
[ 2.541375] k1x-dwc-pcie ca800000.pcie: failed to initialize host
[ 2.547486] k1x-dwc-pcie ca800000.pcie: probe with driver k1x-dwc-pcie failed with error -12
If I comment out this reserved area PCIe works when EFI booting:
https://github.com/spacemit-com/linux-k1x/blob/k1/arch/riscv/boot/dts/spacemit/k1-x.dtsi#L425-L429
area_reserved@80000000 {
/* dram area is 0~2GB, and 4GB~, the 2GB~4GB is io area */
reg = <0x0 0x80000000 0x0 0x40800000>;
no-map;
};
This looks a lot like what is described in this commit 233515a
I've tried reusable instead of no-map which changes the error slightly but still does not work, adding compatible for k1x dwc pci, and some other things, but so far only removing the entire reserved area entry stops the problem.
Do you have any insight into what might be going wrong here and the proper way to fix it?
Metadata
Assignees
Labels
No labels