> Date: Sat, 7 Jul 2012 23:34:05 +0200
> From: Stefan Sperling <s...@openbsd.org>
> 
> My laptop has a chip which the Linux brcm80211 driver calls
> #define BCM43224_D11N_ID_VEN1     0x0576  /* Vendor specific 43224 802.11n db 
> */

The Linux people aren't know for their consistent naming of PCI device
IDs.  So usually not a god place to look for inspiration.

Wonder if this is just a vendor screwup where they programmed the
wrong value in an EEPROM.  Seems to happen all the time :(

> Diff below adds the PCI id. ok?
> 
> pcidump output:
>  1:0:0: Broadcom unknown
>       0x0000: Vendor ID: 14e4 Product ID: 0576
>       0x0004: Command: 0006 Status ID: 0010
>       0x0008: Class: 02 Subclass: 80 Interface: 00 Revision: 01
>       0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 08
>       0x0010: BAR mem 64bit addr: 0x00000000f0200000/0x00004000
>       0x0018: BAR empty (00000000)
>       0x001c: BAR empty (00000000)
>       0x0020: BAR empty (00000000)
>       0x0024: BAR empty (00000000)
>       0x0028: Cardbus CIS: 00000000
>       0x002c: Subsystem Vendor ID: 14e4 Product ID: 0576
>       0x0030: Expansion ROM Base Address: 00000000
>       0x0038: 00000000
>       0x003c: Interrupt Pin: 01 Line: 0a Min Gnt: 00 Max Lat: 00
>       0x0040: Capability 0x01: Power Management
>       0x0058: Capability 0x09: Vendor Specific
>       0x0048: Capability 0x05: Message Signaled Interrupts (MSI)
>       0x00d0: Capability 0x10: PCI Express
>               Link Speed: 2.5 / 2.5 GT/s Link Width: x1 / x1
> 
> 
> Index: pcidevs
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs,v
> retrieving revision 1.1649
> diff -u -p -r1.1649 pcidevs
> --- pcidevs   5 Jul 2012 10:22:08 -0000       1.1649
> +++ pcidevs   7 Jul 2012 21:25:52 -0000
> @@ -1652,6 +1652,7 @@ product BROADCOM BCM4322        0x432b  BCM4322
>  product BROADCOM SERIAL              0x4333  Serial
>  product BROADCOM SERIAL_GC   0x4344  Serial
>  product BROADCOM BCM43224    0x4353  BCM43224
> +product BROADCOM BCM43224_VEN1       0x0576  BCM43224 
>  product BROADCOM BCM43225    0x4357  BCM43225
>  product BROADCOM BCM43227    0x4358  BCM43227
>  product BROADCOM BCM4401     0x4401  BCM4401
> Index: pcidevs.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
> retrieving revision 1.1646
> diff -u -p -r1.1646 pcidevs.h
> --- pcidevs.h 5 Jul 2012 10:23:31 -0000       1.1646
> +++ pcidevs.h 7 Jul 2012 21:25:53 -0000
> @@ -1657,6 +1657,7 @@
>  #define      PCI_PRODUCT_BROADCOM_SERIAL     0x4333          /* Serial */
>  #define      PCI_PRODUCT_BROADCOM_SERIAL_GC  0x4344          /* Serial */
>  #define      PCI_PRODUCT_BROADCOM_BCM43224   0x4353          /* BCM43224 */
> +#define      PCI_PRODUCT_BROADCOM_BCM43224_VEN1      0x0576          /* 
> BCM43224 */
>  #define      PCI_PRODUCT_BROADCOM_BCM43225   0x4357          /* BCM43225 */
>  #define      PCI_PRODUCT_BROADCOM_BCM43227   0x4358          /* BCM43227 */
>  #define      PCI_PRODUCT_BROADCOM_BCM4401    0x4401          /* BCM4401 */
> Index: pcidevs_data.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
> retrieving revision 1.1641
> diff -u -p -r1.1641 pcidevs_data.h
> --- pcidevs_data.h    5 Jul 2012 10:23:31 -0000       1.1641
> +++ pcidevs_data.h    7 Jul 2012 21:25:53 -0000
> @@ -4820,6 +4820,10 @@ static const struct pci_known_product pc
>           "BCM43224",
>       },
>       {
> +         PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM43224_VEN1,
> +         "BCM43224",
> +     },
> +     {
>           PCI_VENDOR_BROADCOM, PCI_PRODUCT_BROADCOM_BCM43225,
>           "BCM43225",
>       },

Reply via email to