| /optee_os/core/include/drivers/ |
| H A D | scmi-msg.h | 20 /* Standard values for SCMI voltage domain protocol configuration state */ 30 * @shm_addr: Address of the shared memory for the SCMI channel 31 * @shm_size: Byte size of the shared memory for the SCMI channel 55 * @channel: SCMI channel reference 80 * @channel_id: SCMI channel ID the SMT belongs to 96 * @channel_id: SCMI channel ID the SMT belongs to 112 * @channel_id: SCMI channel ID the SMT belongs to 128 * @channel_id: SCMI channel ID 129 * @in_buf: Shared buffer storing input SCMI message 131 * @out_buf: Shared buffer storing input SCMI message [all …]
|
| /optee_os/core/drivers/scmi-msg/ |
| H A D | common.h | 25 * Copy name identifier in target buffer following the SCMI specification 65 * struct scmi_msg - SCMI message context 67 * @channel_id: SCMI channel ID, safely set from secure world 68 * @protocol_id: SCMI protocol ID for the related message, set by caller agent 69 * @message_id: SCMI message ID for the related message, set by caller agent 94 * Process Read, process and write response for input SCMI message 96 * @msg: SCMI message context 101 * Write SCMI response payload to output message shared memory 103 * @msg: SCMI message context 110 * Write status only SCMI response payload to output message shared memory [all …]
|
| H A D | shm_msg.c | 6 #include <drivers/scmi-msg.h> 7 #include <drivers/scmi.h> 21 * @payload: SCMI message payload data 39 * Creates a SCMI message instance in secure memory and push it in the SCMI 40 * message drivers. Message structure contains SCMI protocol meta-data and 64 DMSG("Invalid SCMI buffer references %zu@%p / %zu@%p", in scmi_entry_msg() 70 DMSG("SCMI channel %u busy", channel_id); in scmi_entry_msg() 74 /* Copy SCMI protocol data and message payload in secure memory */ in scmi_entry_msg() 94 /* Update SCMI protocol data and output shared buffer size */ in scmi_entry_msg()
|
| H A D | smt.c | 7 #include <drivers/scmi-msg.h> 8 #include <drivers/scmi.h> 23 * payload: SCMI message payload data 63 * Creates a SCMI message instance in secure memory and push it in the SCMI 64 * message drivers. Message structure contains SCMI protocol meta-data and 90 DMSG("SCMI channel %u busy", channel_id); in scmi_entry_smt() 100 DMSG("SCMI payload too big %zu", in_payload_size); in scmi_entry_smt() 105 DMSG("SCMI channel bad status 0x%x", in scmi_entry_smt() 135 DMSG("SCMI error"); in scmi_entry_smt()
|
| H A D | clock_generic.c | 7 #include <drivers/scmi.h> 8 #include <drivers/scmi-msg.h> 16 * struct scmi_clk - Binds an SCMI channel/clock to a core clk reference 18 * @channel_id: SCMI server channel handle exposing the clock 19 * @scmi_id: SCMI clock domain ID 20 * @enabled: SCMI clock state 21 * @link: Reference in SCMI server clock list 181 EMSG("SCMI channel %u, clock %u already registered", in clk_check_scmi_id()
|
| H A D | entry.c | 7 #include <drivers/scmi-msg.h> 8 #include <drivers/scmi.h> 67 DMSG("SCMI resp. payload %zu > %zu bytes", size, msg->out_size); in scmi_write_response()
|
| /optee_os/lib/libutee/include/ |
| H A D | pta_scmi_client.h | 11 #define PTA_SCMI_NAME "PTA-SCMI" 22 * PTA_SCMI_CMD_PROCESS_SMT_CHANNEL - Process SCMI message in SMT buffer 26 * Shared memory used for SCMI message/response exhange is expected 27 * already identified and bound to channel handle in both SCMI agent 28 * and SCMI server (OP-TEE) parts. 29 * The memory uses SMT header to carry SCMI meta-data (protocol ID and 35 * PTA_SCMI_CMD_PROCESS_SMT_CHANNEL_MESSAGE - Process SCMI message in 39 * [in/out] memref[1]: Message/response buffer (SMT and SCMI payload) 41 * Shared memory used for SCMI message/response is a SMT buffer 44 * The memory uses SMT header to carry SCMI meta-data (protocol ID and [all …]
|
| /optee_os/core/arch/arm/include/scmi/ |
| H A D | scmi_server.h | 13 * Request processing of an incoming event in the SCMI server for a target 16 * @channel_id: SCMI channel handler 21 * Request processing of an incoming event in the SCMI server for a target 24 * @id: SCMI channel handler 37 * @channel_id: SCMI channel handler 38 * @handle: Output SCP-firmware device ID for the target SCMI mailbox 42 /* Get number of channels supported by the SCMI platform/server */
|
| /optee_os/core/lib/scmi-server/include/ |
| H A D | scmi_agent_configuration.h | 14 /* Structure used to describe the SCMI agents */ 39 * struct scpfw_channel_config - SCMI channel resources 41 * @channel_id: ID for the channel in OP-TEE SCMI bindings 57 * struct scpfw_agent_config - SCMI agent description 58 * @name: Agent name exposed through SCMI 59 * @agent_id: Agent ID exposed through SCMI 66 * reserved as the ID of the SCMI server itself in SCP-firmware. 77 * @agent_config: Agents exposed with SCMI
|
| /optee_os/core/lib/scmi-server/ |
| H A D | scmi_server_scpfw.c | 7 #include <drivers/scmi.h> 22 * @dt_name: SCMI node name 31 * @struct optee_scmi_server_agent - Data of an SCMI agent 33 * @dt_name: SCMI agent node name 34 * @agent_id: SCMI agent identifier 35 * @channel_id: SCMI channel identifier 48 * struct optee_scmi_server_protocol - Data of an SCMI protocol 50 * @dt_name: SCMI protocol node name 51 * @dt_node: SCMI protocol node 52 * @protocol_id: SCMI protocol identifier [all …]
|
| H A D | scmi_clock_consumer.c | 9 #include <dt-bindings/scmi/scmi-clock.h> 20 * struct scmi_server_clock: data for a SCMI clock in DT 22 * @domain_id: SCMI domain identifier 23 * @domain_name: SCMI domain name 24 * @clock: clock to control through SCMI protocol 25 * @flags: capabilities of the SCMI clock 37 * @clocks: platform clocks exposed with SCMI 152 /* Number of SCMI clock domains is the max domain ID + 1 */ in optee_scmi_server_init_clocks() 199 DMSG("scmi clock shares %s on domain ID %"PRIu32, in optee_scmi_server_init_clocks() 205 * Assign domain IDs to un-exposed clock as SCMI specification in optee_scmi_server_init_clocks() [all …]
|
| H A D | scmi_reset_consumer.c | 18 * struct scmi_server_reset: data for a SCMI reset in DT 20 * @domain_id: SCMI domain identifier 21 * @domain_name: SCMI domain name 22 * @reset: reset to control through SCMI protocol 61 /* Number of SCMI reset domains is the max domain ID + 1 */ in optee_scmi_server_init_resets() 99 DMSG("scmi reset shares %s on domain ID %"PRIu32, in optee_scmi_server_init_resets() 105 * Assign domain IDs to un-exposed reset as SCMI specification in optee_scmi_server_init_resets()
|
| H A D | conf.mk | 3 # CFG_SCMI_SCPFW Boolean switch, embeds SCP-firmware SCMI stack when enabled. 8 # CFG_SCPFW_NOTIFICATION Boolean switch, embeds SCMI notification when enabled. 9 # CFG_SCPFW_FAST_CHANNELS Boolean switch, embeds SCMI fast channel when enabled. 21 include core/lib/scmi-server/conf-optee-$(CFG_SCMI_SCPFW_PRODUCT).mk
|
| H A D | scmi_server.c | 14 #include <scmi/scmi_server.h> 28 * SCMI server APIs exported to OP-TEE core 85 EMSG("SCMI server configuration failed: %d", rc); in scmi_server_initialize() 93 EMSG("SCMI server init failed: %d", rc); in scmi_server_initialize()
|
| /optee_os/core/arch/arm/dts/ |
| H A D | stm32mp157c-ev1-scmi.dts | 10 model = "STMicroelectronics STM32MP157C SCMI eval daughter on eval mother"; 11 compatible = "st,stm32mp157c-ev1-scmi", "st,stm32mp157c-ed1-scmi", "st,stm32mp157";
|
| H A D | stm32mp157a-dk1-scmi.dts | 11 model = "STMicroelectronics STM32MP157A-DK1 SCMI Discovery Board"; 12 compatible = "st,stm32mp157a-dk1-scmi", "st,stm32mp157";
|
| H A D | stm32mp157c-dk2-scmi.dts | 11 model = "STMicroelectronics STM32MP157C-DK2 SCMI Discovery Board"; 12 compatible = "st,stm32mp157c-dk2-scmi", "st,stm32mp157";
|
| H A D | stm32mp157c-ed1-scmi.dts | 10 model = "STMicroelectronics STM32MP157C SCMI eval daughter"; 11 compatible = "st,stm32mp157c-ed1-scmi", "st,stm32mp157";
|
| H A D | stm32mp23-st-scmi-cfg.dtsi | 5 * SCMI server (based on SCP) configuration in OP-TEE for STMicroelectronics 9 #include <dt-bindings/scmi/scmi-clock.h> 12 scmi { 13 compatible = "optee,scmi-server"; 17 /* SCMI agent for cortex A35 non-secure */ 19 compatible = "linaro,scmi-optee"; 21 scmi-channel-id = <0>;
|
| H A D | stm32mp25-st-scmi-cfg.dtsi | 5 * SCMI server (based on SCP) configuration in OP-TEE for STMicroelectronics 9 #include <dt-bindings/scmi/scmi-clock.h> 12 scmi { 13 compatible = "optee,scmi-server"; 17 /* SCMI agent for cortex A35 non-secure */ 19 compatible = "linaro,scmi-optee"; 21 scmi-channel-id = <0>;
|
| H A D | stm32mp21-st-scmi-cfg.dtsi | 5 * SCMI server (based on SCP) configuration in OP-TEE for STMicroelectronics 9 #include <dt-bindings/scmi/scmi-clock.h> 12 scmi { 13 compatible = "optee,scmi-server"; 17 /* SCMI agent for cortex A35 non-secure */ 19 compatible = "linaro,scmi-optee"; 21 scmi-channel-id = <0>;
|
| /optee_os/core/arch/arm/plat-stm32mp1/ |
| H A D | scmi_server.c | 13 #include <drivers/scmi-msg.h> 14 #include <drivers/scmi.h> 50 * @enabled: State of the SCMI clock 88 * @state: State of the SCMI voltage domain (true: enable, false: disable) 116 #error "SCMI shared memory mismatch" 120 /* SCMI clock always accessible */ 129 /* SCMI clock accessible upon DECPROT ID assigned to non-secure */ 138 /* SCMI reset domain always accessible */ 146 /* SCMI reset domain accessible upon DECPROT ID assigned to non-secure */ 498 * Platform SCMI clocks [all …]
|
| H A D | conf.mk | 8 flavor_dts_file-157A_DK1_SCMI = stm32mp157a-dk1-scmi.dts 9 flavor_dts_file-157C_DK2_SCMI = stm32mp157c-dk2-scmi.dts 10 flavor_dts_file-157C_ED1_SCMI = stm32mp157c-ed1-scmi.dts 11 flavor_dts_file-157C_EV1_SCMI = stm32mp157c-ev1-scmi.dts 205 # device memory mapped SRAM used for SCMI message transfers. 207 # native shared memory for SCMI communication instead of SRAM. 210 # last 4KB page of SYSRAM as SCMI shared memory. The switch is default 292 # Default enable scmi-msg server if SCP-firmware SCMI server is disabled 315 # Default enable SCMI PTA support
|
| /optee_os/core/pta/ |
| H A D | scmi.c | 8 #include <drivers/scmi-msg.h> 9 #include <scmi/scmi_server.h> 208 /* Only REE kernel is allowed to access SCMI resources */ in pta_scmi_open_session() 224 FMSG("SCMI command %#"PRIx32" ptypes %#"PRIx32, cmd, ptypes); in pta_scmi_invoke_command()
|
| /optee_os/core/arch/arm/plat-sam/ |
| H A D | scmi_server.c | 11 #include <drivers/scmi-msg.h> 12 #include <drivers/scmi.h> 93 /* Currently supporting only SCMI Base protocol */ 1055 EMSG("Failed to add PMC SCMI clock id %u", in sam_init_scmi_clk() 1067 EMSG("Failed to add slow clock to SCMI clocks"); in sam_init_scmi_clk() 1075 EMSG("Failed to add CPU OPP clock to SCMI clocks"); in sam_init_scmi_clk() 1107 FMSG("SCMI reset %u set", scmi_id); in plat_scmi_rd_set_state() 1110 FMSG("SCMI reset %u release", scmi_id); in plat_scmi_rd_set_state() 1170 * Initialize platform SCMI resources
|