Lines Matching +full:instance +full:- +full:specific
3 * Copyright (c) 2020-2021 Vestas Wind Systems A/S
5 * SPDX-License-Identifier: Apache-2.0
34 #include <zephyr/dt-bindings/pwm/pwm.h>
76 * The upper 8 bits are reserved for SoC specific flags.
99 /** PWM device instance. */
121 * pwm-names = "alpha", "beta";
146 * @param name Lowercase-and-underscores name of a pwms element as defined by
147 * the node's pwm-names property.
163 * instance.
165 * @param inst DT_DRV_COMPAT instance number
166 * @param name Lowercase-and-underscores name of a pwms element as defined by
167 * the node's pwm-names property.
185 * @param name Lowercase-and-underscores name of a pwms element as defined by
186 * the node's pwm-names property
203 * @param inst DT_DRV_COMPAT instance number
204 * @param name Lowercase-and-underscores name of a pwms element as defined by
205 * the node's pwm-names property.
268 * instance.
270 * @param inst DT_DRV_COMPAT instance number
306 * @param inst DT_DRV_COMPAT instance number
333 * @param inst DT_DRV_COMPAT instance number
361 * @param inst DT_DRV_COMPAT instance number
380 * @param[in] dev PWM device instance.
384 * specific.
385 * @param pulse_cycles Captured PWM pulse width (in clock cycles). HW specific.
456 * @note Not all PWM controllers support synchronous, glitch-free updates of the
460 * @note Some multi-channel PWM controllers share the PWM period across all
466 * Passing a non-zero @p pulse equal to @p period will cause the pin
469 * @param[in] dev PWM device instance.
471 * @param period Period (in clock cycles) set to the PWM. HW specific.
472 * @param pulse Pulse width (in clock cycles) set to the PWM. HW specific.
476 * @retval -EINVAL If pulse > period.
477 * @retval -errno Negative errno code on failure.
488 (const struct pwm_driver_api *)dev->api; in z_impl_pwm_set_cycles()
491 return -EINVAL; in z_impl_pwm_set_cycles()
494 return api->set_cycles(dev, channel, period, pulse, flags); in z_impl_pwm_set_cycles()
500 * @param[in] dev PWM device instance.
503 * sec). HW specific.
506 * @retval -errno Negative errno code on failure.
516 (const struct pwm_driver_api *)dev->api; in z_impl_pwm_get_cycles_per_sec()
518 return api->get_cycles_per_sec(dev, channel, cycles); in z_impl_pwm_get_cycles_per_sec()
527 * @param[in] dev PWM device instance.
534 * @retval -ENOTSUP If requested period or pulse cycles are not supported.
535 * @retval -errno Other negative errno code on failure.
552 return -ENOTSUP; in pwm_set()
557 return -ENOTSUP; in pwm_set()
570 * pwm_set(spec->dev, spec->channel, period, pulse, spec->flags)
586 return pwm_set(spec->dev, spec->channel, period, pulse, spec->flags); in pwm_set_dt()
595 * pwm_set(spec->dev, spec->channel, spec->period, pulse, spec->flags)
607 return pwm_set(spec->dev, spec->channel, spec->period, pulse, in pwm_set_pulse_dt()
608 spec->flags); in pwm_set_pulse_dt()
614 * @param[in] dev PWM device instance.
620 * @retval -ERANGE If result is too large.
621 * @retval -errno Other negative errno code on failure.
636 return -ERANGE; in pwm_cycles_to_usec()
647 * @param[in] dev PWM device instance.
653 * @retval -ERANGE If result is too large.
654 * @retval -errno Other negative errno code on failure.
669 return -ERANGE; in pwm_cycles_to_nsec()
693 * @param[in] dev PWM device instance.
700 * @retval -EINVAL if invalid function parameters were given
701 * @retval -ENOSYS if PWM capture is not supported or the given flags are not
703 * @retval -EIO if IO error occurred while configuring
704 * @retval -EBUSY if PWM capture is already in progress
712 (const struct pwm_driver_api *)dev->api; in pwm_configure_capture()
714 if (api->configure_capture == NULL) { in pwm_configure_capture()
715 return -ENOSYS; in pwm_configure_capture()
718 return api->configure_capture(dev, channel, flags, cb, in pwm_configure_capture()
732 * @param[in] dev PWM device instance.
736 * @retval -EINVAL if invalid function parameters were given
737 * @retval -ENOSYS if PWM capture is not supported
738 * @retval -EIO if IO error occurred while enabling PWM capture
739 * @retval -EBUSY if PWM capture is already in progress
748 (const struct pwm_driver_api *)dev->api; in z_impl_pwm_enable_capture()
750 if (api->enable_capture == NULL) { in z_impl_pwm_enable_capture()
751 return -ENOSYS; in z_impl_pwm_enable_capture()
754 return api->enable_capture(dev, channel); in z_impl_pwm_enable_capture()
764 * @param[in] dev PWM device instance.
768 * @retval -EINVAL if invalid function parameters were given
769 * @retval -ENOSYS if PWM capture is not supported
770 * @retval -EIO if IO error occurred while disabling PWM capture
779 (const struct pwm_driver_api *)dev->api; in z_impl_pwm_disable_capture()
781 if (api->disable_capture == NULL) { in z_impl_pwm_disable_capture()
782 return -ENOSYS; in z_impl_pwm_disable_capture()
785 return api->disable_capture(dev, channel); in z_impl_pwm_disable_capture()
801 * @param[in] dev PWM device instance.
805 * width (in clock cycles). HW specific.
807 * (in clock cycles). HW specific.
811 * @retval -EBUSY PWM capture already in progress.
812 * @retval -EAGAIN Waiting period timed out.
813 * @retval -EIO IO error while capturing.
814 * @retval -ERANGE If result is too large.
832 * @param[in] dev PWM device instance.
842 * @retval -EBUSY PWM capture already in progress.
843 * @retval -EAGAIN Waiting period timed out.
844 * @retval -EIO IO error while capturing.
845 * @retval -ERANGE If result is too large.
846 * @retval -errno Other negative errno code on failure.
887 * @param[in] dev PWM device instance.
897 * @retval -EBUSY PWM capture already in progress.
898 * @retval -EAGAIN Waiting period timed out.
899 * @retval -EIO IO error while capturing.
900 * @retval -ERANGE If result is too large.
901 * @retval -errno Other negative errno code on failure.
940 return device_is_ready(spec->dev); in pwm_is_ready_dt()