Lines Matching full:controller
159 * @brief MSPI controller device specific configuration mask
215 * The controller can identify its devices and determine whether the access is
226 * @brief MSPI controller configuration
243 /** @brief Peripheral number from 0 to host controller peripheral limit. */
247 /** @brief Whether to re-initialize controller */
262 * @brief MSPI controller device specific configuration
304 * @brief MSPI controller XIP configuration
320 * @brief MSPI controller scramble configuration
345 * using the controller inner CE logic.
428 /** @brief Pointer to the bus controller */
429 const struct device *controller; member
476 typedef int (*mspi_api_dev_config)(const struct device *controller,
481 typedef int (*mspi_api_get_channel_status)(const struct device *controller, uint8_t ch);
483 typedef int (*mspi_api_transceive)(const struct device *controller,
487 typedef int (*mspi_api_register_callback)(const struct device *controller,
493 typedef int (*mspi_api_xip_config)(const struct device *controller,
497 typedef int (*mspi_api_scramble_config)(const struct device *controller,
501 typedef int (*mspi_api_timing_config)(const struct device *controller,
522 * @brief Configure a MSPI controller.
524 * This routine provides a generic interface to override MSPI controller
527 * In the controller driver, one may implement this API to initialize or
528 * re-initialize their controller hardware. Additional SoC platform specific
530 * binding(xxx,mspi-controller.yaml) so that one may derive the settings from
533 * mspi-controller.yaml.
552 * @brief Configure a MSPI controller with device specific parameters.
554 * This routine provides a generic interface to override MSPI controller
558 * tree, the API supports multiple devices on the same controller instance.
559 * It is up to the controller driver implementation whether to support device
568 * @param controller Pointer to the device structure for the driver instance.
571 * @param cfg The device runtime configuration for the MSPI controller.
578 __syscall int mspi_dev_config(const struct device *controller,
583 static inline int z_impl_mspi_dev_config(const struct device *controller, in z_impl_mspi_dev_config() argument
588 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_dev_config()
590 return api->dev_config(controller, dev_id, param_mask, cfg); in z_impl_mspi_dev_config()
599 * @param controller Pointer to the device structure for the driver instance.
604 __syscall int mspi_get_channel_status(const struct device *controller, uint8_t ch);
606 static inline int z_impl_mspi_get_channel_status(const struct device *controller, uint8_t ch) in z_impl_mspi_get_channel_status() argument
608 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_get_channel_status()
610 return api->get_channel_status(controller, ch); in z_impl_mspi_get_channel_status()
629 * with @see mspi_xfer_packet. However, it is up to the controller
631 * The controller can determine which user callback to trigger based on
636 * @param controller Pointer to the device structure for the driver instance.
644 __syscall int mspi_transceive(const struct device *controller,
648 static inline int z_impl_mspi_transceive(const struct device *controller, in z_impl_mspi_transceive() argument
652 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_transceive()
658 return api->transceive(controller, dev_id, req); in z_impl_mspi_transceive()
673 * @param controller Pointer to the device structure for the driver instance.
675 * @param cfg The controller XIP configuration for MSPI.
682 __syscall int mspi_xip_config(const struct device *controller,
686 static inline int z_impl_mspi_xip_config(const struct device *controller, in z_impl_mspi_xip_config() argument
690 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_xip_config()
696 return api->xip_config(controller, dev_id, cfg); in z_impl_mspi_xip_config()
705 * @param controller Pointer to the device structure for the driver instance.
707 * @param cfg The controller scramble configuration for MSPI.
714 __syscall int mspi_scramble_config(const struct device *controller,
718 static inline int z_impl_mspi_scramble_config(const struct device *controller, in z_impl_mspi_scramble_config() argument
722 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_scramble_config()
728 return api->scramble_config(controller, dev_id, cfg); in z_impl_mspi_scramble_config()
734 * This routine provides a generic interface to configure MSPI controller
737 * @param controller Pointer to the device structure for the driver instance.
740 * @param cfg The controller timing configuration for MSPI.
747 __syscall int mspi_timing_config(const struct device *controller,
751 static inline int z_impl_mspi_timing_config(const struct device *controller, in z_impl_mspi_timing_config() argument
755 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_timing_config()
761 return api->timing_config(controller, dev_id, param_mask, cfg); in z_impl_mspi_timing_config()
777 * @param controller Pointer to the device structure for the driver instance.
786 static inline int mspi_register_callback(const struct device *controller, in mspi_register_callback() argument
792 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in mspi_register_callback()
798 return api->register_callback(controller, dev_id, evt_type, cb, ctx); in mspi_register_callback()