Index | Thread | Search

From:
Bryan Vyhmeister <bryan@bsdjournal.net>
Subject:
BCM4388 support in bwfm(4)
To:
Patrick Wildt <patrick@blueri.se>
Cc:
tech@openbsd.org
Date:
Mon, 8 Jul 2024 11:44:34 -0700

Download raw body.

Thread
Hey Patrick,

It has been quite a while since I have emailed you. I picked up a Mac
mini with M2 Pro chip for OpenBSD/arm64 and found that it has a BCM4388.
I noticed the BCM4388 is defined in pcidevs but could not locate any
BCM4388 support in bwfm(4). Is this a much different wireless chipset or
would it be easy to support in bwfm(4)?

My dmesg and pcidevs output are below.

On a second note, since you're working on the Snapdragon X Elite support
with the Lenovo Slim 7x, do you think that would likely extend well to
the ThinkPad T14s Gen 6 Snapdragon model? I'm sure the Qualcomm Wi-Fi
NCM825A might be a problem but that's also the same as the Slim 7x I
think since qwx(4) does not mention that model although I see quite a
bit of work happening on qwx(4). I'm waiting for the option to custom
configure the ThinkPad T14s Gen 6 Snapdragon so I can select what
components I want (memory and SSD) and hopefully bring the cost down
some. Any thoughts on this? Thank you again for all your contributions
to OpenBSD!

Bryan


OpenBSD 7.5-current (GENERIC.MP) #103: Fri Jul  5 23:12:32 MDT 2024
    deraadt@arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/GENERIC.MP
