All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.