mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 10:26:10 +01:00 
			
		
		
		
	This adds the driver for the PWM controller found in the Amlogic SoCs. This PWM is only a set of Gates, Dividers and Counters: PWM output is achieved by calculating a clock that permits calculating two periods (low and high). The counter then has to be set to switch after N cycles for the first half period. The hardware has no "polarity" setting. This driver reverses the period cycles (the low length is inverted with the high length) for PWM_POLARITY_INVERSED. Disabling the PWM stops the output immediately (without waiting for the current period to complete first). Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| config DM_PWM
 | |
| 	bool "Enable support for pulse-width modulation devices (PWM)"
 | |
| 	depends on DM
 | |
| 	help
 | |
| 	  A pulse-width modulator emits a pulse of varying width and provides
 | |
| 	  control over the duty cycle (high and low time) of the signal. This
 | |
| 	  is often used to control a voltage level. The more time the PWM
 | |
| 	  spends in the 'high' state, the higher the voltage. The PWM's
 | |
| 	  frequency/period can be controlled along with the proportion of that
 | |
| 	  time that the signal is high.
 | |
| 
 | |
| config PWM_EXYNOS
 | |
| 	bool "Enable support for the Exynos PWM"
 | |
| 	depends on DM_PWM
 | |
| 	help
 | |
| 	  This PWM is found on Samsung Exynos 5250 and other Samsung SoCs. It
 | |
| 	  supports a programmable period and duty cycle. A 32-bit counter is
 | |
| 	  used. It provides 5 channels which can be independently
 | |
| 	  programmed. Channel 4 (the last) is normally used as a timer.
 | |
| 
 | |
| config PWM_IMX
 | |
| 	bool "Enable support for i.MX27 and later PWM"
 | |
| 	help
 | |
| 	  This PWM is found i.MX27 and later i.MX SoCs.
 | |
| 
 | |
| config PWM_MESON
 | |
| 	bool "Enable support for Amlogic Meson SoCs PWM"
 | |
| 	depends on DM_PWM
 | |
| 	help
 | |
| 	  This PWM is found on Amlogic Meson SoCs. It supports a
 | |
| 	  programmable period and duty cycle for 2 independant channels.
 | |
| 
 | |
| config PWM_MTK
 | |
| 	bool "Enable support for MediaTek PWM"
 | |
| 	depends on DM_PWM
 | |
| 	help
 | |
| 	  This PWM is found on MT7622, MT7623, and MT7629. It supports a
 | |
| 	  programmable period and duty cycle.
 | |
| 
 | |
| config PWM_ROCKCHIP
 | |
| 	bool "Enable support for the Rockchip PWM"
 | |
| 	depends on DM_PWM
 | |
| 	help
 | |
| 	  This PWM is found on RK3288 and other Rockchip SoCs. It supports a
 | |
| 	  programmable period and duty cycle. A 32-bit counter is used.
 | |
| 	  Various options provided in the hardware (such as capture mode and
 | |
| 	  continuous/single-shot) are not supported by the driver.
 | |
| 
 | |
| config PWM_SANDBOX
 | |
| 	bool "Enable support for the sandbox PWM"
 | |
| 	help
 | |
| 	  This is a sandbox PWM used for testing. It provides 3 channels and
 | |
| 	  records the settings passed into it, but otherwise does nothing
 | |
| 	  useful. The PWM can be enabled but is not connected to any outputs
 | |
| 	  so this is not very useful.
 | |
| 
 | |
| config PWM_SIFIVE
 | |
| 	bool "Enable support for SiFive PWM"
 | |
| 	depends on DM_PWM
 | |
| 	help
 | |
| 	  This PWM is found SiFive's FU540 and other SoCs.
 | |
| 
 | |
| config PWM_TEGRA
 | |
| 	bool "Enable support for the Tegra PWM"
 | |
| 	depends on DM_PWM
 | |
| 	help
 | |
| 	  This PWM is found on Tegra 20 and other Nvidia SoCs. It supports
 | |
| 	  four channels with a programmable period and duty cycle. Only a
 | |
| 	  32KHz clock is supported by the driver but the duty cycle is
 | |
| 	  configurable.
 | |
| 
 | |
| config PWM_SUNXI
 | |
| 	bool "Enable support for the Allwinner Sunxi PWM"
 | |
| 	depends on DM_PWM
 | |
| 	help
 | |
| 	  This PWM is found on H3, A64 and other Allwinner SoCs. It supports a
 | |
| 	  programmable period and duty cycle. A 16-bit counter is used.
 |