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 MCP/MCS PICS files
Date: Fri, 25 Sep 2026 14:49:41 +0200	[thread overview]
Message-ID: <20260925124942.3347628-1-frederic.danis@collabora.com> (raw)

---
 doc/qualification/mcp-pics.rst | 569 +++++++++++++++++++++++++++++++++
 doc/qualification/mcs-pics.rst | 513 +++++++++++++++++++++++++++++
 2 files changed, 1082 insertions(+)
 create mode 100644 doc/qualification/mcp-pics.rst
 create mode 100644 doc/qualification/mcs-pics.rst

diff --git a/doc/qualification/mcp-pics.rst b/doc/qualification/mcp-pics.rst
new file mode 100644
index 000000000..dc7503410
--- /dev/null
+++ b/doc/qualification/mcp-pics.rst
@@ -0,0 +1,569 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+.. Copyright © 2026 Collabora Ltd.
+
+=====================
+Media Control Profile
+=====================
+(TCRL pkg103, MCP.ICS.p4)
+
+Roles
+=====
+
+**Table 1: Role Requirements**
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_1_1     | x        | Media Control Server (C.1)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_1_2     |          | Media Control Client (C.1)                   |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+Transports
+==========
+
+**Table 2: Transport Requirements**
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_2_1     |          | Profile supported over BR/EDR (C.1, C.3)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_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.
+
+Media Control Server role
+=========================
+
+**Table 3: X.Y Versions (Media Control Server)**
+
+Prerequisite: MCP 1/1 "Media Control Server"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_3_1     | x        | MCP v1.0 (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 5: Service Requirements**
+
+Prerequisite: MCP 1/1 "Media Control Server"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_5_1     |          | Media Control Service (O)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_5_2     | x        | Generic Media Control Service (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_5_3     |          | Object Transfer Service (O)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_5_4     | x        | LE Extended Advertising (M)                  |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+
+**Table 6: GAP Requirements (Media Control Server Role)**
+
+Prerequisite: MCP 1/1 "Media Control Server"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_6_1     | x        | LE security mode 1 (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_2     | x        | Bondable mode (LE) (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_3     | x        | Bonding procedure (LE) (C.1)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_4     | x        | Unauthenticated Pairing (LE security mode 1  |
+|                  |          | level 2) with LE Secure Connections Pairing  |
+|                  |          | only (C.6)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_5     | x        | Authenticated Pairing (LE security mode 1    |
+|                  |          | level 3) with LE Secure Connections Pairing  |
+|                  |          | only (C.6)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_6     | x        | LE security mode 1 level 4 (C.6)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_7     | x        | Minimum 128 Bit entropy key (LE) (C.3)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_8     | x        | Derivation of LE LTK from BR/EDR Link Key    |
+|                  |          | (C.8)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_9     |          | Security mode 4, level 2 (C.2)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_10    |          | 128-bit encryption key size capable (BR/EDR) |
+|                  |          | (C.2)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_11    |          | Derivation of BR/EDR Link Key from LE LTK    |
+|                  |          | (C.7)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_12    |          | BR/EDR Secure Connections (C.7)              |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_13    | x        | LE Secure Connections (C.8)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_14    |          | Out of Band (LE) (C.8)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_6_15    |          | Out-of-Band (BR/EDR) (C.7)                   |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory IF MCP 2/2 "Profile supported over LE", otherwise not
+  defined.
+- C.2: Mandatory IF MCP 2/1 "Profile supported over BR/EDR", otherwise not
+  defined.
+- C.3: Mandatory IF MCP 6/4 "Unauthenticated Pairing (LE security mode 1
+  level 2) with LE Secure Connections Pairing only" OR MCP 6/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 MCP 2/2 "Profile supported over
+  LE", otherwise not defined.
+- C.7: Mandatory to support at least one IF MCP 2/1 "Profile supported over
+  BR/EDR", otherwise not defined.
+- C.8: Mandatory to support at least one IF MCP 2/2 "Profile supported over
+  LE", otherwise not defined.
+
+**Table 8: OTP Requirements (Media Control Server)**
+
+Prerequisite: MCP 5/3 "Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_8_1     |          | Object Server (M)                            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 9: OTS Characteristics Requirements (Media Control Server)**
+
+Prerequisite: MCP 5/3 "Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_9_1     |          | Object ID Characteristic (M)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_9_2     |          | Object List Control Point (OLCP) (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_9_3     |          | Object Changed Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 10: OTS Feature Requirements (Media Control Server)**
+
+Prerequisite: MCP 5/3 "Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_10_1    |          | OACP Read Procedure (M)
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_10_2    |          | OLCP Go To Procedure (M)
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+Media Control Client role
+=========================
+
+**Table 11: X.Y Versions (Media Control Client)**
+
+Prerequisite: MCP 1/2 "Media Control Client"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_11_1    |          | MCP v1.0 (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 13: Media Control Service Support**
+
+Prerequisite: MCP 1/2 "Media Control Client"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_13_1    |          | Discover Media Control Service (C.1)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_13_2    |          | Discover Generic Media Control Service (C.1) |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_13_3    |          | Discover Object Transfer Service (C.2)       |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+- C.2: Mandatory IF MCP 14/20 "Search Results Object ID Characteristic" OR
+  MCP 16/20 "Search Results Object ID Characteristic" OR MCP 14/10 "Current
+  Track Segments Object ID Characteristic" OR MCP 16/10 "Current Track
+  Segments Object ID Characteristic" OR MCP 14/11 "Current Track Object ID
+  Characteristic" OR MCP 16/11 "Current Track Object ID Characteristic",
+  otherwise Optional.
+
+**Table 14: Media Control Service Characteristic Support Requirements**
+
+Prerequisite: MCP 13/1 "Discover Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_14_1    |          | Media Player Name Characteristic (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_2    |          | Media Player Icon Object ID Characteristic   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_3    |          | Media Player Icon URL Characteristic (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_4    |          | Track Changed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_5    |          | Track Title Characteristic (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_6    |          | Track Duration Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_7    |          | Track Position Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_8    |          | Playback Speed Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_9    |          | Seeking Speed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_10   |          | Current Track Segments Object ID             |
+|                  |          | Characteristic (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_11   |          | Current Track Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_12   |          | Next Track Object ID Characteristic (O)      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_13   |          | Parent Group Object ID Characteristic (O)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_14   |          | Current Group Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_15   |          | Playing Order Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_16   |          | Playing Order Supported Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_17   |          | Media State Characteristic (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_18   |          | Media Control Point Characteristic (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_19   |          | Media Control Point Opcodes Supported        |
+|                  |          | Characteristic (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_20   |          | Search Results Object ID Characteristic (O)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_21   |          | Search Control Point Characteristic (C.1)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_14_22   |          | Content Control ID Characteristic (O)        |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCP 14/20 "Search Results Object ID Characteristic",
+  otherwise Excluded.
+
+**Table 15: Media Control Point Procedure Requirements**
+
+Prerequisite: MCP 14/18 "Media Control Point Characteristic"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_15_1    |          | Play Current Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_2    |          | Pause Current Track Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_3    |          | Fast Forward Fast Rewind Procedure (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_4    |          | Stop Current Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_5    |          | Move Relative Procedure (O)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_6    |          | Move to Previous Segment Procedure (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_7    |          | Move to Next Segment Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_8    |          | Move to First Segment Procedure (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_9    |          | Move to Last Segment Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_10   |          | Move to Segment Number Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_11   |          | Move to Previous Track Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_12   |          | Move to Next Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_13   |          | Move to First Track Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_14   |          | Move to Last Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_15   |          | Move to Track Number Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_16   |          | Move to Previous Group Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_17   |          | Move to Next Group Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_18   |          | Move to First Group Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_19   |          | Move to Last Group Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_15_20   |          | Move to Group Number Procedure (O)           |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+
+**Table 16: Generic Media Control Service Characteristic Support Requirements**
+
+Prerequisite: MCP 13/2 "Discover Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_16_1    |          | Media Player Name Characteristic (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_2    |          | Media Player Icon Object ID Characteristic   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_3    |          | Media Player Icon URL Characteristic (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_4    |          | Track Changed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_5    |          | Track Title Characteristic (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_6    |          | Track Duration Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_7    |          | Track Position Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_8    |          | Playback Speed Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_9    |          | Seeking Speed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_10   |          | Current Track Segments Object ID             |
+|                  |          | Characteristic (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_11   |          | Current Track Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_12   |          | Next Track Object ID Characteristic (O)      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_13   |          | Parent Group Object ID Characteristic (O)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_14   |          | Current Group Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_15   |          | Playing Order Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_16   |          | Playing Order Supported Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_17   |          | Media State Characteristic (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_18   |          | Media Control Point Characteristic (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_19   |          | Media Control Opcodes Supported              |
+|                  |          | Characteristic (O)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_20   |          | Search Results Object ID Characteristic (O)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_21   |          | Search Control Point Characteristic (C.1)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_16_22   |          | Content Control ID Characteristic (O)        |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCP 16/20 "Search Results Object ID Characteristic",
+  otherwise Excluded.
+
+**Table 17: Media Control Point Procedure Requirements**
+
+Prerequisite: MCP 16/18 "Media Control Point Characteristic"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_17_1    |          | Play Current Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_2    |          | Pause Current Track Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_3    |          | Fast Forward Fast Rewind Procedure (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_4    |          | Stop Current Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_5    |          | Move Relative Procedure (O)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_6    |          | Move to Previous Segment Procedure (O)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_7    |          | Move to Next Segment Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_8    |          | Move to First Segment Procedure (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_9    |          | Move to Last Segment Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_10   |          | Move to Segment Number Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_11   |          | Move to Previous Track Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_12   |          | Move to Next Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_13   |          | Move to First Track Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_14   |          | Move to Last Track Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_15   |          | Move to Track Number Procedure (O)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_16   |          | Move to Previous Group Procedure (O)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_17   |          | Move to Next Group Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_18   |          | Move to First Group Procedure (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_19   |          | Move to Last Group Procedure (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_17_20   |          | Move to Group Number Procedure (O)           |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+
+**Table 18: GAP Requirements (Media Control Client)**
+
+Prerequisite: MCP 1/2 "Media Control Client"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_18_2    |          | LE security mode 1 (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_3    |          | Bondable mode (LE) (C.1)                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_4    |          | Bonding procedure (C.1)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_5    |          | Unauthenticated Pairing (LE security mode 1  |
+|                  |          | level 2) with LE Secure Connections Pairing  |
+|                  |          | only (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_6    |          | Authenticated Pairing (LE security mode 1    |
+|                  |          | level 3) with LE Secure Connections Pairing  |
+|                  |          | only (O)                                     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_7    |          | LE security mode 1 level 4 (O)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_8    |          | Minimum 128 Bit entropy key (LE) (C.5)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_9    |          | Derivation of LE LTK from BR/EDR Link Key    |
+|                  |          | (C.6)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_10   |          | Security mode 4, level 2 (C.2)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_11   |          | 128-bit encryption key size capable (BR/EDR) |
+|                  |          | (C.2)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_12   |          | Derivation of BR/EDR Link Key from LE LTK    |
+|                  |          | (C.7)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_13   |          | BR/EDR Secure Connections (C.7)              |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_14   |          | LE Secure Connections (C.6)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_15   |          | Out of Band (LE) (C.6)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18_16   |          | Out-of-Band (BR/EDR) (C.7)                   |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+- C.1: Mandatory IF MCP 2/2 "Profile supported over LE", otherwise not
+  defined.
+- C.2: Mandatory IF MCP 2/1 "Profile supported over BR/EDR", otherwise not
+  defined.
+- C.5: Mandatory IF MCP 18/5 "Unauthenticated Pairing (LE security mode 1
+  level 2) with LE Secure Connections Pairing only" OR MCP 18/6 "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 MCP 2/2 "Profile supported over
+  LE", otherwise not defined.
+- C.7: Mandatory to support at least one IF MCP 2/1 "Profile supported over
+  BR/EDR", otherwise not defined.
+
+**Table 18a: GATT Requirements**
+
+Prerequisite: MCP 1/2 "Media Control Client"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_18a_1   |          | GATT Client over BR/EDR (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_2   |          | GATT Client over LE (C.2)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_3   |          | Discover All Primary Services (C.3)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_4   |          | Discover Primary Service by Service UUID     |
+|                  |          | (C.3)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_5   |          | Find Included Services (O)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_6   |          | Discover All Characteristics of a Service    |
+|                  |          | (C.4)                                        |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_7   |          | Discover Characteristics by UUID (C.4)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_8   |          | Discover All Characteristic Descriptors (M)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_9   |          | Single Notification (M)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_10  |          | Read Characteristic Value (M)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_11  |          | Write Characteristic Value (C.5)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_12  |          | Write Without Response (C.5)                 |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_13  |          | Read Characteristic Descriptor (M)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_18a_14  |          | Write Characteristic Descriptor (M)          |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCP 2/1 "Profile supported over BR/EDR", otherwise not
+  defined.
+- C.2: Mandatory IF MCP 2/2 "Profile supported over LE", otherwise not
+  defined.
+- C.3: Mandatory to support at least one.
+- C.4: Mandatory to support at least one.
+- C.5: Mandatory to support at least one.
+
+**Table 20: OTP Requirements (Media Control Client)**
+
+Prerequisite: MCP 13/3 "Discover Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_20_1    |          | Object Client (M)                            |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 21: OTP Procedure Requirements (Media Control Client)**
+
+Prerequisite: MCP 13/3 "Discover Object Transfer Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCP_21_1    |          | Object Discovery - Discover All Objects (M)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_21_2    |          | Select Object - Select by Object ID (M)      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCP_21_3    |          | Read Object - Read Object Contents (M)       |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
diff --git a/doc/qualification/mcs-pics.rst b/doc/qualification/mcs-pics.rst
new file mode 100644
index 000000000..4119170ad
--- /dev/null
+++ b/doc/qualification/mcs-pics.rst
@@ -0,0 +1,513 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+.. Copyright © 2026 Collabora Ltd.
+
+=====================
+Media Control Service
+=====================
+(TCRL pkg103, MCS.ICS.p5)
+
+Service support
+===============
+
+**Table 0b: Service Requirements**
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_0b_1    |          | Media Control Service (C.1)                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_0b_2    | x        | Generic Media Control Service (C.1)          |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+MCS versions
+============
+
+**Table 0: X.Y Versions**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_0_1     |          | MCS v1.0 (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+**Table 0a: X.Y.Z Versions**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_0a_1    |          | MCS v1.0.1 (O)                               |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+
+MCS transports
+==============
+
+**Table 1: Transport Requirements**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_1_1     |          | Service supported over BR/EDR (C.1, C.3)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_1_2     |          | Service supported over LE (C.2, C.3)         |
++------------------+----------+----------------------------------------------+
+
+- C.1: Excluded for this Service IF CORE 41/2 "LE Core Configuration" OR CORE
+  40/1 "Core-Controller".
+- C.2: Excluded for this Service IF CORE 41/1 "BR/EDR Core Configuration" OR
+  CORE 40/1 "Core-Controller".
+- C.3: Mandatory to support at least one.
+
+MCS Service requirements
+========================
+
+**Table 2: Media Control Service Requirements**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_2_1     |          | Media Control Service (M)                    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_2     |          | Object Transfer Service (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_3     |          | Media Player Name Characteristic (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_4     |          | Media Player Name - Read Long Support (O)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_5     |          | Media Player Icon Object ID Characteristic   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_6     |          | Media Player Icon URL Characteristic (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_7     |          | Track Changed Characteristic (M)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_8     |          | Track Title Characteristic (M)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_9     |          | Track Title - Read Long Support (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_10    |          | Track Duration Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_11    |          | Track Position Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_12    |          | Playback Speed Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_13    |          | Seeking Speed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_14    |          | Current Track Segments Object ID             |
+|                  |          | Characteristic (C.2)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_15    |          | Current Track Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_16    |          | Next Track Object ID Characteristic (C.2)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_17    |          | Parent Group Object ID Characteristic (C.2)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_18    |          | Current Group Object ID Characteristic (C.2) |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_19    |          | Playing Order Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_20    |          | Playing Order Supported Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_21    |          | Media State Characteristic (M)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_22    |          | Media Control Point Characteristic (M)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_23    |          | Media Control Point Opcodes Supported        |
+|                  |          | Characteristic (M)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_24    |          | Search Results Object ID Characteristic (O)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_25    |          | Search Control Point Characteristic (C.3)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_2_26    |          | Content Control ID Characteristic (M)        |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCS 2/5 "Media Player Icon Object ID Characteristic" OR
+  MCS 2/14 "Current Track Segments Object ID Characteristic" OR MCS 2/15
+  "Current Track Object ID Characteristic" OR MCS 2/16 "Next Track Object ID
+  Characteristic" OR MCS 2/17 "Parent Group Object ID Characteristic" OR MCS
+  2/18 "Current Group Object ID Characteristic" OR MCS 2/24 "Search Results
+  Object ID Characteristic", otherwise not defined.
+- C.2: Mandatory IF MCS 2/15 "Current Track Object ID Characteristic",
+  otherwise Excluded.
+- C.3: Mandatory IF MCS 2/24 "Search Results Object ID Characteristic",
+  otherwise Excluded.
+
+**Table 3: Media Control Point Opcode Requirements**
+
+Prerequisite: MCS 2/22 "Media Control Point Characteristic"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_3_1     |          | Play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_2     |          | Pause (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_3     |          | Fast Rewind (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_4     |          | Fast Forward (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_5     |          | Stop (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_6     |          | Move Relative (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_7     |          | Previous Segment (C.1)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_8     |          | Next Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_9     |          | First Segment (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_10    |          | Last Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_11    |          | Goto Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_12    |          | Previous Track (C.1)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_13    |          | Next Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_14    |          | First Track (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_15    |          | Last Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_16    |          | Goto Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_17    |          | Previous Group (C.1)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_18    |          | Next Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_19    |          | First Group (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_20    |          | Last Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_3_21    |          | Goto Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+**Table 4: Media State Requirements**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_4_1     |          | Play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_4_2     |          | Pause (C.2)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_4_3     |          | Seeking (O)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_4_4     |          | Inactive (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Optional IF MCS 3/1 "Play", otherwise Excluded.
+- C.2: Optional IF MCS 3/2 "Pause", otherwise Excluded.
+
+MCS GATT requirements
+=====================
+
+**Table 5: GATT Requirements**
+
+Prerequisite: MCS 0b/1 "Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_5_1     |          | Write Without Response (M)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_2     |          | Single Notification (M)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_3     |          | Write Characteristic Descriptor (M)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_4     |          | Read Characteristic Descriptor (M)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_5     |          | GATT Server over BR/EDR (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_5_6     |          | GATT Server over LE (C.2)                    |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- C.1: Mandatory IF MCS 1/1 "Service supported over BR/EDR", otherwise not
+  defined.
+- C.2: Mandatory IF MCS 1/2 "Service supported over LE", otherwise not
+  defined.
+
+MCS SDP requirements
+====================
+
+**Table 6: SDP Requirements**
+
+Prerequisite: MCS 1/1 "Service supported over BR/EDR"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_6_1     |          | SDP record present for MCS (M)               |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+GMCS versions
+=============
+
+**Table 20: X.Y Versions**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_20_1    | x        | GMCS v1.0 (M)                                |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+
+GMCS versions
+=============
+
+**Table 20a: X.Y.Z Versions**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_20a_1   |          | GMCS v1.0.1 (O)                              |
++------------------+----------+----------------------------------------------+
+
+- O: Optional
+
+GMCS transports
+===============
+
+**Table 21: Transport Requirements**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_21_1    |          | Service supported over BR/EDR (C.1, C.3)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_21_2    | x        | Service supported over LE (C.2, C.3)         |
++------------------+----------+----------------------------------------------+
+
+- C.1: Excluded for this Service IF CORE 41/2 "LE Core Configuration" OR CORE
+  40/1 "Core-Controller".
+- C.2: Excluded for this Service IF CORE 41/1 "BR/EDR Core Configuration" OR
+  CORE 40/1 "Core-Controller".
+- C.3: Mandatory to support at least one.
+
+GMCS Service requirements
+=========================
+
+**Table 22: Generic Media Control Service Requirements**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_22_1    | x        | Generic Media Control Service (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_2    |          | Object Transfer Service (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_3    | x        | Media Player Name Characteristic (M)         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_4    |          | Media Player Name Read Long Supported (O)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_5    |          | Media Player Icon Object ID Characteristic   |
+|                  |          | (O)                                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_6    |          | Media Player Icon URL Characteristic (O)     |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_7    | x        | Track Changed Characteristic (M)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_8    | x        | Track Title Characteristic (M)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_9    |          | Track Title Read Long Supported (O)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_10   | x        | Track Duration Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_11   | x        | Track Position Characteristic (M)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_12   |          | Playback Speed Characteristic (O)            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_13   |          | Seeking Speed Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_14   |          | Current Track Segments Object ID             |
+|                  |          | Characteristic (C.2)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_15   |          | Current Track Object ID Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_16   |          | Next Track Object ID Characteristic (C.2)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_17   |          | Parent Group Object ID Characteristic (C.2)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_18   |          | Current Group Object ID Characteristic (C.2) |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_19   |          | Playing Order Characteristic (O)             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_20   |          | Playing Order Supported Characteristic (O)   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_21   | x        | Media State Characteristic (M)               |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_22   | x        | Media Control Point Characteristic (M)       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_23   | x        | Media Control Point Opcodes Supported        |
+|                  |          | Characteristic (M)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_24   |          | Search Results Object ID Characteristic (O)  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_25   |          | Search Control Point Characteristic (C.3)    |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_22_26   | x        | Content Control ID Characteristic (M)        |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Mandatory IF MCS 22/5 "Media Player Icon Object ID Characteristic" OR
+  MCS 22/14 "Current Track Segments Object ID Characteristic" OR MCS 22/15
+  "Current Track Object ID Characteristic" OR MCS 22/16 "Next Track Object ID
+  Characteristic" OR MCS 22/17 "Parent Group Object ID Characteristic" OR MCS
+  22/18 "Current Group Object ID Characteristic" OR MCS 22/24 "Search Results
+  Object ID Characteristic", otherwise not defined.
+- C.2: Mandatory IF MCS 22/15 "Current Track Object ID Characteristic",
+  otherwise Excluded.
+- C.3: Mandatory IF MCS 22/24 "Search Results Object ID Characteristic",
+  otherwise Excluded.
+
+**Table 23: Generic Media Control Point Opcode Requirements**
+
+Prerequisite: MCS 22/22 "Media Control Point Characteristic"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_23_1    | x        | Play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_2    | x        | Pause (C.1)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_3    | x        | Fast Rewind (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_4    | x        | Fast Forward (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_5    | x        | Stop (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_6    |          | Move Relative (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_7    |          | Previous Segment (C.1)                       |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_8    |          | Next Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_9    |          | First Segment (C.1)                          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_10   |          | Last Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_11   |          | Goto Segment (C.1)                           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_12   | x        | Previous Track (C.1)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_13   | x        | Next Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_14   |          | First Track (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_15   |          | Last Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_16   |          | Goto Track (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_17   |          | Previous Group (C.1)                         |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_18   |          | Next Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_19   |          | First Group (C.1)                            |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_20   |          | Last Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_23_21   |          | Goto Group (C.1)                             |
++------------------+----------+----------------------------------------------+
+
+- C.1: Mandatory to support at least one.
+
+**Table 24: Media State Supported Requirements**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_24_1    | x        | Play (C.1)                                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_24_2    | x        | Pause (C.2)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_24_3    |          | Seeking (O)                                  |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_24_4    | x        | Inactive (M)                                 |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- O: Optional
+- C.1: Optional IF MCS 23/1 "Play", otherwise Excluded.
+- C.2: Optional IF MCS 23/2 "Pause", otherwise Excluded.
+
+GMCS GATT requirements
+======================
+
+**Table 25: GATT Requirements**
+
+Prerequisite: MCS 0b/2 "Generic Media Control Service"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_25_1    | x        | Write Without Response (M)                   |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_2    | x        | Single Notification (M)                      |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_3    | x        | Write Characteristic Descriptor (M)          |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_4    | x        | Read Characteristic Descriptor (M)           |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_5    |          | GATT Server over BR/EDR (C.1)                |
++------------------+----------+----------------------------------------------+
+| TSPC_MCS_25_6    | x        | GATT Server over LE (C.2)                    |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
+- C.1: Mandatory IF MCS 21/1 "Service supported over BR/EDR", otherwise not
+  defined.
+- C.2: Mandatory IF MCS 21/2 "Service supported over LE", otherwise not
+  defined.
+
+GMCS SDP requirements
+=====================
+
+**Table 26: SDP Requirements**
+
+Prerequisite: MCS 21/1 "Service supported over BR/EDR"
+
++------------------+----------+----------------------------------------------+
+| Parameter Name   | Selected | Description                                  |
++==================+==========+==============================================+
+| TSPC_MCS_26_1    |          | SDP record present for GMCS (M)              |
++------------------+----------+----------------------------------------------+
+
+- M: Mandatory
-- 
2.43.0


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

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-25 12:49 Frédéric Danis [this message]
2026-09-25 12:49 ` [PATCH BlueZ 2/2] doc/qualification: add MCS tests documentation Frédéric Danis
2026-09-25 15:33 ` [BlueZ,1/2] doc/qualification: Add MCP/MCS PICS files 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=20260925124942.3347628-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.