Hello,
in drivers/pci/pci-uclass.c there is an optimization introduced with
commit fbde868 that breaks discovery of the second network device on a
88W9098 Murata 1XL module.
int pci_bind_bus_devices(struct udevice *bus)
{
...
if (only_one_child(bus) && (PCI_DEV(bdf) > 0))
continue;
With this check active device 1.0.1 is never reached.
=> pci 1 long
Scanning PCI devices on bus 1
Found PCI device 01.00.00:
vendor ID = 0x1b4b
device ID = 0x2b43
command register ID = 0x0006
status register = 0x0010
revision ID = 0x03
class code = 0x02 (Network controller)
sub class code = 0x00
programming interface = 0x00
cache line = 0x08
latency time = 0x00
header type = 0x80
BIST = 0x00
base address 0 = 0x4000000c
base address 1 = 0x00000000
base address 2 = 0x4010000c
base address 3 = 0x00000000
base address 4 = 0x4012000c
base address 5 = 0x00000000
cardBus CIS pointer = 0x00000000
sub system vendor ID = 0x1b4b
sub system ID = 0x2b43
expansion ROM base address = 0x00000000
interrupt line = 0xff
interrupt pin = 0x01
min Grant = 0x00
max Latency = 0x00
Found PCI device 01.00.01:
vendor ID = 0x1b4b
device ID = 0x2b44
command register ID = 0x0006
status register = 0x0010
revision ID = 0x03
class code = 0x02 (Network controller)
sub class code = 0x00
programming interface = 0x00
cache line = 0x08
latency time = 0x00
header type = 0x80
BIST = 0x00
base address 0 = 0x4020000c
base address 1 = 0x00000000
base address 2 = 0x40300004
base address 3 = 0x00000000
base address 4 = 0x4032000c
base address 5 = 0x00000000
cardBus CIS pointer = 0x00000000
sub system vendor ID = 0x1b4b
sub system ID = 0x2b44
expansion ROM base address = 0x00000000
interrupt line = 0xff
interrupt pin = 0x02
min Grant = 0x00
max Latency = 0x00
Without preparation in u-boot the Linux kernel will detect the device, but
the driver fails to create the network interfaces.
The wifi card is using a M2 slot on a Layerscape LS1028a based board.
Best regards,
Jacco Braat