1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */ 2 /* 3 * Copyright (c) 2015-2019, Arm Limited and Contributors. All rights reserved. 4 * Copyright (C) 2019-2020, Linaro Limited 5 */ 6 #ifndef _SCMI_PROTOCOLS_H 7 #define _SCMI_PROTOCOLS_H 8 9 #include <linux/bitops.h> 10 11 /* 12 * Subset the SCMI protocols definition 13 * based on SCMI specification v2.0 (DEN0056B) 14 * https://developer.arm.com/docs/den0056/b 15 */ 16 17 enum scmi_std_protocol { 18 SCMI_PROTOCOL_ID_BASE = 0x10, 19 SCMI_PROTOCOL_ID_POWER_DOMAIN = 0x11, 20 SCMI_PROTOCOL_ID_SYSTEM = 0x12, 21 SCMI_PROTOCOL_ID_PERF = 0x13, 22 SCMI_PROTOCOL_ID_CLOCK = 0x14, 23 SCMI_PROTOCOL_ID_SENSOR = 0x15, 24 SCMI_PROTOCOL_ID_RESET_DOMAIN = 0x16, 25 }; 26 27 enum scmi_status_code { 28 SCMI_SUCCESS = 0, 29 SCMI_NOT_SUPPORTED = -1, 30 SCMI_INVALID_PARAMETERS = -2, 31 SCMI_DENIED = -3, 32 SCMI_NOT_FOUND = -4, 33 SCMI_OUT_OF_RANGE = -5, 34 SCMI_BUSY = -6, 35 SCMI_COMMS_ERROR = -7, 36 SCMI_GENERIC_ERROR = -8, 37 SCMI_HARDWARE_ERROR = -9, 38 SCMI_PROTOCOL_ERROR = -10, 39 }; 40 41 #endif /* _SCMI_PROTOCOLS_H */ 42