Lib-electronic-components qualcomm

Qualcomm MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Qualcomm mobile SoCs, RF front-end, WiFi/Bluetooth, modems, or power management ICs.

install
source · Clone the upstream repo
git clone https://github.com/Cantara/lib-electronic-components
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Cantara/lib-electronic-components "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/manufacturers/qualcomm" ~/.claude/skills/cantara-lib-electronic-components-qualcomm && rm -rf "$T"
manifest: .claude/skills/manufacturers/qualcomm/SKILL.md
source content

Qualcomm Manufacturer Skill

Company Overview

Qualcomm is a leading fabless semiconductor company specializing in:

  • Mobile SoCs: Snapdragon mobile platforms (SM, SD, QSD, MSM series)
  • IoT/Embedded: QCS/QCM IoT platforms, APQ application processors, IPQ network processors
  • RF Front-End: RF modules (QM), power modules (QPM), antenna tuners (QAT), envelope trackers (QET)
  • Wireless Connectivity: WiFi/Bluetooth (QCA, WCN), cellular modems (MDM), small cell (FSM)
  • Power Management: PMICs (PM, PMI), battery charging (SMB)
  • Audio: Audio codecs (WCD), smart amplifiers (WSA)

MPN Structure

Qualcomm MPNs follow this general structure:

[PREFIX][SERIES][-PACKAGE]
   │       │        │
   │       │        └── Optional: Package suffix (BGA, CSP, QFN, etc.)
   │       └── Numeric series (3-4 digits)
   └── Product family prefix (SM, QCA, PM, etc.)

Example Decoding

SM8550-AB
│  │   │
│  │   └── AB = Package/variant designation
│  └── 8550 = Snapdragon 8 Gen 2 series
└── SM = Snapdragon Mobile platform

QCA6390-FCBGA
│   │    │
│   │    └── FCBGA = Flip-Chip BGA package
│   └── 6390 = Wi-Fi 6E / Bluetooth 5.2 combo chip
└── QCA = Qualcomm Connectivity/Atheros (Wi-Fi/BT)

PM8550
│  │
│  └── 8550 = Power management IC for SM8550 platform
└── PM = Power Management IC

Product Family Prefixes

Mobile Platforms (Snapdragon)

PrefixCategoryExamplesNotes
SMSnapdragon MobileSM8550, SM8450, SM8350Current flagship naming
SDSnapdragonSD888, SD865, SD855Legacy flagship naming
QSDSnapdragon (original)QSD8250, QSD8650First-gen Snapdragon
MSMMobile Station ModemMSM8996, MSM8953Integrated modem SoCs

IoT/Embedded Platforms

PrefixCategoryExamplesNotes
QCSIoT PlatformQCS400, QCS603, QCS610Smart speaker, camera, etc.
QCMIoT ModuleQCM2150, QCM6490Complete system modules
APQApplication ProcessorAPQ8064, APQ8084No integrated modem
IPQNetwork ProcessorIPQ8074, IPQ6018Routers, networking

RF Front-End

PrefixCategoryExamplesNotes
QMRF ModuleQM42195, QM78207Integrated RF front-end
QPMPower ModuleQPM2630, QPM5677PA power modules
QATAntenna TunerQAT3516, QAT3555Impedance tuning
QETEnvelope TrackerQET5100, QET6100Power efficiency

Wireless Connectivity

PrefixCategoryExamplesNotes
QCAWi-Fi/BluetoothQCA6390, QCA9377, QCA6174Atheros heritage
WCNWireless ConnectivityWCN3990, WCN6855Combo chips
MDMModemMDM9206, MDM9650Standalone modems
FSMSmall CellFSM9955, FSM9900Base station

Power Management

PrefixCategoryExamplesNotes
PMPMICPM8550, PM8350, PM8150Main PMICs
PMIPower Management ICPMI8998, PMI632Alternate PMIC series
SMBBattery ChargerSMB1360, SMB1350Charging ICs

Audio

PrefixCategoryExamplesNotes
WCDAudio CodecWCD9380, WCD9340Audio CODEC ICs
WSASmart AmplifierWSA8810, WSA8815Speaker amplifiers

