Lines Matching full:controller
159 * @brief MSPI controller device specific configuration mask
212 * The controller can identify its devices and determine whether the access is
223 * @brief MSPI controller configuration
240 /** @brief Peripheral number from 0 to host controller peripheral limit. */
244 /** @brief Whether to re-initialize controller */
259 * @brief MSPI controller device specific configuration
301 * @brief MSPI controller XIP configuration
317 * @brief MSPI controller scramble configuration
342 * using the controller inner CE logic.
425 /** @brief Pointer to the bus controller */
426 const struct device *controller; member
473 typedef int (*mspi_api_dev_config)(const struct device *controller,
478 typedef int (*mspi_api_get_channel_status)(const struct device *controller, uint8_t ch);
480 typedef int (*mspi_api_transceive)(const struct device *controller,
484 typedef int (*mspi_api_register_callback)(const struct device *controller,
490 typedef int (*mspi_api_xip_config)(const struct device *controller,
494 typedef int (*mspi_api_scramble_config)(const struct device *controller,
498 typedef int (*mspi_api_timing_config)(const struct device *controller,
519 * @brief Configure a MSPI controller.
521 * This routine provides a generic interface to override MSPI controller
524 * In the controller driver, one may implement this API to initialize or
525 * re-initialize their controller hardware. Additional SoC platform specific
527 * binding(xxx,mspi-controller.yaml) so that one may derive the settings from
530 * mspi-controller.yaml.
549 * @brief Configure a MSPI controller with device specific parameters.
551 * This routine provides a generic interface to override MSPI controller
555 * tree, the API supports multiple devices on the same controller instance.
556 * It is up to the controller driver implementation whether to support device
565 * @param controller Pointer to the device structure for the driver instance.
568 * @param cfg The device runtime configuration for the MSPI controller.
575 __syscall int mspi_dev_config(const struct device *controller,
580 static inline int z_impl_mspi_dev_config(const struct device *controller, in z_impl_mspi_dev_config() argument
585 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_dev_config()
587 return api->dev_config(controller, dev_id, param_mask, cfg); in z_impl_mspi_dev_config()
596 * @param controller Pointer to the device structure for the driver instance.
601 __syscall int mspi_get_channel_status(const struct device *controller, uint8_t ch);
603 static inline int z_impl_mspi_get_channel_status(const struct device *controller, uint8_t ch) in z_impl_mspi_get_channel_status() argument
605 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_get_channel_status()
607 return api->get_channel_status(controller, ch); in z_impl_mspi_get_channel_status()
626 * with @see mspi_xfer_packet. However, it is up to the controller
628 * The controller can determine which user callback to trigger based on
633 * @param controller Pointer to the device structure for the driver instance.
641 __syscall int mspi_transceive(const struct device *controller,
645 static inline int z_impl_mspi_transceive(const struct device *controller, in z_impl_mspi_transceive() argument
649 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_transceive()
655 return api->transceive(controller, dev_id, req); in z_impl_mspi_transceive()
670 * @param controller Pointer to the device structure for the driver instance.
672 * @param cfg The controller XIP configuration for MSPI.
679 __syscall int mspi_xip_config(const struct device *controller,
683 static inline int z_impl_mspi_xip_config(const struct device *controller, in z_impl_mspi_xip_config() argument
687 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_xip_config()
693 return api->xip_config(controller, dev_id, cfg); in z_impl_mspi_xip_config()
702 * @param controller Pointer to the device structure for the driver instance.
704 * @param cfg The controller scramble configuration for MSPI.
711 __syscall int mspi_scramble_config(const struct device *controller,
715 static inline int z_impl_mspi_scramble_config(const struct device *controller, in z_impl_mspi_scramble_config() argument
719 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_scramble_config()
725 return api->scramble_config(controller, dev_id, cfg); in z_impl_mspi_scramble_config()
731 * This routine provides a generic interface to configure MSPI controller
734 * @param controller Pointer to the device structure for the driver instance.
737 * @param cfg The controller timing configuration for MSPI.
744 __syscall int mspi_timing_config(const struct device *controller,
748 static inline int z_impl_mspi_timing_config(const struct device *controller, in z_impl_mspi_timing_config() argument
752 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in z_impl_mspi_timing_config()
758 return api->timing_config(controller, dev_id, param_mask, cfg); in z_impl_mspi_timing_config()
774 * @param controller Pointer to the device structure for the driver instance.
783 static inline int mspi_register_callback(const struct device *controller, in mspi_register_callback() argument
789 const struct mspi_driver_api *api = (const struct mspi_driver_api *)controller->api; in mspi_register_callback()
795 return api->register_callback(controller, dev_id, evt_type, cb, ctx); in mspi_register_callback()