ARM® Compute Subsystem SCP Message Interface Protocols

Version: 1.2

Table of Contents

About this book
Intended audience
Using this book
Typographical conventions
Additional reading
Feedback on this product
Feedback on content
1. Introduction
1.1. The System Control Processor
2. CSS Message Handling Unit (MHU) transport layer
2.1. Physical and virtual channels
2.1.1. Physical channels
2.1.2. Virtual channels
2.2. Communication flow
2.2.1. Sending a message
2.2.2. Receiving a message
3. CSS System Control and Power Interface (SCPI)
3.1. SCPI Message header
3.1.1. Channel ownership
3.1.2. Endianness
3.2. SCPI commands
3.2.1. SCP Ready
3.2.2. Get SCP capability
3.2.3. Set CSS Power State
3.2.4. Get CSS Power state
3.2.5. Set System Power State
3.2.6. Set CPU Timer
3.2.7. Cancel CPU Timer
3.2.8. Get DVFS Capability
3.2.9. Get DVFS Info
3.2.10. Set DVFS
3.2.11. Get DVFS
3.2.12. Get DVFS Statistics
3.2.13. Get Clocks Capability
3.2.14. Get Clock Info
3.2.15. Set Clock Value
3.2.16. Get Clock Value
3.2.17. Get Power Supply Capability
3.2.18. Get Power Supply Info
3.2.19. Set Power Supply
3.2.20. Get Power Supply
3.2.21. Get Sensor Capability
3.2.22. Get Sensor Info
3.2.23. Get Sensor Value
3.2.24. Config Periodic Sensor Readings
3.2.25. Config Sensor Bounds
3.2.26. Async Sensor Value
3.2.27. Set Device Power State
3.2.28. Get Device Power State
4. CSS Boot Over MHU (BOM) protocol
4.1. About the BOM protocol
4.1.1. Error handling
4.1.2. Validation
4.2. Boot protocol flow
4.3. Command header
4.3.1. Command set
A. Juno ARM Development Platform (ADP) implementation details
A.1. MHU Transport Layer (MTL) configuration
A.1.1. Physical channels
A.1.2. Virtual channels
A.1.3. Physical channel ownership
A.2. System Control and Power Interface (SCPI) header format
A.3. SCPI commands
A.3.1. SCP Ready
A.3.2. Get SCP capability
A.3.3. Set CSS power state
A.3.4. Get CSS Power state
A.3.5. Set System Power State
A.3.6. Set CPU Timer
A.3.7. Cancel CPU Timer
A.3.8. Get DVFS Capability
A.3.9. Get DVFS Info
A.3.10. Set DVFS
A.3.11. Get DVFS
A.3.12. Get DVFS Statistics
A.3.13. Get Clocks Capability
A.3.14. Get Clock Info
A.3.15. Set Clock Value
A.3.16. Get Clock Value
A.3.17. Get Power Supply Capability
A.3.18. Get Power Supply Info
A.3.19. Set Power Supply
A.3.20. Get Power Supply
A.3.21. Get Sensor Capability
A.3.22. Get Sensor Info
A.3.23. Get Sensor Value
A.3.24. Config Periodic Sensor Readings
A.3.25. Config Sensor Bounds
A.3.26. Async Sensor Value
A.3.27. Set Device Power State
A.3.28. Get Device Power State
A.4. Boot Over MHU (BOM) protocol
B. Revisions

List of Tables