Package Codes

Package codes appear after a hyphen in the MPN.

SuffixPackageFull Name
BGABGABall Grid Array
CSPCSPChip Scale Package
POP / PoPPackage-on-PackageStacked package
QFNQFNQuad Flat No-leads
PQFNPower QFNPower-rated QFN
LFCSPLead Frame CSPLead Frame Chip Scale
WLCSPWafer Level CSPSmallest footprint
FCBGAFlip-Chip BGAFlip-chip interconnect

Package Extraction Logic

The handler extracts package codes from the suffix after the last hyphen:

// Direct match
"BGA" -> "BGA"
"CSP" -> "CSP"
"POP" or "PoP" -> "Package-on-Package"
"QFN" -> "QFN"
"PQFN" -> "Power QFN"
"LFCSP" -> "Lead Frame CSP"
"WLCSP" -> "Wafer Level CSP"
"FCBGA" -> "Flip-Chip BGA"

// Contains check (fallback)
Contains "BGA" -> "BGA"
Contains "CSP" -> "CSP"
Contains "QFN" -> "QFN"

Series Extraction Logic

The handler extracts series by collecting letters and digits before any hyphen:

// Algorithm: collect alphanumerics until hyphen or end of letter+digit pattern
SM8550-AB → SM8550
QCA6390 → QCA6390
PM8550 → PM8550
MDM9650 → MDM9650

The extraction stops when:

  1. A hyphen is encountered
  2. Letters and digits have both been found, and a non-alphanumeric appears

Snapdragon Naming Evolution

Modern Naming (2021+)

SeriesTierExamples
SM8xxxFlagship (8-series)SM8550 (Gen 2), SM8650 (Gen 3)
SM7xxxPremium (7-series)SM7550, SM7450
SM6xxxMainstream (6-series)SM6350, SM6225
SM4xxxBudget (4-series)SM4350, SM4250

Legacy Naming

SeriesYearExamples
SD8xx2017-2021SD888, SD865, SD855, SD845
SD7xx2018-2021SD780, SD765, SD750
SD6xx2017-2021SD695, SD680, SD660
SD4xx2016-2021SD480, SD460, SD450
MSM89xx2014-2017MSM8996, MSM8953

Performance Tiers (Suffix Keywords)

TierKeywordDescription
EliteEliteHighest performance
PlusPlusEnhanced variant
ProProProfessional variant
Standard(none)Base variant

Generation (Suffix Keywords)

GenerationKeywordYear
Gen 1Gen12021
Gen 2Gen22022
Gen 3Gen32023

Supported ComponentTypes

The handler registers all patterns under

ComponentType.IC
and declares:

getSupportedTypes() → { WIFI_IC_QUALCOMM }

Known Issue: The handler registers patterns for many IC categories (SoCs, modems, PMICs, etc.) but only declares

WIFI_IC_QUALCOMM
in
getSupportedTypes()
. Consider adding
IC
to
getSupportedTypes()
for completeness.


Replacement Compatibility Logic

The handler implements sophisticated replacement checking via

isOfficialReplacement()
:

Compatible Series Pairs

Series 1Series 2Category
SD8xxSD8xxSnapdragon flagship
SM8xxSM8xxSnapdragon mobile
QCS4xxQCS4xxIoT platform
QCM2xxQCM2xxIoT module
QM4xxQM4xxRF module
QCA6xxQCA6xxWi-Fi/Bluetooth
WCN3xxWCN3xxWireless connectivity

Category-Specific Checks

Snapdragon SoCs (SM, SD, QSD, MSM):

  • Generation compatibility (higher gen can replace lower)
  • Performance tier compatibility (Elite > Plus > Pro > Standard)

Wireless Modules (QCA, WCN, MDM, FSM):

  • Wi-Fi version compatibility (WiFi-6 > WiFi-5 > WiFi-4)
  • Bluetooth version compatibility (5.2 > 5.1 > 5.0 > 4.2)

Power Management (PM, PMI, SMB):

  • Voltage rating compatibility (within 5% tolerance)
  • Current rating compatibility (higher can replace lower)