real mem  = 16619151360 (15849MB)
avail mem = 15970148352 (15230MB)
random: good seed from bootblocks
mainbus0 at root: Apple Mac Mini (M2 Pro, 2023)
efi0 at mainbus0: UEFI 2.10
efi0: Das U-Boot rev 0x20240100
cpu0 at mainbus0 mpidr 0: Apple Blizzard Pro r1p0
cpu0: 128KB 64b/line 4-way L1 PIPT I-cache, 64KB 64b/line 8-way L1 D-cache
cpu0: 4096KB 128b/line 16-way L2 cache
cpu0: TLBIOS+IRANGE,TS+AXFLAG,FHM,DP,SHA3,RDM,Atomic,CRC32,SHA2+SHA512,SHA1,AES+PMULL,I8MM,BF16,SPECRES,SB,FRINTTS,GPI,LRCPC+LDAPUR,FCMA,JSCVT,API+PAC,DPB,SpecSEI,PAN+ATS1E1,LO,HPDS,VH,CSV3,CSV2,DIT,BT,SSBS+MSR
cpu1 at mainbus0 mpidr 1: Apple Blizzard Pro r1p0
cpu1: 128KB 64b/line 4-way L1 PIPT I-cache, 64KB 64b/line 8-way L1 D-cache
cpu1: 4096KB 128b/line 16-way L2 cache
cpu2 at mainbus0 mpidr 2: Apple Blizzard Pro r1p0
cpu2: 128KB 64b/line 4-way L1 PIPT I-cache, 64KB 64b/line 8-way L1 D-cache
cpu2: 4096KB 128b/line 16-way L2 cache
cpu3 at mainbus0 mpidr 3: Apple Blizzard Pro r1p0
cpu3: 128KB 64b/line 4-way L1 PIPT I-cache, 64KB 64b/line 8-way L1 D-cache
cpu3: 4096KB 128b/line 16-way L2 cache
cpu4 at mainbus0 mpidr 10100: Apple Avalanche Pro r1p0
cpu4: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache
cpu4: 16384KB 128b/line 16-way L2 cache
cpu5 at mainbus0 mpidr 10101: Apple Avalanche Pro r1p0
cpu5: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache
cpu5: 16384KB 128b/line 16-way L2 cache
cpu6 at mainbus0 mpidr 10102: Apple Avalanche Pro r1p0
cpu6: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache
cpu6: 16384KB 128b/line 16-way L2 cache
cpu7 at mainbus0 mpidr 10200: Apple Avalanche Pro r1p0
cpu7: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache
cpu7: 16384KB 128b/line 16-way L2 cache
cpu8 at mainbus0 mpidr 10201: Apple Avalanche Pro r1p0
cpu8: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache
cpu8: 16384KB 128b/line 16-way L2 cache
cpu9 at mainbus0 mpidr 10202: Apple Avalanche Pro r1p0
cpu9: 192KB 64b/line 6-way L1 PIPT I-cache, 128KB 64b/line 8-way L1 D-cache
cpu9: 16384KB 128b/line 16-way L2 cache
"framebuffer" at mainbus0 not configured
"asc-firmware" at mainbus0 not configured
"asc-firmware" at mainbus0 not configured
"asc-firmware" at mainbus0 not configured
"uat-handoff" at mainbus0 not configured
"uat-pagetables" at mainbus0 not configured
"uat-ttbs" at mainbus0 not configured
apm0 at mainbus0
"opp-table-0" at mainbus0 not configured
"opp-table-1" at mainbus0 not configured
"opp-table-gpu" at mainbus0 not configured
"opp-table-gpu-cs" at mainbus0 not configured
"opp-table-gpu-afr" at mainbus0 not configured
"pmu-e" at mainbus0 not configured
"pmu-p" at mainbus0 not configured
agtimer0 at mainbus0: 24000 kHz
"clock-ref" at mainbus0 not configured
"clock-200m" at mainbus0 not configured
"clock-disp0" at mainbus0 not configured
"clock-dispext0" at mainbus0 not configured
"clock-dispext0_die1" at mainbus0 not configured
"clock-dispext1" at mainbus0 not configured
"clock-dispext1_die1" at mainbus0 not configured
"clock-ref-nco" at mainbus0 not configured
simplebus0 at mainbus0: "soc"
aplpmgr0 at simplebus0
aplpmgr1 at simplebus0
aplpmgr2 at simplebus0
aplpmgr3 at simplebus0
aplintc0 at simplebus0 nirq 1961 ndie 1
apldog0 at simplebus0
aplmbox0 at simplebus0
aplpinctrl0 at simplebus0
apldart0 at simplebus0 rev 2.0: 42 bits, locked
aplmbox1 at simplebus0
apldart1 at simplebus0 rev 2.0: 42 bits, bypass
aplmbox2 at simplebus0
apldart2 at simplebus0 rev 2.0: 42 bits, bypass
apldart3 at simplebus0 rev 2.0: 42 bits, bypass
apldart4 at simplebus0 rev 2.0: 42 bits, bypass
apldart5 at simplebus0 rev 2.0: 42 bits, locked
apldart6 at simplebus0 rev 2.0: 42 bits, locked
aplmbox3 at simplebus0
aplpinctrl1 at simplebus0
aplefuse0 at simplebus0
aplpinctrl2 at simplebus0
aplpinctrl3 at simplebus0
apldart7 at simplebus0 rev 2.0: 42 bits, bypass
apldart8 at simplebus0 rev 2.0: 42 bits, bypass
apldart9 at simplebus0 rev 2.0: 42 bits, bypass
apldart10 at simplebus0 rev 2.0: 42 bits, bypass
apldart11 at simplebus0 rev 2.0: 42 bits, bypass
apldart12 at simplebus0 rev 2.0: 42 bits, bypass
apldart13 at simplebus0 rev 2.0: 42 bits, bypass
apldart14 at simplebus0 rev 2.0: 42 bits, bypass
aplmbox4 at simplebus0
aplnco0 at simplebus0
"power-management" at simplebus0 not configured
aplspmi0 at simplebus0
aplpmu0 at aplspmi0 sid 0xb
aplsmc0 at simplebus0
apldrm0 at simplebus0
drm0 at apldrm0
apliic0 at simplebus0
iic0 at apliic0
tipd0 at iic0 addr 0x38
tipd1 at iic0 addr 0x3f
tipd2 at iic0 addr 0x3b
tipd3 at iic0 addr 0x3c
apliic1 at simplebus0
iic1 at apliic1
sncodec0 at iic1 addr 0x38
apliic2 at simplebus0
iic2 at apliic2
"cirrus,cs42l84" at iic2 addr 0x4b not configured
aplspi0 at simplebus0
exuart0 at simplebus0
apldma0 at simplebus0
aplmca0 at simplebus0
"gpu" at simplebus0 not configured
aplpcie0 at simplebus0
pci0 at aplpcie0
ppb0 at pci0 dev 0 function 0 "Apple M1 PCIe" rev 0x01
pci1 at ppb0 bus 1
"Broadcom BCM4388" rev 0x04 at pci1 dev 0 function 0 not configured
vendor "Broadcom", unknown product 0x5f72 (class network subclass miscellaneous, rev 0x04) at pci1 dev 0 function 1 not configured
ppb1 at pci0 dev 1 function 0 "Apple M1 PCIe" rev 0x01
pci2 at ppb1 bus 2
ppb2 at pci0 dev 2 function 0 "Apple M1 PCIe" rev 0x01
pci3 at ppb2 bus 3
bge0 at pci3 dev 0 function 0 "Broadcom BCM57762" rev 0x00, BCM57766 A0 (0x57766000): msi, address 5c:e9:1e:12:34:56
brgphy0 at bge0 phy 1: BCM57765 10/100/1000baseT PHY, rev. 0
ppb3 at pci0 dev 3 function 0 "Apple M1 PCIe" rev 0x01
pci4 at ppb3 bus 4
xhci0 at pci4 dev 0 function 0 "ASMedia ASM2142 xHCI" rev 0x00: msix, xHCI 1.10
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "ASMedia xHCI root hub" rev 3.00/1.00 addr 1
aplcpu0 at simplebus0
aplcpu1 at simplebus0
aplcpu2 at simplebus0
apldcp0 at simplebus0
"phy" at simplebus0 not configured
xhci1 at simplebus0, xHCI 1.10
usb1 at xhci1: USB revision 3.0
uhub1 at usb1 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1
"phy" at simplebus0 not configured
xhci2 at simplebus0, xHCI 1.10
usb2 at xhci2: USB revision 3.0
uhub2 at usb2 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1
"phy" at simplebus0 not configured
xhci3 at simplebus0, xHCI 1.10
usb3 at xhci3: USB revision 3.0
uhub3 at usb3 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1
"phy" at simplebus0 not configured
xhci4 at simplebus0, xHCI 1.10
usb4 at xhci4: USB revision 3.0
uhub4 at usb4 configuration 1 interface 0 "Generic xHCI root hub" rev 3.00/1.00 addr 1
"phy" at simplebus0 not configured
aplsart0 at simplebus0
aplns0 at simplebus0
nvme0 at aplns0: NVMe 1.1
nvme0: APPLE SSD AP0512Z, firmware 373.120., serial 0ba01ee112345678
scsibus0 at nvme0: 2 targets, initiator 0
sd0 at scsibus0 targ 1 lun 0: <NVMe, APPLE SSD AP0512, 373.>
sd0: 477102MB, 4096 bytes/sector, 122138133 sectors
aplaudio0 at mainbus0
audio0 at aplaudio0
uhidev0 at uhub0 port 3 configuration 1 interface 0 "SINOWEALTH Wired Gaming Mouse" rev 1.10/1.03 addr 2
uhidev0: iclass 3/1
ums0 at uhidev0: 5 buttons, Z and W dir
wsmouse0 at ums0 mux 0
uhidev1 at uhub0 port 3 configuration 1 interface 1 "SINOWEALTH Wired Gaming Mouse" rev 1.10/1.03 addr 2
uhidev1: iclass 3/1, 7 report ids
ukbd0 at uhidev1 reportid 1: 8 variable keys, 6 key codes
wskbd0 at ukbd0: console keyboard
ucc0 at uhidev1 reportid 2: 24 usages, 13 keys, enum
wskbd1 at ucc0 mux 1
uhid0 at uhidev1 reportid 4: input=0, output=0, feature=255
uhid1 at uhidev1 reportid 5: input=0, output=0, feature=5
uhid2 at uhidev1 reportid 7: input=7, output=0, feature=0
uhidev2 at uhub0 port 4 configuration 1 interface 0 "Cooler Master Technology Inc. MasterKeys S" rev 1.10/1.03 addr 3
uhidev2: iclass 3/1
ukbd1 at uhidev2: 8 variable keys, 6 key codes
wskbd2 at ukbd1 mux 1
uhidev3 at uhub0 port 4 configuration 1 interface 1 "Cooler Master Technology Inc. MasterKeys S" rev 1.10/1.03 addr 3
uhidev3: iclass 3/0
uhid3 at uhidev3: input=64, output=64, feature=0
uhidev4 at uhub0 port 4 configuration 1 interface 2 "Cooler Master Technology Inc. MasterKeys S" rev 1.10/1.03 addr 3
uhidev4: iclass 3/0, 4 report ids
uhid4 at uhidev4 reportid 1: input=1, output=0, feature=0
ucc1 at uhidev4 reportid 2: 18 usages, 13 keys, enum
wskbd3 at ucc1 mux 1
ukbd2 at uhidev4 reportid 4: no usable key codes array
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
sd1 at scsibus2 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006>
sd1: 404843MB, 4096 bytes/sector, 103639961 sectors
root on sd1a (b8e6f72fe1b178f7.a) swap on sd1b dump on sd1b
drm:pid0:iomfb_poweron_v13_3 *ERROR* dcp_poweron() starting
apldrm0: 3840x2160, 32bpp
wsdisplay0 at apldrm0 mux 1: console (std, vt100 emulation), using wskbd0
wskbd1: connecting to wsdisplay0
wskbd2: connecting to wsdisplay0
wskbd3: connecting to wsdisplay0
wsdisplay0: screen 1-5 added (std, vt100 emulation)
"framebuffer" at mainbus0 not configured



