From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 239153D891F for ; Fri, 25 Sep 2026 12:48:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.251.105.195 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790340528; cv=none; b=cWBT+krxm7MkhsIK7dTl1fag7kv8dz1LoFYsGjmYXy/3HprVcgjw0HazgZ2znCtqNXM4Dhlw2kLT/vFLhNf+f8AaPmgBXhNkhs49YsLUCiwS239I1MtMtJXK77s71g2AFPODVSJGFABnX0y/EaGclHUPiTlpppwR3mzy9pOGwGs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790340528; c=relaxed/simple; bh=IqyY4KOfwIKiU3z92JIZjBOaGqNLPxn3Vlg2d6CQL3o=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=GAOSfL9yN8LquqF0MRPrcljzVPwwm8GaaK/30wo4qReYwPBRvi+ROcb0/D8CAKZrgv2hyWTImCwRZgMIQkZB6IXOelTVPXz8Q+Pf/Pm8A+jfpN+WIcwok22WsKKIeRkf8ig2g9F7TDudehtYI1gxL5ZLWx6xc8pJTMsj4hg/vNs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com; spf=pass smtp.mailfrom=collabora.com; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b=aziUYHh0; arc=none smtp.client-ip=148.251.105.195 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=collabora.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=collabora.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=collabora.com header.i=@collabora.com header.b="aziUYHh0" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1790340524; bh=IqyY4KOfwIKiU3z92JIZjBOaGqNLPxn3Vlg2d6CQL3o=; h=From:To:Subject:Date:From; b=aziUYHh0Y73qFqs9ok1PJXWMLxs0rXjqdBHT/aEoi7/CKb3jYUWPHr0FzO4U8XQkS dgs+/BlA4oknbC2yTgbxML/xpFAXbanZlVkoupcrhemhA47mJc4tnGh7Z7dLCW28Nu 1+d/uCB4CXq4BniEYsCPpYhqFQnUx2xLvsozRzvxzD0+8TzzECH7FJp8EYDzKFhuO9 Yl4jzGqBUmid7UqcyncvbadDGW2e9Hj3OOiwMSO8INGO+N685rNCWP6Rlc0P7cIt39 q0sklsGwLcvaJUaeTU8eW+EPHHdWvnQdDSZ8NSbIFvvoTgLnBwsYKIn6XlqMvh6piJ jqAAdiZrGbx0Q== Received: from fdanis-ThinkPad-X1.. (unknown [100.64.1.5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: fdanis) by bali.collaboradmins.com (Postfix) with ESMTPSA id 1D26F17E05F4 for ; Fri, 25 Sep 2026 14:48:44 +0200 (CEST) From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Danis?= To: linux-bluetooth@vger.kernel.org Subject: [PATCH BlueZ 1/2] doc/qualification: Add MICP PICS file Date: Fri, 25 Sep 2026 14:48:37 +0200 Message-ID: <20260925124838.3346980-1-frederic.danis@collabora.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-bluetooth@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit --- doc/qualification/micp-pics.rst | 370 ++++++++++++++++++++++++++++++++ 1 file changed, 370 insertions(+) create mode 100644 doc/qualification/micp-pics.rst diff --git a/doc/qualification/micp-pics.rst b/doc/qualification/micp-pics.rst new file mode 100644 index 000000000..3b8bbbce3 --- /dev/null +++ b/doc/qualification/micp-pics.rst @@ -0,0 +1,370 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later +.. Copyright © 2026 Collabora Ltd. + +========================== +Microphone Control Profile +========================== +(TCRL pkg103, MICP.ICS.p4) + +Roles +===== + +**Table 1: Role Requirements** + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_1_1 | | Microphone Device (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_1_2 | x | Microphone Controller (C.1) | ++------------------+----------+----------------------------------------------+ + +- C.1: Mandatory to support at least one. + +Transports +========== + +**Table 2: Transport Requirements** + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_2_1 | | Profile supported over BR/EDR (C.1, C.3) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_2_2 | x | Profile supported over LE (C.2, C.3) | ++------------------+----------+----------------------------------------------+ + +- C.1: Excluded for this Profile IF CORE 41/2 "LE Core Configuration" OR CORE + 40/1 "Core-Controller". +- C.2: Excluded for this Profile IF CORE 41/1 "BR/EDR Core Configuration" OR + CORE 40/1 "Core-Controller". +- C.3: Mandatory to support at least one. + +Microphone Device role +====================== + +**Table 3: X.Y Versions (Microphone Device)** + +Prerequisite: MICP 1/1 "Microphone Device" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_3_1 | | MICP v1.0 (M) | ++------------------+----------+----------------------------------------------+ + +- M: Mandatory + +**Table 5: Service Requirements** + +Prerequisite: MICP 1/1 "Microphone Device" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_5_1 | | Microphone Control Service (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_5_2 | | Audio Input Control Service (O) | ++------------------+----------+----------------------------------------------+ + +- M: Mandatory +- O: Optional + +**Table 6: GAP Requirements (Microphone Device)** + +Prerequisite: MICP 1/1 "Microphone Device" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_6_1 | | LE security mode 1 (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_2 | | Bondable mode (LE) (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_3 | | Bondable mode (BR/EDR) (C.2) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_4 | | Unauthenticated Pairing (LE security mode 1 | +| | | level 2) with LE Secure Connections Pairing | +| | | only (C.3) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_5 | | Authenticated Pairing (LE security mode 1 | +| | | level 3) with LE Secure Connections Pairing | +| | | only (C.3) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_6 | | LE security mode 1 level 4 (C.3) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_7 | | Derivation of LE LTK from BR/EDR Link Key | +| | | (C.7) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_8 | | Minimum 128 Bit entropy key (LE) (C.6) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_9 | | Security mode 4, level 2 (C.2) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_10 | | 128-bit encryption key size capable (BR/EDR) | +| | | (C.2) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_11 | | Derivation of BR/EDR Link Key from LE LTK | +| | | (C.8) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_12 | | BR/EDR Secure Connections (C.8) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_13 | | LE Secure Connections (C.7) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_14 | | Out of Band (LE) (C.7) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_6_15 | | Out-of-Band (BR/EDR) (C.8) | ++------------------+----------+----------------------------------------------+ + +- C.1: Mandatory IF MICP 2/2 "Profile supported over LE", otherwise not + defined. +- C.2: Optional IF MICP 2/1 "Profile supported over BR/EDR", otherwise not + defined. +- C.3: Mandatory to support at least one IF MICP 2/2 "Profile supported over + LE", otherwise not defined. +- C.6: Mandatory IF MICP 6/4 "Unauthenticated Pairing (LE security mode 1 + level 2) with LE Secure Connections Pairing only" OR MICP 6/5 "Authenticated + Pairing (LE security mode 1 level 3) with LE Secure Connections Pairing + only", otherwise not defined. +- C.7: Mandatory to support at least one IF MICP 2/2 "Profile supported over + LE", otherwise not defined. +- C.8: Mandatory to support at least one IF MICP 2/1 "Profile supported over + BR/EDR", otherwise not defined. + +Microphone Controller role +========================== + +**Table 8: X.Y Versions (Microphone Controller)** + +Prerequisite: MICP 1/2 "Microphone Controller" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_8_1 | x | MICP v1.0 (M) | ++------------------+----------+----------------------------------------------+ + +- M: Mandatory + +**Table 10: Service Requirements** + +Prerequisite: MICP 1/2 "Microphone Controller" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_10_1 | x | Discover Microphone Control Service (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_10_2 | x | Discover Audio Input Control Service (O) | ++------------------+----------+----------------------------------------------+ + +- M: Mandatory +- O: Optional + +**Table 11: Microphone Control Service Characteristic Discovery Requirements** + +Prerequisite: MICP 10/1 "Discover Microphone Control Service" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_11_1 | x | Mute (M) | ++------------------+----------+----------------------------------------------+ + +- M: Mandatory + +**Table 12: Microphone Control Service Procedures Support Requirements** + +Prerequisite: MICP 10/1 "Discover Microphone Control Service" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_12_1 | | Configure Mute Notifications (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_12_2 | x | Read Mute (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_12_3 | x | Set Mute (O) | ++------------------+----------+----------------------------------------------+ + +- M: Mandatory +- O: Optional + +**Table 13: Audio Input Control Service Characteristic Discovery Requirements** + +Prerequisite: MICP 10/2 "Discover Audio Input Control Service" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_13_1 | x | Audio Input State (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_13_2 | x | Gain Setting Propertie (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_13_3 | | Audio Input Type (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_13_4 | | Audio Input Status (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_13_5 | | Audio Input Control Point (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_13_6 | | Audio Input Description (O) | ++------------------+----------+----------------------------------------------+ + +- O: Optional +- C.1: Mandatory IF MICP 14/7 "Set Gain Setting" OR MICP 14/8 "Mute" OR MICP + 14/9 "Unmute" OR MICP 14/10 "Set Manual Gain Mode" OR MICP 14/11 "Set + Automatic Gain Mode", otherwise Optional. + +**Table 14: Audio Input Control Service Procedures Requirements** + +Prerequisite: MICP 10/2 "Discover Audio Input Control Service" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_14_1 | x | Configure Input State Notifications (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_2 | x | Read Audio Input State (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_3 | | Read Gain Setting Properties (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_4 | | Read Audio Input Type (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_5 | | Configure Audio Input Status Notifications | +| | | (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_6 | | Read Audio Input Status (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_7 | x | Set Gain Setting (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_8 | | Mute (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_9 | | Unmute (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_10 | | Set Manual Gain Mode (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_11 | | Set Automatic Gain Mode (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_12 | | Configure Audio Input Description | +| | | Notifications (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_13 | | Read Audio Input Description (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_14_14 | | Set Audio Input Description (O) | ++------------------+----------+----------------------------------------------+ + +- O: Optional +- C.1: Mandatory IF MICP 14/7 "Set Gain Setting" OR MICP 14/8 "Mute" OR MICP + 14/9 "Unmute" OR MICP 14/10 "Set Manual Gain Mode" OR MICP 14/11 "Set + Automatic Gain Mode", otherwise Optional. + +**Table 15: Microphone Controller GATT Requirements** + +Prerequisite: MICP 1/2 "Microphone Controller" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_15_1 | x | Discover All Primary Services (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_2 | x | Discover Primary Service by Service UUID | +| | | (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_3 | x | Find Included Services (C.2) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_4 | x | Discover All Characteristics of a Service | +| | | (C.3) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_5 | x | Discover Characteristics by UUID (C.3) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_6 | x | Discover All Characteristic Descriptors (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_7 | x | Read Characteristic Value (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_8 | x | Write Characteristic Value (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_9 | x | Single Notification (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_10 | x | Read Characteristic Descriptor (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_11 | x | Write Characteristic Descriptor (M) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_12 | | GATT Client over BR/EDR (C.4) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_15_13 | x | GATT Client over LE (C.5) | ++------------------+----------+----------------------------------------------+ + +- M: Mandatory +- C.1: Mandatory to support at least one. +- C.2: Mandatory IF MICP 14/1 "Configure Input State Notifications" OR MICP + 14/2 "Read Audio Input State" OR MICP 14/3 "Read Gain Setting Properties" + OR MICP 14/4 "Read Audio Input Type" OR MICP 14/5 "Configure Audio Input + Status Notifications" OR MICP 14/6 "Read Audio Input Status" OR MICP 14/7 + "Set Gain Setting" OR MICP 14/8 "Mute" OR MICP 14/9 "Unmute" OR MICP 14/10 + "Set Manual Gain Mode" OR MICP 14/11 "Set Automatic Gain Mode" OR MICP + 14/12 "Configure Audio Input Description Notifications" OR MICP 14/13 "Read + Audio Input Description" OR MICP 14/14 "Set Audio Input Description", + otherwise Optional. +- C.3: Mandatory to support at least one. +- C.4: Mandatory IF MICP 2/1 "Profile supported over BR/EDR", otherwise not + defined. +- C.5: Mandatory IF MICP 2/2 "Profile supported over LE", otherwise not + defined. + +**Table 16: GAP Requirements (Microphone Controller)** + +Prerequisite: MICP 1/2 "Microphone Controller" + ++------------------+----------+----------------------------------------------+ +| Parameter Name | Selected | Description | ++==================+==========+==============================================+ +| TSPC_MICP_16_1 | x | Bondable mode (LE) (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_2 | | Bondable mode (BR/EDR) (C.2) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_3 | x | LE security mode 1 (C.1) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_4 | | Unauthenticated Pairing (LE security mode 1 | +| | | level 2) with LE Secure Connections Pairing | +| | | only (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_5 | | Authenticated Pairing (LE security mode 1 | +| | | level 3) with LE Secure Connections Pairing | +| | | only (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_6 | | LE security mode 1 level 4 (O) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_7 | | Minimum 128 Bit entropy key (LE) (C.3) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_8 | x | Derivation of LE LTK from BR/EDR Link Key | +| | | (C.6) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_9 | | Security mode 4, level 2 (C.2) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_10 | | 128-bit encryption key size capable (BR/EDR) | +| | | (C.2) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_11 | | Derivation of BR/EDR Link Key from LE LTK | +| | | (C.7) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_12 | | BR/EDR Secure Connections (C.7) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_13 | x | LE Secure Connections (C.6) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_14 | | Out of Band (LE) (C.6) | ++------------------+----------+----------------------------------------------+ +| TSPC_MICP_16_15 | | Out-of-Band (BR/EDR) (C.7) | ++------------------+----------+----------------------------------------------+ + +- O: Optional +- C.1: Mandatory IF MICP 2/2 "Profile supported over LE", otherwise not + defined. +- C.2: Optional IF MICP 2/1 "Profile supported over BR/EDR", otherwise not + defined. +- C.3: Mandatory IF MICP 16/4 "Unauthenticated Pairing (LE security mode 1 + level 2) with LE Secure Connections Pairing only" OR MICP 16/5 + "Authenticated Pairing (LE security mode 1 level 3) with LE Secure + Connections Pairing only", otherwise not defined. +- C.6: Mandatory to support at least one IF MICP 2/2 "Profile supported over + LE", otherwise not defined. +- C.7: Mandatory to support at least one IF MICP 2/1 "Profile supported over + BR/EDR", otherwise not defined. -- 2.43.0