Hi
U-boot is unable to enumerate pericom PCIe switch and subsequent end point devices on our board (arm v8.2, 64-bit) When booted to linux, we see the same enumerated with endpoints Have any one come ever come across this issue and found a workaround to it? I hope we no need to have a special driver in u-boot for it? U-boot rommon> dm tree Class Index Probed Driver Name ----------------------------------------------------------- pci_generi 25 [ ] pci_generic_drv | | `-- pci_15:0.0 PCIe debug logs pci_auto_config_devices: done pci_uclass_pre_probe, bus=25/pci@8e0000000000, parent=soc@0 decode_regions: len=28, cells_per_record=7 decode_regions: region 0, pci_addr=0, addr=886000000000, size=100000, space_code=1 - type=1, pos=0 decode_regions: region 1, pci_addr=1000000, addr=882001000000, size=1000000000, space_code=3 - type=0, pos=1 decode_regions: region 2, pci_addr=1000000000, addr=884000000000, size=1000000000, space_code=3 - type=8, pos=2 decode_regions: region 3, pci_addr=8e0000000000, addr=8e0000000000, size=1000000000, space_code=3 - type=0, pos=3 pci_uclass_post_probe: probing bus 25 bdf 190000 01.00.00: u1 0 (100000) 01.00.00: u1 0 (878030100000) 0 word 878030100000 01.00.00: u1 0 (878030100000) -> 12d8 bdf 190000 01.00.00: u0 e (100000) 01.00.00: u0 e (878030100000) pci_find_and_bind_driver: Searching for driver: vendor=12d8, device=8619 pci_find_and_bind_driver: No match found: bound generic driver instead bdf 190000 01.00.00: u2 100 (100000) 01.00.00: u2 100 (878030100000) 19ff00 long 878030100100 01.00.00: u2 100 (878030100000) -> fb410003 bdf 190000 01.00.00: u2 fb4 (100000) 01.00.00: u2 fb4 (878030100000) fb410003 long 878030100fb4 01.00.00: u2 fb4 (878030100000) -> 13810001 bdf 190000 01.00.00: u2 138 (100000) 01.00.00: u2 138 (878030100000) 13810001 long 878030100138 01.00.00: u2 138 (878030100000) -> 14810004 bdf 190000 01.00.00: u2 148 (100000) 01.00.00: u2 148 (878030100000) 14810004 long 878030100148 01.00.00: u2 148 (878030100000) -> 27010002 bdf 190000 01.00.00: u2 270 (100000) 01.00.00: u2 270 (878030100000) 27010002 long 878030100270 01.00.00: u2 270 (878030100000) -> 9001001e bdf 190000 01.00.00: u2 900 (100000) 01.00.00: u2 900 (878030100000) 9001001e long 878030100900 01.00.00: u2 900 (878030100000) -> 10012 bdf 190100 01.00.01: u1 0 (101000) 01.00.01: u1 0 (878030101000) 12d8 word 878030101000 01.00.01: u1 0 (878030101000) -> 12d8 bdf 190100 01.00.01: u0 e (101000) 01.00.01: u0 e (878030101000) 81 byte 87803010100e 01.00.01: u0 e (878030101000) -> 80 pci_bind_bus_devices: bus 25/pci@8e0000000000: found device 0, function 1 bdf 190100 01.00.01: u1 2 (101000) 01.00.01: u1 2 (878030101000) 8619 word 878030101002 01.00.01: u1 2 (878030101000) -> 8619 bdf 190100 01.00.01: u2 8 (101000) ---- pci_uclass_pre_probe, bus=57/pci_19:1f.0, parent=pci@8e0000000000 pci_uclass_post_probe: probing bus 57 bdf 390000 21.00.00: u1 0 (2100000) 21.00.00: u1 0 (878032100000) 0 word 878032100000 21.00.00: u1 0 (878032100000) -> ffff bdf 390800 21.01.00: u1 0 (2108000) 21.01.00: u1 0 (878032108000) ffff word 878032108000 21.01.00: u1 0 (878032108000) -> ffff bdf 391000 21.02.00: u1 0 (2110000) 21.02.00: u1 0 (878032110000) ffff word 878032110000 21.02.00: u1 0 (878032110000) -> ffff bdf 391800 21.03.00: u1 0 (2118000) 21.03.00: u1 0 (878032118000) ffff word 878032118000 21.03.00: u1 0 (878032118000) -> ffff bdf 392000 21.04.00: u1 0 (2120000) 21.04.00: u1 0 (878032120000) ffff word 878032120000 21.04.00: u1 0 (878032120000) -> ffff bdf 392800 21.05.00: u1 0 (2128000) 21.05.00: u1 0 (878032128000) ffff word 878032128000 21.05.00: u1 0 (878032128000) -> ffff bdf 393000 21.06.00: u1 0 (2130000) 21.06.00: u1 0 (878032130000) ffff word 878032130000 21.06.00: u1 0 (878032130000) -> ffff bdf 393800 21.07.00: u1 0 (2138000) 21.07.00: u1 0 (878032138000) ffff word 878032138000 21.07.00: u1 0 (878032138000) -> ffff bdf 394000 21.08.00: u1 0 (2140000) 21.08.00: u1 0 (878032140000) ffff word 878032140000 21.08.00: u1 0 (878032140000) -> ffff bdf 394800 21.09.00: u1 0 (2148000) 21.09.00: u1 0 (878032148000) ffff word 878032148000 21.09.00: u1 0 (878032148000) -> ffff bdf 395000 21.0a.00: u1 0 (2150000) 21.0a.00: u1 0 (878032150000) ffff word 878032150000 21.0a.00: u1 0 (878032150000) -> ffff bdf 395800 21.0b.00: u1 0 (2158000) 21.0b.00: u1 0 (878032158000) ffff word 878032158000 21.0b.00: u1 0 (878032158000) -> ffff bdf 396000 21.0c.00: u1 0 (2160000) 21.0c.00: u1 0 (878032160000) ffff word 878032160000 21.0c.00: u1 0 (878032160000) -> ffff bdf 396800 21.0d.00: u1 0 (2168000) 21.0d.00: u1 0 (878032168000) ffff word 878032168000 21.0d.00: u1 0 (878032168000) -> ffff bdf 397000 21.0e.00: u1 0 (2170000) 21.0e.00: u1 0 (878032170000) ffff word 878032170000 21.0e.00: u1 0 (878032170000) -> ffff bdf 397800 21.0f.00: u1 0 (2178000) 21.0f.00: u1 0 (878032178000) ffff word 878032178000 21.0f.00: u1 0 (878032178000) -> ffff bdf 398000 21.10.00: u1 0 (2180000) 21.10.00: u1 0 (878032180000) ffff word 878032180000 21.10.00: u1 0 (878032180000) -> ffff bdf 398800 21.11.00: u1 0 (2188000) 21.11.00: u1 0 (878032188000) ffff word 878032188000 21.11.00: u1 0 (878032188000) -> ffff bdf 399000 21.12.00: u1 0 (2190000) 21.12.00: u1 0 (878032190000) ffff word 878032190000 21.12.00: u1 0 (878032190000) -> ffff bdf 399800 21.13.00: u321c8000) ffff word 8780321c8000 21.19.00: u1 0 (8780321c8000) -> ffff bdf 39d000 21.1a.00: u1 0 (21d0000) 21.1a.00: u1 0 (8780321d0000) ffff word 8780321d0000 21.1a.00: u1 0 (8780321d0000) -> ffff bdf 39d800 21.1b.00: u1 0 (21d8000) 21.1b.00: u1 0 (8780321d8000) ffff word 8780321d8000 21.1b.00: u1 0 (8780321d8000) -> ffff bdf 39e000 21.1c.00: u1 0 (21e0000) 21.1c.00: u1 0 (8780321e0000) ffff word 8780321e0000 21.1c.00: u1 0 (8780321e0000) -> ffff bdf 39e800 21.1d.00: u1 0 (21e8000) 21.1d.00: u1 0 (8780321e8000) ffff word 8780321e8000 21.1d.00: u1 0 (8780321e8000) -> ffff bdf 39f000 21.1e.00: u1 0 (21f0000) 21.1e.00: u1 0 (8780321f0000) ffff word 8780321f0000 21.1e.00: u1 0 (8780321f0000) -> ffff bdf 39f800 21.1f.00: u1 0 (21f8000) 21.1f.00: u1 0 (8780321f8000) ffff word 8780321f8000 21.1f.00: u1 0 (8780321f8000) -> ffff pci_auto_config_devices: start pci_auto_config_devices: done pci_get_bus_max: ret=57 bdf 19f800 01.1f.00: u0 1a (1f8000) 01.1f.00: u0 1a (8780301f8000) 20 tmp 8 long 8780301f8018 ff2000 tmp long 8780301f8018 202000 long 8780301f8018 202000 01.1f.00: u2 1a (8780301f8018) <- 202000 bdf 19f800 01.1f.00: u1 22 (1f8000) 01.1f.00: u1 22 (8780301f8000) 2ff tmp 16 long 8780301f8020 fff0 tmp long 8780301f8020 2fffff0 long 8780301f8020 2fffff0 01.1f.00: u2 22 (8780301f8020) <- 2fffff0 bdf 19f800 01.1f.00: u1 26 (1f8000) 01.1f.00: u1 26 (8780301f8000) 3f5e8e430 word 8780301f8026 01.1f.00: u1 26 (8780301f8000) -> 1 bdf 19f800 01.1f.00: u1 26 (1f8000f.01: u2 30 (8780301f9000) -> 0 bdf 19f900 01.1f.01: u1 a (1f9000) 01.1f.01: u1 a (8780301f9000) 0 word 8780301f900a 01.1f.01: u1 a (8780301f9000) -> 880 bdf 19f900 01.1f.01: u1 4 (1f9000) 01.1f.01: u1 4 (8780301f9000) 6 tmp 16 long 8780301f9004 100006 tmp long 8780301f9004 6 long 8780301f9004 6 01.1f.01: u2 4 (8780301f9004) <- 6 bdf 19f900 01.1f.01: u0 c (1f9000) 01.1f.01: u0 c (8780301f9000) 8 tmp 8 long 8780301f900c 800008 tmp long 8780301f900c 800008 long 8780301f900c 800008 01.1f.01: u2 c (8780301f900c) <- 800008 bdf 19f900 01.1f.01: u0 d (1f9000) 01.1f.01: u0 d (8780301f9000) 80 tmp 8 long 8780301f900c 800008 tmp long 8780301f900c 808008 long 8780301f900c 808008 01.1f.01: u2 d (8780301f900c) <- 808008 pci_auto_config_devices: done … Linux logs ~# lspci -tv -+-[0003:00]---00.0-[01]--+-00.0-[02-08]--+-01.0-[03]-- | | +-02.0-[04]-- | | +-03.0-[05]----00.0 Intel Corporation I211 Gigabit Network Connection | | +-07.0-[06]----00.0 | | +-08.0-[07]-- | | \-09.0-[08]----00.0 | \-00.1 Pericom Semiconductor Device 8619 Thanks, Ram