Home
last modified time | relevance | path

Searched full:scmi (Results 1 – 25 of 61) sorted by relevance

123

/optee_os/core/include/drivers/
H A Dscmi-msg.h20 /* 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 Dcommon.h25 * 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 Dshm_msg.c6 #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 Dsmt.c7 #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 Dclock_generic.c7 #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 Dentry.c7 #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 Dpta_scmi_client.h11 #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 Dscmi_server.h13 * 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 Dscmi_agent_configuration.h14 /* 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 Dscmi_server_scpfw.c7 #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 Dscmi_clock_consumer.c9 #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 Dscmi_reset_consumer.c18 * 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 Dconf.mk3 # 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 Dscmi_server.c14 #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 Dstm32mp157c-ev1-scmi.dts10 model = "STMicroelectronics STM32MP157C SCMI eval daughter on eval mother";
11 compatible = "st,stm32mp157c-ev1-scmi", "st,stm32mp157c-ed1-scmi", "st,stm32mp157";
H A Dstm32mp157a-dk1-scmi.dts11 model = "STMicroelectronics STM32MP157A-DK1 SCMI Discovery Board";
12 compatible = "st,stm32mp157a-dk1-scmi", "st,stm32mp157";
H A Dstm32mp157c-dk2-scmi.dts11 model = "STMicroelectronics STM32MP157C-DK2 SCMI Discovery Board";
12 compatible = "st,stm32mp157c-dk2-scmi", "st,stm32mp157";
H A Dstm32mp157c-ed1-scmi.dts10 model = "STMicroelectronics STM32MP157C SCMI eval daughter";
11 compatible = "st,stm32mp157c-ed1-scmi", "st,stm32mp157";
H A Dstm32mp23-st-scmi-cfg.dtsi5 * 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 Dstm32mp25-st-scmi-cfg.dtsi5 * 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 Dstm32mp21-st-scmi-cfg.dtsi5 * 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 Dscmi_server.c13 #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 Dconf.mk8 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 Dscmi.c8 #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 Dscmi_server.c11 #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

123