Lines Matching +full:scmi +full:- +full:smc
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
47 #include "scmi.h"
75 len = OF_getencprop(node, "arm,smc-id", &sc->smc_id, in scmi_smc_transport_init()
76 sizeof(sc->smc_id)); in scmi_smc_transport_init()
78 device_printf(dev, "No SMC ID found\n"); in scmi_smc_transport_init()
82 device_printf(dev, "smc id %x\n", sc->smc_id); in scmi_smc_transport_init()
84 sc->a2p_dev = scmi_shmem_get(dev, node, SCMI_CHAN_A2P); in scmi_smc_transport_init()
85 if (sc->a2p_dev == NULL) { in scmi_smc_transport_init()
90 sc->base.trs_desc.no_completion_irq = true; in scmi_smc_transport_init()
91 sc->base.trs_desc.reply_timo_ms = 30; in scmi_smc_transport_init()
104 ret = scmi_shmem_prepare_msg(sc->a2p_dev, (uint8_t *)&msg->hdr, in scmi_smc_xfer_msg()
105 msg->tx_len, msg->polling); in scmi_smc_xfer_msg()
109 arm_smccc_invoke_smc(sc->smc_id, NULL); in scmi_smc_xfer_msg()
122 * Nothing to poll since commands are completed as soon as smc in scmi_smc_poll_msg()
125 scmi_shmem_read_msg_header(sc->a2p_dev, &msg->hdr, &msg->rx_len); in scmi_smc_poll_msg()
138 ret = scmi_shmem_read_msg_payload(sc->a2p_dev, in scmi_smc_collect_reply()
139 msg->payld, msg->rx_len - SCMI_MSG_HDR_SIZE, msg->rx_len); in scmi_smc_collect_reply()
150 scmi_shmem_tx_complete(sc->a2p_dev); in scmi_smc_tx_complete()
157 if (!ofw_bus_is_compatible(dev, "arm,scmi-smc")) in scmi_smc_probe()
163 device_set_desc(dev, "ARM SCMI SMC Transport driver"); in scmi_smc_probe()
171 /* SCMI interface */