92f3fb79fe
This introduces PWM driver with supporting PWM output APIs based on NXP S32 EMIOS peripheral. This supports three mode: OPWFMB, OPWMCB and OPWMB. OPWFMB uses internal counter, the new period and duty cycle takes effect immediately. OPWMCB and OPWMB use external counter as timebase, changing PWM period at runtime will impact to all channels share the same timebase. Also the new period and duty cycle take effect in next period boundary of the timebase Signed-off-by: Dat Nguyen Duy <dat.nguyenduy@nxp.com>
47 lines
2.6 KiB
CMake
47 lines
2.6 KiB
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
zephyr_syscall_header(${ZEPHYR_BASE}/include/zephyr/drivers/pwm.h)
|
|
|
|
zephyr_library()
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_TELINK_B91 pwm_b91.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_CC13XX_CC26XX_TIMER pwm_cc13xx_cc26xx_timer.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_STM32 pwm_stm32.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_SIFIVE pwm_sifive.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_NRF_SW pwm_nrf_sw.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_NRFX pwm_nrfx.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_FTM pwm_mcux_ftm.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_IMX pwm_imx.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_ITE_IT8XXX2 pwm_ite_it8xxx2.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_LED_ESP32 pwm_led_esp32.c)
|
|
zephyr_library_sources_ifdef(CONFIG_MCPWM_ESP32 pwm_mc_esp32.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_SAM pwm_sam.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX pwm_mcux.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_SCTIMER pwm_mcux_sctimer.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_XEC pwm_mchp_xec.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_LITEX pwm_litex.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_RV32M1_TPM pwm_rv32m1_tpm.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_TPM pwm_mcux_tpm.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_SAM0_TCC pwm_sam0_tcc.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_NPCX pwm_npcx.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_XLNX_AXI_TIMER pwm_xlnx_axi_timer.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_PWT pwm_mcux_pwt.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_GECKO pwm_gecko.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_GD32 pwm_gd32.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_RCAR pwm_rcar.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_PCA9685 pwm_pca9685.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_MAX31790 pwm_max31790.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_TEST pwm_test.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_RPI_PICO pwm_rpi_pico.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_BBLED_XEC pwm_mchp_xec_bbled.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_INTEL_BLINKY pwm_intel_blinky.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_XMC4XXX_CCU4 pwm_xmc4xxx_ccu4.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_XMC4XXX_CCU8 pwm_xmc4xxx_ccu8.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_MCUX_CTIMER pwm_mcux_ctimer.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_NUMAKER pwm_numaker.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_NXP_S32_EMIOS pwm_nxp_s32_emios.c)
|
|
|
|
zephyr_library_sources_ifdef(CONFIG_USERSPACE pwm_handlers.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_CAPTURE pwm_capture.c)
|
|
zephyr_library_sources_ifdef(CONFIG_PWM_SHELL pwm_shell.c)
|