Domain /dev/pci0:
 0:0:0: Apple M1 PCIe
	0x0000: Vendor ID: 106b, Product ID: 100c
	0x0004: Command: 0006, Status: 0010
	0x0008:	Class: 06 Bridge, Subclass: 04 PCI,
		Interface: 00, Revision: 01
	0x000c: BIST: 00, Header Type: 01, Latency Timer: 00,
		Cache Line Size: 08
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: Primary Bus: 0, Secondary Bus: 1, Subordinate Bus: 1,
		Secondary Latency Timer: 00
	0x001c: I/O Base: f0, I/O Limit: 00, Secondary Status: 2000
	0x0020: Memory Base: c200, Memory Limit: c3f0
	0x0024: Prefetch Memory Base: a001, Prefetch Memory Limit: 9ff1
	0x0028: Prefetch Memory Base Upper 32 Bits: 00000005
	0x002c: Prefetch Memory Limit Upper 32 Bits: 00000005
	0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
	0x0038: Expansion ROM Base Address: 00000000
	0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
	0x0040: Capability 0x01: Power Management
		State: D0
	0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
		Enabled: no; 1 vectors (1 enabled)
	0x0070: Capability 0x10: PCI Express
		Max Payload Size: 128 / 256 bytes
		Max Read Request Size: 128 bytes
		Link Speed: 5.0 / 5.0 GT/s
		Link Width: x1 / x1
	0x0100: Enhanced Capability 0x01: Advanced Error Reporting
	0x0148: Enhanced Capability 0x19: Secondary PCIe Capability
	0x0158: Enhanced Capability 0x26: Physical Layer 16.0 GT/s
	0x017c: Enhanced Capability 0x27: Lane Margining at the Receiver
	0x0194: Enhanced Capability 0x1e: L1 PM
	0x01a4: Enhanced Capability 0x0b: Vendor-Specific
	0x02a4: Enhanced Capability 0x25: Data Link Feature 
	0x02b0: Enhanced Capability 0x1f: Precision Time Measurement
	0x02bc: Enhanced Capability 0x0b: Vendor-Specific
 0:1:0: Apple M1 PCIe
	0x0000: Vendor ID: 106b, Product ID: 100c
	0x0004: Command: 0006, Status: 0010
	0x0008:	Class: 06 Bridge, Subclass: 04 PCI,
		Interface: 00, Revision: 01
	0x000c: BIST: 00, Header Type: 01, Latency Timer: 00,
		Cache Line Size: 08
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: Primary Bus: 0, Secondary Bus: 2, Subordinate Bus: 2,
		Secondary Latency Timer: 00
	0x001c: I/O Base: f0, I/O Limit: 00, Secondary Status: 0000
	0x0020: Memory Base: c000, Memory Limit: bff0
	0x0024: Prefetch Memory Base: a001, Prefetch Memory Limit: 9ff1
	0x0028: Prefetch Memory Base Upper 32 Bits: 00000005
	0x002c: Prefetch Memory Limit Upper 32 Bits: 00000005
	0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
	0x0038: Expansion ROM Base Address: 00000000
	0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
	0x0040: Capability 0x01: Power Management
		State: D0
	0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
		Enabled: no; 1 vectors (1 enabled)
	0x0070: Capability 0x10: PCI Express
		Max Payload Size: 128 / 256 bytes
		Max Read Request Size: 512 bytes
		Link Speed: 2.5 / 16.0 GT/s
		Link Width: x1 / x2
	0x0100: Enhanced Capability 0x01: Advanced Error Reporting
	0x0148: Enhanced Capability 0x19: Secondary PCIe Capability
	0x0158: Enhanced Capability 0x26: Physical Layer 16.0 GT/s
	0x017c: Enhanced Capability 0x27: Lane Margining at the Receiver
	0x0194: Enhanced Capability 0x1e: L1 PM
	0x01a4: Enhanced Capability 0x0b: Vendor-Specific
	0x02a4: Enhanced Capability 0x25: Data Link Feature 
	0x02b0: Enhanced Capability 0x1f: Precision Time Measurement
	0x02bc: Enhanced Capability 0x0b: Vendor-Specific
 0:2:0: Apple M1 PCIe
	0x0000: Vendor ID: 106b, Product ID: 100c
	0x0004: Command: 0006, Status: 0010
	0x0008:	Class: 06 Bridge, Subclass: 04 PCI,
		Interface: 00, Revision: 01
	0x000c: BIST: 00, Header Type: 01, Latency Timer: 00,
		Cache Line Size: 08
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: Primary Bus: 0, Secondary Bus: 3, Subordinate Bus: 3,
		Secondary Latency Timer: 00
	0x001c: I/O Base: f0, I/O Limit: 00, Secondary Status: 0000
	0x0020: Memory Base: c000, Memory Limit: c000
	0x0024: Prefetch Memory Base: a001, Prefetch Memory Limit: a001
	0x0028: Prefetch Memory Base Upper 32 Bits: 00000005
	0x002c: Prefetch Memory Limit Upper 32 Bits: 00000005
	0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
	0x0038: Expansion ROM Base Address: 00000000
	0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
	0x0040: Capability 0x01: Power Management
		State: D0
	0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
		Enabled: no; 1 vectors (1 enabled)
	0x0070: Capability 0x10: PCI Express
		Max Payload Size: 128 / 256 bytes
		Max Read Request Size: 128 bytes
		Link Speed: 2.5 / 8.0 GT/s
		Link Width: x1 / x1
	0x0100: Enhanced Capability 0x01: Advanced Error Reporting
	0x0148: Enhanced Capability 0x19: Secondary PCIe Capability
	0x0158: Enhanced Capability 0x26: Physical Layer 16.0 GT/s
	0x017c: Enhanced Capability 0x27: Lane Margining at the Receiver
	0x0194: Enhanced Capability 0x1e: L1 PM
	0x01a4: Enhanced Capability 0x0b: Vendor-Specific
	0x02a4: Enhanced Capability 0x25: Data Link Feature 
	0x02b0: Enhanced Capability 0x1f: Precision Time Measurement
	0x02bc: Enhanced Capability 0x0b: Vendor-Specific
 0:3:0: Apple M1 PCIe
	0x0000: Vendor ID: 106b, Product ID: 100c
	0x0004: Command: 0006, Status: 0010
	0x0008:	Class: 06 Bridge, Subclass: 04 PCI,
		Interface: 00, Revision: 01
	0x000c: BIST: 00, Header Type: 01, Latency Timer: 00,
		Cache Line Size: 08
	0x0010: BAR empty (00000000)
	0x0014: BAR empty (00000000)
	0x0018: Primary Bus: 0, Secondary Bus: 4, Subordinate Bus: 4,
		Secondary Latency Timer: 00
	0x001c: I/O Base: f0, I/O Limit: 00, Secondary Status: 0000
	0x0020: Memory Base: c010, Memory Limit: c010
	0x0024: Prefetch Memory Base: a011, Prefetch Memory Limit: a001
	0x0028: Prefetch Memory Base Upper 32 Bits: 00000005
	0x002c: Prefetch Memory Limit Upper 32 Bits: 00000005
	0x0030: I/O Base Upper 16 Bits: 0000, I/O Limit Upper 16 Bits: 0000
	0x0038: Expansion ROM Base Address: 00000000
	0x003c: Interrupt Pin: 01, Line: ff, Bridge Control: 0000
	0x0040: Capability 0x01: Power Management
		State: D0
	0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
		Enabled: no; 1 vectors (1 enabled)
	0x0070: Capability 0x10: PCI Express
		Max Payload Size: 128 / 256 bytes
		Max Read Request Size: 512 bytes
		Link Speed: 8.0 / 16.0 GT/s
		Link Width: x1 / x2
	0x0100: Enhanced Capability 0x01: Advanced Error Reporting
	0x0148: Enhanced Capability 0x19: Secondary PCIe Capability
	0x0158: Enhanced Capability 0x26: Physical Layer 16.0 GT/s
	0x017c: Enhanced Capability 0x27: Lane Margining at the Receiver
	0x0194: Enhanced Capability 0x1e: L1 PM
	0x01a4: Enhanced Capability 0x0b: Vendor-Specific
	0x02a4: Enhanced Capability 0x25: Data Link Feature 
	0x02b0: Enhanced Capability 0x1f: Precision Time Measurement
	0x02bc: Enhanced Capability 0x0b: Vendor-Specific
 1:0:0: Broadcom BCM4388
	0x0000: Vendor ID: 14e4, Product ID: 4434
	0x0004: Command: 0000, Status: 0010
	0x0008:	Class: 02 Network, Subclass: 80 Miscellaneous,
		Interface: 00, Revision: 04
	0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
		Cache Line Size: 00
	0x0010: BAR mem 64bit addr: 0x0000000000000000/0x00010000
	0x0018: BAR mem 64bit addr: 0x0000000000000000/0x01000000
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 106b Product ID: 4388
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0048: Capability 0x01: Power Management
		State: D0 PME# enabled
	0x0058: Capability 0x05: Message Signalled Interrupts (MSI)
		Enabled: no; 32 vectors (1 enabled)
	0x0068: Capability 0x09: Vendor Specific
	0x00ac: Capability 0x10: PCI Express
		Max Payload Size: 128 / 512 bytes
		Max Read Request Size: 512 bytes
		Link Speed: 5.0 / 5.0 GT/s
		Link Width: x1 / x1
	0x0100: Enhanced Capability 0x01: Advanced Error Reporting
	0x013c: Enhanced Capability 0x03: Device Serial Number
		Serial Number: 000000ffff000000
	0x0150: Enhanced Capability 0x04: Power Budgeting
	0x0160: Enhanced Capability 0x02: Virtual Channel Capability
	0x01b0: Enhanced Capability 0x18: Latency Tolerance Reporting
	0x0220: Enhanced Capability 0x15: Resizable BAR
	0x0240: Enhanced Capability 0x1e: L1 PM
	0x0200: Enhanced Capability 0x1f: Precision Time Measurement
 1:0:1: Broadcom unknown
	0x0000: Vendor ID: 14e4, Product ID: 5f72
	0x0004: Command: 0000, Status: 0010
	0x0008:	Class: 02 Network, Subclass: 80 Miscellaneous,
		Interface: 00, Revision: 04
	0x000c: BIST: 00, Header Type: 80, Latency Timer: 00,
		Cache Line Size: 00
	0x0010: BAR mem 64bit addr: 0x0000000000000000/0x00008000
	0x0018: BAR mem 64bit addr: 0x0000000000000000/0x01000000
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 106b Product ID: 4388
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 02 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0048: Capability 0x01: Power Management
		State: D0 PME# enabled
	0x0058: Capability 0x05: Message Signalled Interrupts (MSI)
		Enabled: no; 32 vectors (1 enabled)
	0x0068: Capability 0x09: Vendor Specific
	0x00ac: Capability 0x10: PCI Express
		Max Payload Size: 128 / 512 bytes
		Max Read Request Size: 512 bytes
		Link Speed: 5.0 / 5.0 GT/s
		Link Width: x1 / x1
	0x0100: Enhanced Capability 0x01: Advanced Error Reporting
	0x013c: Enhanced Capability 0x03: Device Serial Number
		Serial Number: 000000ffff000000
	0x0150: Enhanced Capability 0x04: Power Budgeting
	0x0160: Enhanced Capability 0x02: Virtual Channel Capability
	0x0220: Enhanced Capability 0x15: Resizable BAR
 3:0:0: Broadcom BCM57762
	0x0000: Vendor ID: 14e4, Product ID: 1682
	0x0004: Command: 0006, Status: 0010
	0x0008:	Class: 02 Network, Subclass: 00 Ethernet,
		Interface: 00, Revision: 00
	0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
		Cache Line Size: 08
	0x0010: BAR mem prefetchable 64bit addr: 0x00000005a0000000/0x00010000
	0x0018: BAR mem prefetchable 64bit addr: 0x00000005a0010000/0x00010000
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 14e4 Product ID: 1682
	0x0030: Expansion ROM Base Address: c0000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0048: Capability 0x01: Power Management
		State: D0 PME# enabled
	0x0050: Capability 0x03: Vital Product Data (VPD)
		Product Name: Broadcom NetXtreme Gigabit Ethernet Controller\^@
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
		    \^@\^@: 
	0x0058: Capability 0x05: Message Signalled Interrupts (MSI)
		Enabled: yes; 8 vectors (1 enabled)
	0x00a0: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
		Enabled: no; table size 6 (BAR 2:0)
	0x00ac: Capability 0x10: PCI Express
		Max Payload Size: 128 / 128 bytes
		Max Read Request Size: 4096 bytes
		Link Speed: 2.5 / 2.5 GT/s
		Link Width: x1 / x1
	0x0100: Enhanced Capability 0x01: Advanced Error Reporting
	0x013c: Enhanced Capability 0x03: Device Serial Number
		Serial Number: 0000001018000000
	0x0150: Enhanced Capability 0x04: Power Budgeting
	0x0160: Enhanced Capability 0x02: Virtual Channel Capability
	0x01b0: Enhanced Capability 0x18: Latency Tolerance Reporting
 4:0:0: ASMedia ASM2142 xHCI
	0x0000: Vendor ID: 1b21, Product ID: 2142
	0x0004: Command: 0006, Status: 0010
	0x0008:	Class: 0c Serial Bus, Subclass: 03 USB,
		Interface: 30, Revision: 00
	0x000c: BIST: 00, Header Type: 00, Latency Timer: 00,
		Cache Line Size: 08
	0x0010: BAR mem 64bit addr: 0x00000000c0100000/0x00008000
	0x0018: BAR empty (00000000)
	0x001c: BAR empty (00000000)
	0x0020: BAR empty (00000000)
	0x0024: BAR empty (00000000)
	0x0028: Cardbus CIS: 00000000
	0x002c: Subsystem Vendor ID: 1b21 Product ID: 2142
	0x0030: Expansion ROM Base Address: 00000000
	0x0038: 00000000
	0x003c: Interrupt Pin: 01 Line: 00 Min Gnt: 00 Max Lat: 00
	0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
		Enabled: no; 8 vectors (1 enabled)
	0x0068: Capability 0x11: Extended Message Signalled Interrupts (MSI-X)
		Enabled: yes; table size 8 (BAR 0:8192)
	0x0078: Capability 0x01: Power Management
		State: D0
	0x0080: Capability 0x10: PCI Express
		Max Payload Size: 128 / 512 bytes
		Max Read Request Size: 512 bytes
		Link Speed: 8.0 / 8.0 GT/s
		Link Width: x1 / x2
	0x0100: Enhanced Capability 0x01: Advanced Error Reporting
	0x0200: Enhanced Capability 0x19: Secondary PCIe Capability
	0x0300: Enhanced Capability 0x18: Latency Tolerance Reporting
	0x0400: Enhanced Capability 0x1e: L1 PM