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)
| Prefix |
Category |
Examples |
Notes |
| SM |
Snapdragon Mobile |
SM8550, SM8450, SM8350 |
Current flagship naming |
| SD |
Snapdragon |
SD888, SD865, SD855 |
Legacy flagship naming |
| QSD |
Snapdragon (original) |
QSD8250, QSD8650 |
First-gen Snapdragon |
| MSM |
Mobile Station Modem |
MSM8996, MSM8953 |
Integrated modem SoCs |
IoT/Embedded Platforms
| Prefix |
Category |
Examples |
Notes |
| QCS |
IoT Platform |
QCS400, QCS603, QCS610 |
Smart speaker, camera, etc. |
| QCM |
IoT Module |
QCM2150, QCM6490 |
Complete system modules |
| APQ |
Application Processor |
APQ8064, APQ8084 |
No integrated modem |
| IPQ |
Network Processor |
IPQ8074, IPQ6018 |
Routers, networking |
RF Front-End
| Prefix |
Category |
Examples |
Notes |
| QM |
RF Module |
QM42195, QM78207 |
Integrated RF front-end |
| QPM |
Power Module |
QPM2630, QPM5677 |
PA power modules |
| QAT |
Antenna Tuner |
QAT3516, QAT3555 |
Impedance tuning |
| QET |
Envelope Tracker |
QET5100, QET6100 |
Power efficiency |
Wireless Connectivity
| Prefix |
Category |
Examples |
Notes |
| QCA |
Wi-Fi/Bluetooth |
QCA6390, QCA9377, QCA6174 |
Atheros heritage |
| WCN |
Wireless Connectivity |
WCN3990, WCN6855 |
Combo chips |
| MDM |
Modem |
MDM9206, MDM9650 |
Standalone modems |
| FSM |
Small Cell |
FSM9955, FSM9900 |
Base station |
Power Management
| Prefix |
Category |
Examples |
Notes |
| PM |
PMIC |
PM8550, PM8350, PM8150 |
Main PMICs |
| PMI |
Power Management IC |
PMI8998, PMI632 |
Alternate PMIC series |
| SMB |
Battery Charger |
SMB1360, SMB1350 |
Charging ICs |
Audio
| Prefix |
Category |
Examples |
Notes |
| WCD |
Audio Codec |
WCD9380, WCD9340 |
Audio CODEC ICs |
| WSA |
Smart Amplifier |
WSA8810, WSA8815 |
Speaker amplifiers |
Package Codes
Package codes appear after a hyphen in the MPN.
| Suffix |
Package |
Full Name |
| BGA |
BGA |
Ball Grid Array |
| CSP |
CSP |
Chip Scale Package |
| POP / PoP |
Package-on-Package |
Stacked package |
| QFN |
QFN |
Quad Flat No-leads |
| PQFN |
Power QFN |
Power-rated QFN |
| LFCSP |
Lead Frame CSP |
Lead Frame Chip Scale |
| WLCSP |
Wafer Level CSP |
Smallest footprint |
| FCBGA |
Flip-Chip BGA |
Flip-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:
- A hyphen is encountered
- Letters and digits have both been found, and a non-alphanumeric appears
Snapdragon Naming Evolution
Modern Naming (2021+)
| Series |
Tier |
Examples |
| SM8xxx |
Flagship (8-series) |
SM8550 (Gen 2), SM8650 (Gen 3) |
| SM7xxx |
Premium (7-series) |
SM7550, SM7450 |
| SM6xxx |
Mainstream (6-series) |
SM6350, SM6225 |
| SM4xxx |
Budget (4-series) |
SM4350, SM4250 |
Legacy Naming
| Series |
Year |
Examples |
| SD8xx |
2017-2021 |
SD888, SD865, SD855, SD845 |
| SD7xx |
2018-2021 |
SD780, SD765, SD750 |
| SD6xx |
2017-2021 |
SD695, SD680, SD660 |
| SD4xx |
2016-2021 |
SD480, SD460, SD450 |
| MSM89xx |
2014-2017 |
MSM8996, MSM8953 |
Performance Tiers (Suffix Keywords)
| Tier |
Keyword |
Description |
| Elite |
Elite |
Highest performance |
| Plus |
Plus |
Enhanced variant |
| Pro |
Pro |
Professional variant |
| Standard |
(none) |
Base variant |
Generation (Suffix Keywords)
| Generation |
Keyword |
Year |
| Gen 1 |
Gen1 |
2021 |
| Gen 2 |
Gen2 |
2022 |
| Gen 3 |
Gen3 |
2023 |
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 1 |
Series 2 |
Category |
| SD8xx |
SD8xx |
Snapdragon flagship |
| SM8xx |
SM8xx |
Snapdragon mobile |
| QCS4xx |
QCS4xx |
IoT platform |
| QCM2xx |
QCM2xx |
IoT module |
| QM4xx |
QM4xx |
RF module |
| QCA6xx |
QCA6xx |
Wi-Fi/Bluetooth |
| WCN3xx |
WCN3xx |
Wireless 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
| MPN |
Description |
| SM8550-AB |
Snapdragon 8 Gen 2 flagship SoC |
| SM8450-3-AB |
Snapdragon 8 Gen 1 SoC |
| SD888 |
Snapdragon 888 flagship (legacy naming) |
| MSM8996 |
Snapdragon 820/821 SoC |
| QSD8250 |
First-gen Snapdragon |
IoT Platforms
| MPN |
Description |
| QCS603 |
Vision Intelligence Platform |
| QCM6490 |
IoT module with 5G |
| APQ8064 |
Application processor (no modem) |
| IPQ8074 |
Networking processor for routers |
RF Front-End
| MPN |
Description |
| QM42195 |
RF front-end module |
| QPM5677 |
Power amplifier module |
| QAT3555 |
Antenna tuner |
| QET6100 |
Envelope tracking module |
Wireless Connectivity
| MPN |
Description |
| QCA6390 |
Wi-Fi 6E / Bluetooth 5.2 |
| QCA6174A-3-FCBGA |
Wi-Fi 5 / BT 4.2, FCBGA package |
| WCN6855 |
Wi-Fi 6E combo chip |
| MDM9650 |
LTE Cat-9 modem |
Power Management
| MPN |
Description |
| PM8550 |
Main PMIC for SM8550 |
| PMI8998 |
Power management IC |
| SMB1360-1-BGA |
Battery charging IC, BGA package |
Audio
| MPN |
Description |
| WCD9380 |
Audio codec |
| WSA8810 |
Smart 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
- HashSet in getSupportedTypes(): Uses
HashSet instead of Set.of() - should be updated for consistency
- 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
- 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
1---2name: qualcomm3description: 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.4---5
6# Qualcomm Manufacturer Skill
7
8## Company Overview
9
10Qualcomm is a leading fabless semiconductor company specializing in:
11
12- **Mobile SoCs**: Snapdragon mobile platforms (SM, SD, QSD, MSM series)
13- **IoT/Embedded**: QCS/QCM IoT platforms, APQ application processors, IPQ network processors
14- **RF Front-End**: RF modules (QM), power modules (QPM), antenna tuners (QAT), envelope trackers (QET)
15- **Wireless Connectivity**: WiFi/Bluetooth (QCA, WCN), cellular modems (MDM), small cell (FSM)
16- **Power Management**: PMICs (PM, PMI), battery charging (SMB)
17- **Audio**: Audio codecs (WCD), smart amplifiers (WSA)
18
19---
20
21## MPN Structure
22
23Qualcomm MPNs follow this general structure:
24
25```
26[PREFIX][SERIES][-PACKAGE]
27 │ │ │
28 │ │ └── Optional: Package suffix (BGA, CSP, QFN, etc.)
29 │ └── Numeric series (3-4 digits)
30 └── Product family prefix (SM, QCA, PM, etc.)
31```
32
33### Example Decoding
34
35```
36SM8550-AB
37│ │ │
38│ │ └── AB = Package/variant designation
39│ └── 8550 = Snapdragon 8 Gen 2 series
40└── SM = Snapdragon Mobile platform
41
42QCA6390-FCBGA
43│ │ │
44│ │ └── FCBGA = Flip-Chip BGA package
45│ └── 6390 = Wi-Fi 6E / Bluetooth 5.2 combo chip
46└── QCA = Qualcomm Connectivity/Atheros (Wi-Fi/BT)
47
48PM8550
49│ │
50│ └── 8550 = Power management IC for SM8550 platform
51└── PM = Power Management IC
52```
53
54---
55
56## Product Family Prefixes
57
58### Mobile Platforms (Snapdragon)
59
60| Prefix | Category | Examples | Notes |
61|--------|----------|----------|-------|
62| SM | Snapdragon Mobile | SM8550, SM8450, SM8350 | Current flagship naming |
63| SD | Snapdragon | SD888, SD865, SD855 | Legacy flagship naming |
64| QSD | Snapdragon (original) | QSD8250, QSD8650 | First-gen Snapdragon |
65| MSM | Mobile Station Modem | MSM8996, MSM8953 | Integrated modem SoCs |
66
67### IoT/Embedded Platforms
68
69| Prefix | Category | Examples | Notes |
70|--------|----------|----------|-------|
71| QCS | IoT Platform | QCS400, QCS603, QCS610 | Smart speaker, camera, etc. |
72| QCM | IoT Module | QCM2150, QCM6490 | Complete system modules |
73| APQ | Application Processor | APQ8064, APQ8084 | No integrated modem |
74| IPQ | Network Processor | IPQ8074, IPQ6018 | Routers, networking |
75
76### RF Front-End
77
78| Prefix | Category | Examples | Notes |
79|--------|----------|----------|-------|
80| QM | RF Module | QM42195, QM78207 | Integrated RF front-end |
81| QPM | Power Module | QPM2630, QPM5677 | PA power modules |
82| QAT | Antenna Tuner | QAT3516, QAT3555 | Impedance tuning |
83| QET | Envelope Tracker | QET5100, QET6100 | Power efficiency |
84
85### Wireless Connectivity
86
87| Prefix | Category | Examples | Notes |
88|--------|----------|----------|-------|
89| QCA | Wi-Fi/Bluetooth | QCA6390, QCA9377, QCA6174 | Atheros heritage |
90| WCN | Wireless Connectivity | WCN3990, WCN6855 | Combo chips |
91| MDM | Modem | MDM9206, MDM9650 | Standalone modems |
92| FSM | Small Cell | FSM9955, FSM9900 | Base station |
93
94### Power Management
95
96| Prefix | Category | Examples | Notes |
97|--------|----------|----------|-------|
98| PM | PMIC | PM8550, PM8350, PM8150 | Main PMICs |
99| PMI | Power Management IC | PMI8998, PMI632 | Alternate PMIC series |
100| SMB | Battery Charger | SMB1360, SMB1350 | Charging ICs |
101
102### Audio
103
104| Prefix | Category | Examples | Notes |
105|--------|----------|----------|-------|
106| WCD | Audio Codec | WCD9380, WCD9340 | Audio CODEC ICs |
107| WSA | Smart Amplifier | WSA8810, WSA8815 | Speaker amplifiers |
108
109---
110
111## Package Codes
112
113Package codes appear after a hyphen in the MPN.
114
115| Suffix | Package | Full Name |
116|--------|---------|-----------|
117| BGA | BGA | Ball Grid Array |
118| CSP | CSP | Chip Scale Package |
119| POP / PoP | Package-on-Package | Stacked package |
120| QFN | QFN | Quad Flat No-leads |
121| PQFN | Power QFN | Power-rated QFN |
122| LFCSP | Lead Frame CSP | Lead Frame Chip Scale |
123| WLCSP | Wafer Level CSP | Smallest footprint |
124| FCBGA | Flip-Chip BGA | Flip-chip interconnect |
125
126### Package Extraction Logic
127
128The handler extracts package codes from the suffix after the last hyphen:
129
130```java
131// Direct match
132"BGA" -> "BGA"
133"CSP" -> "CSP"
134"POP" or "PoP" -> "Package-on-Package"
135"QFN" -> "QFN"
136"PQFN" -> "Power QFN"
137"LFCSP" -> "Lead Frame CSP"
138"WLCSP" -> "Wafer Level CSP"
139"FCBGA" -> "Flip-Chip BGA"
140
141// Contains check (fallback)
142Contains "BGA" -> "BGA"
143Contains "CSP" -> "CSP"
144Contains "QFN" -> "QFN"
145```
146
147---
148
149## Series Extraction Logic
150
151The handler extracts series by collecting letters and digits before any hyphen:
152
153```java
154// Algorithm: collect alphanumerics until hyphen or end of letter+digit pattern
155SM8550-AB → SM8550
156QCA6390 → QCA6390
157PM8550 → PM8550
158MDM9650 → MDM9650
159```
160
161The extraction stops when:
1621. A hyphen is encountered
1632. Letters and digits have both been found, and a non-alphanumeric appears
164
165---
166
167## Snapdragon Naming Evolution
168
169### Modern Naming (2021+)
170
171| Series | Tier | Examples |
172|--------|------|----------|
173| SM8xxx | Flagship (8-series) | SM8550 (Gen 2), SM8650 (Gen 3) |
174| SM7xxx | Premium (7-series) | SM7550, SM7450 |
175| SM6xxx | Mainstream (6-series) | SM6350, SM6225 |
176| SM4xxx | Budget (4-series) | SM4350, SM4250 |
177
178### Legacy Naming
179
180| Series | Year | Examples |
181|--------|------|----------|
182| SD8xx | 2017-2021 | SD888, SD865, SD855, SD845 |
183| SD7xx | 2018-2021 | SD780, SD765, SD750 |
184| SD6xx | 2017-2021 | SD695, SD680, SD660 |
185| SD4xx | 2016-2021 | SD480, SD460, SD450 |
186| MSM89xx | 2014-2017 | MSM8996, MSM8953 |
187
188### Performance Tiers (Suffix Keywords)
189
190| Tier | Keyword | Description |
191|------|---------|-------------|
192| Elite | Elite | Highest performance |
193| Plus | Plus | Enhanced variant |
194| Pro | Pro | Professional variant |
195| Standard | (none) | Base variant |
196
197### Generation (Suffix Keywords)
198
199| Generation | Keyword | Year |
200|------------|---------|------|
201| Gen 1 | Gen1 | 2021 |
202| Gen 2 | Gen2 | 2022 |
203| Gen 3 | Gen3 | 2023 |
204
205---
206
207## Supported ComponentTypes
208
209The handler registers all patterns under `ComponentType.IC` and declares:
210
211```java
212getSupportedTypes() → { WIFI_IC_QUALCOMM }
213```
214
215**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.
216
217---
218
219## Replacement Compatibility Logic
220
221The handler implements sophisticated replacement checking via `isOfficialReplacement()`:
222
223### Compatible Series Pairs
224
225| Series 1 | Series 2 | Category |
226|----------|----------|----------|
227| SD8xx | SD8xx | Snapdragon flagship |
228| SM8xx | SM8xx | Snapdragon mobile |
229| QCS4xx | QCS4xx | IoT platform |
230| QCM2xx | QCM2xx | IoT module |
231| QM4xx | QM4xx | RF module |
232| QCA6xx | QCA6xx | Wi-Fi/Bluetooth |
233| WCN3xx | WCN3xx | Wireless connectivity |
234
235### Category-Specific Checks
236
237**Snapdragon SoCs** (SM, SD, QSD, MSM):
238- Generation compatibility (higher gen can replace lower)
239- Performance tier compatibility (Elite > Plus > Pro > Standard)
240
241**Wireless Modules** (QCA, WCN, MDM, FSM):
242- Wi-Fi version compatibility (WiFi-6 > WiFi-5 > WiFi-4)
243- Bluetooth version compatibility (5.2 > 5.1 > 5.0 > 4.2)
244
245**Power Management** (PM, PMI, SMB):
246- Voltage rating compatibility (within 5% tolerance)
247- Current rating compatibility (higher can replace lower)
248
249---
250
251## Example MPNs
252
253### Mobile SoCs
254
255| MPN | Description |
256|-----|-------------|
257| SM8550-AB | Snapdragon 8 Gen 2 flagship SoC |
258| SM8450-3-AB | Snapdragon 8 Gen 1 SoC |
259| SD888 | Snapdragon 888 flagship (legacy naming) |
260| MSM8996 | Snapdragon 820/821 SoC |
261| QSD8250 | First-gen Snapdragon |
262
263### IoT Platforms
264
265| MPN | Description |
266|-----|-------------|
267| QCS603 | Vision Intelligence Platform |
268| QCM6490 | IoT module with 5G |
269| APQ8064 | Application processor (no modem) |
270| IPQ8074 | Networking processor for routers |
271
272### RF Front-End
273
274| MPN | Description |
275|-----|-------------|
276| QM42195 | RF front-end module |
277| QPM5677 | Power amplifier module |
278| QAT3555 | Antenna tuner |
279| QET6100 | Envelope tracking module |
280
281### Wireless Connectivity
282
283| MPN | Description |
284|-----|-------------|
285| QCA6390 | Wi-Fi 6E / Bluetooth 5.2 |
286| QCA6174A-3-FCBGA | Wi-Fi 5 / BT 4.2, FCBGA package |
287| WCN6855 | Wi-Fi 6E combo chip |
288| MDM9650 | LTE Cat-9 modem |
289
290### Power Management
291
292| MPN | Description |
293|-----|-------------|
294| PM8550 | Main PMIC for SM8550 |
295| PMI8998 | Power management IC |
296| SMB1360-1-BGA | Battery charging IC, BGA package |
297
298### Audio
299
300| MPN | Description |
301|-----|-------------|
302| WCD9380 | Audio codec |
303| WSA8810 | Smart speaker amplifier |
304
305---
306
307## Handler Implementation Notes
308
309### Pattern Matching
310
311All patterns are registered under `ComponentType.IC`:
312
313```java
314// Mobile Platforms
315"^SM[0-9]{3}.*" // SM8550, SM7450
316"^SD[0-9]{3}.*" // SD888, SD865
317"^QSD[0-9]{4}.*" // QSD8250
318"^MSM[0-9]{4}.*" // MSM8996
319
320// IoT/Embedded
321"^QCS[0-9]{3}.*" // QCS603
322"^QCM[0-9]{3}.*" // QCM2150
323"^APQ[0-9]{4}.*" // APQ8064
324"^IPQ[0-9]{4}.*" // IPQ8074
325
326// RF Front-End
327"^QM[0-9]{4}.*" // QM42195
328"^QPM[0-9]{4}.*" // QPM5677
329"^QAT[0-9]{4}.*" // QAT3555
330"^QET[0-9]{4}.*" // QET6100
331
332// Wireless
333"^QCA[0-9]{4}.*" // QCA6390
334"^WCN[0-9]{4}.*" // WCN6855
335"^MDM[0-9]{4}.*" // MDM9650
336"^FSM[0-9]{4}.*" // FSM9955
337
338// Power Management
339"^PM[0-9]{4}.*" // PM8550
340"^PMI[0-9]{4}.*" // PMI8998
341"^SMB[0-9]{3}.*" // SMB1360
342
343// Audio
344"^WCD[0-9]{4}.*" // WCD9380
345"^WSA[0-9]{4}.*" // WSA8810
346```
347
348### Known Issues
349
3501. **HashSet in getSupportedTypes()**: Uses `HashSet` instead of `Set.of()` - should be updated for consistency
3512. **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
3523. **Commented-out code**: Line 54 has commented-out `WIFI_IC` type
353
354---
355
356## Related Files
357
358- Handler: `manufacturers/QualcommHandler.java`
359- Component types: `WIFI_IC_QUALCOMM`
360- Tests: (None currently - handler needs test coverage)
361
362---
363
364## Learnings & Quirks
365
366- **PMIC naming convention**: PM/PMI part numbers often match the SoC they're designed for (PM8550 pairs with SM8550)
367- **Atheros heritage**: QCA prefix comes from Qualcomm Atheros acquisition (2011) - Wi-Fi/Bluetooth expertise
368- **Package suffix variability**: Many Qualcomm parts are sold without explicit package suffix in MPN
369- **Generation extraction**: The handler extracts generation from 3-digit numeric portions (first digit = generation, second digit = tier)
370- **Wi-Fi capability keywords**: Some MPNs include "ax", "ac", "n" to indicate Wi-Fi version
371- **BT version in MPN**: Bluetooth version may appear as "BT5.2", "BT5.1", etc. in some variants
372
373<!-- Add new learnings above this line -->