Linux bluetooth development
 help / color / mirror / Atom feed
From: "Frédéric Danis" <frederic.danis@collabora.com>
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	[thread overview]
Message-ID: <20260925124838.3346980-1-frederic.danis@collabora.com> (raw)

---
 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


             reply	other threads:[~2026-09-25 12:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25 12:48 Frédéric Danis [this message]
2026-09-25 12:48 ` [PATCH BlueZ 2/2] doc/qualification: add MICP tests documentation Frédéric Danis
2026-09-25 15:56 ` [BlueZ,1/2] doc/qualification: Add MICP PICS file bluez.test.bot
2026-09-28 17:50 ` [PATCH BlueZ 1/2] " patchwork-bot+bluetooth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260925124838.3346980-1-frederic.danis@collabora.com \
    --to=frederic.danis@collabora.com \
    --cc=linux-bluetooth@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox