
Hi Pali,
On Thu, Jan 13, 2022 at 3:35 PM Tony Dinh mibodhi@gmail.com wrote:
Hi Pali,
On Thu, Jan 13, 2022 at 5:28 AM Pali Rohár pali@kernel.org wrote:
Kirkwood uses macros KW_DEFADR_PCI_MEM and KW_DEFADR_PCI_IO for base address of PCIe mappings. Size of PCIe windows is not defined in any macro yet, so export them in new KW_DEFADR_PCI_MEM_SIZE and KW_DEFADR_PCI_IO_SIZE macros.
Kirkwood arch code already maps mbus windows for io and mem, so avoid calling mvebu_mbus_add_window_by_id() function which would try to do duplicate window mapping.
Kirkwood PCIe controllers already use "marvell,kirkwood-pcie" DT compatible string, so mark pci_mvebu.c driver as compatible for it.
Signed-off-by: Pali Rohár pali@kernel.org
This patch depends on series "mvebu: Move PCIe code from serdes to PCIe driver": https://patchwork.ozlabs.org/project/uboot/list/?series=277906&state=*
Tony, could you please test it in Kirwood hardware?
Everything seems to be working fine. I've run 2 tests. For the Pogoplug V4, tested with a USB 3.0 thumb drive (PCIe is the host bus), For the Iomega iConnect, I don't have the Wifi Card or mSATA card (could not found one in my pile yet), so the test is just for MVEBU PCIe framework.
1st Test: Pogoplug V4 (Kirkwood 88F6192)
<BEGIN log> U-Boot 2022.01-00458-ge120ef9f5f-dirty (Jan 14 2022 - 15:59:48 -0800) Pogoplug V4 <snip> pcie0.0: Link up Net: eth0: ethernet-controller@72000 Hit any key to stop autoboot: 0
Pogo_V4> usb start starting USB... Bus ehci@50000: USB EHCI 1.00 Bus xhci_pci: Register 400081f NbrPorts 4 Starting the controller USB XHCI 1.00 scanning bus ehci@50000 for devices... 1 USB Device(s) found scanning bus xhci_pci for devices... 2 USB Device(s) found scanning usb for storage devices... 1 Storage Device(s) found
Pogo_V4> pci info Scanning PCI devices on bus 0 BusDevFun VendorId DeviceId Device Class Sub-Class _____________________________________________________________ 00.00.00 0x11ab 0x6281 Bridge device 0x04
Pogo_V4> pci region # Bus start Phys start Size Flags 0 0x0000000090000000 0x0000000090000000 0x0000000008000000 mem 1 0x0000000090000000 0x0000000090000000 0x0000000008000000 mem 2 0x00000000c0000000 0x00000000c0000000 0x0000000000010000 io io
Pogo_V4> usb tree USB device tree: 1 Hub (480 Mb/s, 0mA) u-boot EHCI Host Controller
1 Hub (5 Gb/s, 0mA) | U-Boot XHCI Host Controller | +-2 Mass Storage (5 Gb/s, 100mA) SanDisk Extreme AA010214142232182984 <END log>
2nd test: Iomega iConnect (Kirkwood 88F6281)
<BEGIN log> U-Boot 2022.01-00489-g9b72d934c2-dirty (Jan 14 2022 - 18:32:35 -0800) Iomega iConnect <snip> pcie0.0: Link down Net: egiga0 Error: egiga0 address not set.
Hit any key to stop autoboot: 0
iconnect => pci init Scanning PCI devices on bus 0 BusDevFun VendorId DeviceId Device Class Sub-Class _____________________________________________________________ 00.00.00 0x11ab 0x6281 Bridge device 0x04
iconnect => pci region # Bus start Phys start Size Flags 0 0x0000000090000000 0x0000000090000000 0x0000000008000000 mem 1 0x0000000090000000 0x0000000090000000 0x0000000008000000 mem 2 0x00000000c0000000 0x00000000c0000000 0x0000000000010000 io io
<END log>
Thanks for the great work! Tony
Tested-by: Tony Dinh mibodhi@gmail.com