drivers/bluetooth/btintel.h

Source file repositories/reference/linux-study-clean/drivers/bluetooth/btintel.h

File Facts

System
Linux kernel
Corpus path
drivers/bluetooth/btintel.h
Extension
.h
Size
11083 bytes
Lines
435
Domain
Driver Families
Bucket
drivers/bluetooth
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct intel_tlv {
	u8 type;
	u8 len;
	u8 val[];
} __packed;

#define BTINTEL_HCI_OP_RESET	0xfc01
#define BTINTEL_HCI_OP_DEBUG	0xfcd9

#define BTINTEL_CNVI_BLAZARI		0x900	/* BlazarI - Lunar Lake */
#define BTINTEL_CNVI_BLAZARIW		0x901	/* BlazarIW - Wildcat Lake */
#define BTINTEL_CNVI_GAP		0x910	/* Gale Peak2 - Meteor Lake */
#define BTINTEL_CNVI_BLAZARU		0x930	/* BlazarU - Meteor Lake */
#define BTINTEL_CNVI_SCP		0xA00	/* Scorpius Peak - Panther Lake */
#define BTINTEL_CNVI_SCP2		0xA10	/* Scorpius Peak2 - Nova Lake */
#define BTINTEL_CNVI_SCP2F		0xA20	/* Scorpius Peak2F - Nova Lake */

/* CNVR */
#define BTINTEL_CNVR_FMP2		0x910

#define BTINTEL_IMG_BOOTLOADER		0x01	/* Bootloader image */
#define BTINTEL_IMG_IML			0x02	/* Intermediate image */
#define BTINTEL_IMG_OP			0x03	/* Operational image */

#define BTINTEL_FWID_MAXLEN 64

/* CNVi Hardware variant */
#define BTINTEL_HWID_GAP	0x1c	/* Gale Peak2 - Meteor Lake */
#define BTINTEL_HWID_BZRI	0x1e	/* BlazarI - Lunar Lake */
#define BTINTEL_HWID_BZRU	0x1d	/* BlazarU - Meteor Lake */
#define BTINTEL_HWID_SCP	0x1f	/* Scorpius Peak - Panther Lake */
#define BTINTEL_HWID_SCP2	0x20	/* Scorpius Peak2 - Nova Lake */
#define BTINTEL_HWID_SCP2F	0x21	/* Scorpius Peak2-F - Nova Lake */
#define BTINTEL_HWID_BZRIW	0x22	/* BlazarIW - Wildcat Lake */

extern const guid_t btintel_guid_dsm;

struct intel_version_tlv {
	u32	cnvi_top;
	u32	cnvr_top;
	u32	cnvi_bt;
	u32	cnvr_bt;
	u16	dev_rev_id;
	u8	img_type;
	u16	timestamp;
	u8	build_type;
	u32	build_num;
	u8	secure_boot;
	u8	otp_lock;
	u8	api_lock;
	u8	debug_lock;
	u8	min_fw_build_nn;
	u8	min_fw_build_cw;
	u8	min_fw_build_yy;
	u8	limited_cce;
	u8	sbe_type;
	u32	git_sha1;
	u8	fw_id[BTINTEL_FWID_MAXLEN];
	bdaddr_t otp_bd_addr;
};

struct intel_version {
	u8 status;
	u8 hw_platform;
	u8 hw_variant;
	u8 hw_revision;
	u8 fw_variant;
	u8 fw_revision;
	u8 fw_build_num;
	u8 fw_build_ww;
	u8 fw_build_yy;
	u8 fw_patch_num;
} __packed;

struct intel_boot_params {
	__u8     status;
	__u8     otp_format;
	__u8     otp_content;
	__u8     otp_patch;
	__le16   dev_revid;
	__u8     secure_boot;
	__u8     key_from_hdr;
	__u8     key_type;
	__u8     otp_lock;
	__u8     api_lock;
	__u8     debug_lock;
	bdaddr_t otp_bdaddr;
	__u8     min_fw_build_nn;
	__u8     min_fw_build_cw;
	__u8     min_fw_build_yy;

Annotation

Implementation Notes