1. Typographical conventions
3.1. SCPI Command header
3.2. Payload
3.3. SCPI protocol version
3.4. Payload size limits
3.5. Firmware version
3.6. Commands enabled 0
3.7. Commands enabled 1
3.8. Commands enabled 2
3.9. Commands enabled 3
3.10. AP to SCP payload
3.11. Power state descriptor
3.12. SCP to AP payload
3.13. Power state descriptor
3.14. AP to SCP payload
3.15. System state
3.16. AP to SCP payload
3.17. Timestamp (LSB)
3.18. Timestamp (MSB)
3.19. CPU Identifier
3.20. AP to SCP payload
3.21. CPU Identifier
3.22. SCP to AP payload
3.23. Voltage domains
3.24. AP to SCP payload
3.25. Voltage Domain ID
3.26. SCP to AP payload
3.27. Domain information
3.28. Operating Point Tuple - Frequency
3.29. Operating Point Tuple - Voltage
3.30. AP to SCP payload
3.31. Domain and Index
3.32. AP to SCP payload
3.33. Voltage Domain
3.34. SCP to AP payload
3.35. Index
3.36. AP to SCP payload
3.37. Voltage Domain
3.38. SCP to AP payload
3.39. Operating Point Count
3.40. Switch Count
3.41. Start Timestamp (LSB)
3.42. Start Timestamp (MSB)
3.43. Current Timestamp (LSB)
3.44. Current Timestamp (MSB)
3.45. Residency[n] (LSB)
3.46. Residency[n] (MSB)
3.47. SCP to AP payload
3.48. Clocks
3.49. AP to SCP payload
3.50. Clock ID
3.51. SCP to AP payload
3.52. Clock ID
3.53. Flags
3.54. Minimum rate
3.55. Maximum rate
3.56. Clock Name
3.57. AP to SCP payload
3.58. Clock ID
3.59. Value
3.60. AP to SCP payload
3.61. Clock ID
3.62. SCP to AP payload
3.63. Value
3.64. SCP to AP payload
3.65. Power Supplies
3.66. AP to SCP payload
3.67. Power supply ID
3.68. SCP to AP payload
3.69. Power Supply ID
3.70. Flags
3.71. Minimum Voltage
3.72. Maximum Voltage
3.73. Power Supply Name
3.74. AP to SCP payload
3.75. Power Supply ID
3.76. Voltage
3.77. AP to SCP payload
3.78. Power Supply ID
3.79. SCP to AP payload
3.80. Voltage
3.81. SCP to AP payload
3.82. Sensors
3.83. AP to SCP payload
3.84. Sensor ID
3.85. SCP to AP payload
3.86. Sensor ID
3.87. Sensor Class
3.88. Sensor Triggers
3.89. Sensor Name
3.90. AP to SCP payload
3.91. Sensor ID
3.92. SCP to AP payload
3.93. Sensor value least significant part
3.94. Sensor value most significant part
3.95. AP to SCP payload
3.96. Sensor ID
3.97. Recurrence
3.98. Period
3.99. AP to SCP payload
3.100. Sensor ID
3.101. Triggers
3.102. Lower limit least significant part
3.103. Upper limit least significant part
3.104. Lower limit most significant part
3.105. Upper limit most significant part
3.106. SCP to AP payload
3.107. Metadata
3.108. Sensor value least significant part
3.109. Sensor value most significant part
3.110. SCP to AP payload
3.111. Device
3.112. AP to SCP payload
3.113. Device ID
3.114. SCP to AP payload
3.115. Power State
4.1. Command header
4.2. AP to SCP payload
4.3. Image size (4 bytes)
4.4. Image hash (4 bytes)
4.5. SCP to AP status response
4.6. AP to SCP payload
4.7. Trusted RAM offset (4 bytes)
4.8. Block size (4 bytes)
4.9. SCP to AP status response
4.10. Invalid commands
A.1. SCPI Command header
A.2. Power state descriptor
A.3. Power state
A.4. Voltage Domain ID
A.5. Domain and Index
A.6. Voltage Domain ID
A.7. Domain and Index
A.8. Clock ID
A.9. Clock ID
A.10. Clock ID
A.11. Power Supply ID
A.12. Power Supply ID
A.13. Voltage
A.14. Power Supply ID
A.15. Sensor ID
A.16. Sensor ID
A.17. Sensor Class
A.18. Sensor ID
A.19. Sensor ID
A.20. Device
A.21. Device ID
A.22. Power State
B.1. Issue A
B.2. Differences between issue A and issue B
B.3. Differences between issue B and issue C
B.4. Differences between issue C and issue D
B.5. Differences between issue D and issue E
B.6. Differences between issue E and issue F
B.7. Differences between issue F and issue G

Proprietary Notice

This document is protected by copyright and other related rights and the practice or implementation of the information contained in this document may be protected by one or more patents or pending patent applications. No part of this document may be reproduced in any form by any means without the express prior written permission of ARM. No license, express or implied, by estoppel or otherwise to any intellectual property rights is granted by this document unless specifically stated.

Your access to the information in this document is conditional upon your acceptance that you will not use or permit others to use the information for the purposes of determining whether implementations infringe any third party patents.

THIS DOCUMENT IS PROVIDED “AS IS”. ARM PROVIDES NO REPRESENTATIONS AND NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, NON-INFRINGEMENT OR FITNESS FOR A PARTICULAR PURPOSE WITH RESPECT TO THE DOCUMENT. For the avoidance of doubt, ARM makes no representation with respect to, and has undertaken no analysis to identify or understand the scope and content of, third party patents, copyrights, trade secrets, or other rights.

This document may include technical inaccuracies or typographical errors.


This document consists solely of commercial items. You shall be responsible for ensuring that any use, duplication or disclosure of this document complies fully with any relevant export laws and regulations to assure that this document or any portion thereof is not exported, directly or indirectly, in violation of such export laws. Use of the word “partner” in reference to ARM’s customers is not intended to create or refer to any partnership relationship with any other company. ARM may make changes to this document at any time and without notice.

If any of the provisions contained in these terms conflict with any of the provisions of any signed written agreement covering this document with ARM, then the signed written agreement prevails over and supersedes the conflicting provisions of these terms.

Words and logos marked with ® or ™ are registered trademarks or trademarks of ARM Limited or its affiliates in the EU and/or elsewhere. All rights reserved. Other brands and names mentioned in this document may be the trademarks of their respective owners. Please follow ARM’s trademark usage guidelines at

Copyright © 2015, 2016 ARM Limited or its affiliates. All rights reserved.

ARM Limited. Company 02557590 registered in England.

110 Fulbourn Road, Cambridge, England CB1 9NJ.


Confidentiality Status

This document is Non-Confidential. The right to use, copy and disclose this document may be subject to license restrictions in accordance with the terms of the agreement entered into by ARM and the party that ARM delivered this document to.

Product Status

The information in this document is final, that is for a developed product.

Revision History
Revision A27 April 2015First release for v1.0
Revision B01 May 2015Second release for v1.0
Revision C09 October 2015Third release for v1.0
Revision D20 November 2015Fourth release for v1.0
Revision E05 February 2016First release for v1.1
Revision F04 March 2016First release for v1.2
Revision G29 April 2016Second release for v1.2
Copyright © 2015, 2016 ARM Limited or its affiliates. All rights reserved.ARM DUI 0922G