Example MPNs

Mobile SoCs

MPNDescription
SM8550-ABSnapdragon 8 Gen 2 flagship SoC
SM8450-3-ABSnapdragon 8 Gen 1 SoC
SD888Snapdragon 888 flagship (legacy naming)
MSM8996Snapdragon 820/821 SoC
QSD8250First-gen Snapdragon

IoT Platforms

MPNDescription
QCS603Vision Intelligence Platform
QCM6490IoT module with 5G
APQ8064Application processor (no modem)
IPQ8074Networking processor for routers

RF Front-End

MPNDescription
QM42195RF front-end module
QPM5677Power amplifier module
QAT3555Antenna tuner
QET6100Envelope tracking module

Wireless Connectivity

MPNDescription
QCA6390Wi-Fi 6E / Bluetooth 5.2
QCA6174A-3-FCBGAWi-Fi 5 / BT 4.2, FCBGA package
WCN6855Wi-Fi 6E combo chip
MDM9650LTE Cat-9 modem

Power Management

MPNDescription
PM8550Main PMIC for SM8550
PMI8998Power management IC
SMB1360-1-BGABattery charging IC, BGA package

Audio

MPNDescription
WCD9380Audio codec
WSA8810Smart speaker amplifier

Handler Implementation Notes

Pattern Matching

All patterns are registered under

ComponentType.IC
:

// Mobile Platforms
"^SM[0-9]{3}.*"       // SM8550, SM7450
"^SD[0-9]{3}.*"       // SD888, SD865
"^QSD[0-9]{4}.*"      // QSD8250
"^MSM[0-9]{4}.*"      // MSM8996

// IoT/Embedded
"^QCS[0-9]{3}.*"      // QCS603
"^QCM[0-9]{3}.*"      // QCM2150
"^APQ[0-9]{4}.*"      // APQ8064
"^IPQ[0-9]{4}.*"      // IPQ8074

// RF Front-End
"^QM[0-9]{4}.*"       // QM42195
"^QPM[0-9]{4}.*"      // QPM5677
"^QAT[0-9]{4}.*"      // QAT3555
"^QET[0-9]{4}.*"      // QET6100

// Wireless
"^QCA[0-9]{4}.*"      // QCA6390
"^WCN[0-9]{4}.*"      // WCN6855
"^MDM[0-9]{4}.*"      // MDM9650
"^FSM[0-9]{4}.*"      // FSM9955

// Power Management
"^PM[0-9]{4}.*"       // PM8550
"^PMI[0-9]{4}.*"      // PMI8998
"^SMB[0-9]{3}.*"      // SMB1360

// Audio
"^WCD[0-9]{4}.*"      // WCD9380
"^WSA[0-9]{4}.*"      // WSA8810

Known Issues

  1. HashSet in getSupportedTypes(): Uses
    HashSet
    instead of
    Set.of()
    - should be updated for consistency
  2. IC type not in getSupportedTypes(): Handler registers patterns for
    ComponentType.IC
    but only declares
    WIFI_IC_QUALCOMM
    - may cause
    matches()
    to return true but type not in supported set
  3. Commented-out code: Line 54 has commented-out
    WIFI_IC
    type

Related Files

  • Handler:
    manufacturers/QualcommHandler.java
  • Component types:
    WIFI_IC_QUALCOMM
  • Tests: (None currently - handler needs test coverage)

Learnings & Quirks

  • PMIC naming convention: PM/PMI part numbers often match the SoC they're designed for (PM8550 pairs with SM8550)
  • Atheros heritage: QCA prefix comes from Qualcomm Atheros acquisition (2011) - Wi-Fi/Bluetooth expertise
  • Package suffix variability: Many Qualcomm parts are sold without explicit package suffix in MPN
  • Generation extraction: The handler extracts generation from 3-digit numeric portions (first digit = generation, second digit = tier)
  • Wi-Fi capability keywords: Some MPNs include "ax", "ac", "n" to indicate Wi-Fi version
  • BT version in MPN: Bluetooth version may appear as "BT5.2", "BT5.1", etc. in some variants
<!-- Add new learnings above this line -->