zephyr/drivers/pwm
Manimaran A 270ec8cdb3 drivers: pwm: bbled: Update bbled-pwm, to be compatible with PWM-LED
Zephyr has a PWM-LED driver which makes calls to a PWM driver to control
the pin. The previous MCHP PWM-BBLED driver do not report its actual
PWM cycles, instead it reported the clock source it used: 32KHz or 48MHz.
This bug caused the LED-PWM driver set brightness to compute incorrect
parameters passed to the PWM-BBLED driver. The BBLED hardware has a
built-in divider of 256 therefore its maximum cycles are 128 and 48M/256
respectively. This change also simplified the calculations. A DT overlay
for the MEC172x EVB was added to the PWM-LED sample to demonstrate driver
operation. We found specifying >= 50 ms for the PWM period in the device
tree nodes provided a good operating range for the LED-PWM driver
parameter calculations.
Note: BBLED hardware implements an 8-bit PWM with a fixed divider of 256
and a 12-bit frequency pre-scaler. Duty cycle is represented by an 8-bit
value.

Signed-off-by: Manimaran A <manimaran.a@microchip.com>
2024-03-03 18:59:03 +01:00
..
CMakeLists.txt
Kconfig
Kconfig.b91
Kconfig.cc13xx_cc26xx_timer
Kconfig.esp32
Kconfig.gd32
Kconfig.gecko
Kconfig.imx
Kconfig.intel_blinky
Kconfig.it8xxx2
Kconfig.litex
Kconfig.max31790
Kconfig.mcux
Kconfig.mcux_ctimer
Kconfig.mcux_ftm
Kconfig.mcux_pwt
Kconfig.mcux_sctimer
Kconfig.mcux_tpm
Kconfig.npcx
Kconfig.nrf_sw
Kconfig.nrfx
Kconfig.numaker
Kconfig.nxp_s32_emios
Kconfig.pca9685
Kconfig.rcar
Kconfig.rpi_pico
Kconfig.rv32m1_tpm
Kconfig.sam
Kconfig.sam0
Kconfig.sifive
Kconfig.stm32
Kconfig.test
Kconfig.xec
Kconfig.xlnx
Kconfig.xmc4xxx_ccu4
Kconfig.xmc4xxx_ccu8
pwm_b91.c
pwm_capture.c
pwm_cc13xx_cc26xx_timer.c
pwm_gd32.c
pwm_gecko.c
pwm_handlers.c
pwm_imx.c
pwm_intel_blinky.c
pwm_ite_it8xxx2.c
pwm_led_esp32.c
pwm_litex.c
pwm_max31790.c
pwm_mc_esp32.c
pwm_mchp_xec.c
pwm_mchp_xec_bbled.c drivers: pwm: bbled: Update bbled-pwm, to be compatible with PWM-LED 2024-03-03 18:59:03 +01:00
pwm_mcux.c
pwm_mcux_ctimer.c
pwm_mcux_ftm.c
pwm_mcux_pwt.c
pwm_mcux_sctimer.c
pwm_mcux_tpm.c
pwm_npcx.c
pwm_nrf_sw.c
pwm_nrfx.c
pwm_numaker.c
pwm_nxp_s32_emios.c
pwm_pca9685.c
pwm_rcar.c
pwm_rpi_pico.c
pwm_rv32m1_tpm.c
pwm_sam.c
pwm_sam0_tcc.c
pwm_shell.c
pwm_sifive.c
pwm_stm32.c
pwm_test.c
pwm_xlnx_axi_timer.c
pwm_xmc4xxx_ccu4.c
pwm_xmc4xxx_ccu8.c