aboutsummaryrefslogtreecommitdiff
path: root/drivers/pwm/pwm-sun4i.c
AgeCommit message (Collapse)AuthorFilesLines
2018-03-28pwm: sun4i: Simplify controller mappingAndre Przywara1-18/+8
At the moment we assign our supported compatible strings to a respective instance of our sun4i_pwm_data structure, even though some of them are the same. To avoid further clutter, split out the three different combinations of features we have at the moment and name them accordingly. This should make it more obvious which compatible string to use for new SoCs. Signed-off-by: Andre Przywara <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2018-03-28pwm: sun4i: Drop unused .has_rdy memberAndre Przywara1-6/+0
Commit a054c4d68408 ("pwm: sun4i: Drop legacy callbacks") dropped the only user of the .has_rdy member in our sun4i_pwm_data struct. Consequently we don't need to store this anymore for the various SoCs, which paves the way for further simplifications. Signed-off-by: Andre Przywara <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2018-03-28pwm: sun4i: Properly check current stateAlexandre Belloni1-2/+4
Correctly extract the prescaler value from CTRL_REG before comparing it to PWM_PRESCAL_MASK. Also, check that both PWM_CLK_GATING and PWM_EN to ensure the PWM is enabled instead of relying on only one of those. Fixes: 93e0dfb2c52f ("pwm: sun4i: Improve hardware read out") Signed-off-by: Alexandre Belloni <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-11-15pwm: sunxi: Use of_device_get_match_data()Corentin Labbe1-4/+4
The usage of of_device_get_match_data reduce the code size a bit. Furthermore, it prevents an improbable dereference when of_match_device() returns NULL. Signed-off-by: Corentin Labbe <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-07-06pwm: sun4i: Drop legacy callbacksAlexandre Belloni1-160/+0
Remove the legacy callbacks .enable(), .disable(), .set_polarity() and .config(). Signed-off-by: Alexandre Belloni <[email protected]> Acked-by: Chen-Yu Tsai <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-07-06pwm: sun4i: Switch to atomic PWMAlexandre Belloni1-0/+166
Switch the driver to atomic PWM. This makes it easier to wait a proper amount of time when changing the duty cycle before disabling the channel (main use case is switching the duty cycle to 0 before disabling). Signed-off-by: Alexandre Belloni <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-07-06pwm: sun4i: Improve hardware read outAlexandre Belloni1-19/+46
Implement .get_state instead of only reading the polarity at probe time. This allows to get the proper state, period and duty cycle. Signed-off-by: Alexandre Belloni <[email protected]> Reviewed-by: Chen-Yu Tsai <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2017-01-04pwm: Remove .can_sleep from struct pwm_chipThierry Reding1-1/+0
All PWM devices have been marked as "might sleep" since v4.5, there is no longer a need to differentiate on a per-chip basis. Signed-off-by: Thierry Reding <[email protected]>
2016-09-08pwm: sunxi: Add H3 supportMilo Kim1-0/+9
H3 PWM controller has same register layout as sun4i driver, so it works by adding H3 specific data. Cc: Thierry Reding <[email protected]> Cc: Rob Herring <[email protected]> Cc: Maxime Ripard <[email protected]> Cc: Alexandre Belloni <[email protected]> Cc: Chen-Yu Tsai <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Milo Kim <[email protected]> Acked-by: Chen-Yu Tsai <[email protected]> Reviewed-by: Alexandre Belloni <[email protected]> Acked-by: Rob Herring <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2016-05-17pwm: Use pwm_get/set_xxx() helpers where appropriateBoris Brezillon1-1/+2
Use pwm_get/set_xxx() helpers instead of directly accessing the pwm->xxx field. Doing that will ease adaptation of the PWM framework to support atomic update. Signed-off-by: Boris Brezillon <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2015-11-10pwm: sunxi: Fix whitespace issueOlliver Schinagl1-1/+1
This patch changes no code, it just fixes the whitespacing. Operators should be separated from operands by a single space. Signed-off-by: Olliver Schinagl <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2015-11-10pwm: sun4i: Add support for PWM controller on sun5i SoCsHans de Goede1-2/+23
The PWM controller on sun5i SoCs is identical to the one found on sun7i SoCs. On the A13 package only one of the 2 pins is routed to the outside, so only advertise one PWM channel there. Signed-off-by: Hans de Goede <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2015-01-30pwm: Add Allwinner SoC supportAlexandre Belloni1-0/+366
This adds a generic PWM framework driver for the PWM controller found on Allwinner SoCs. Signed-off-by: Alexandre Belloni <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Thierry Reding <[email protected]>