diff options
author | Tom Rini | 2022-12-04 10:03:26 -0500 |
---|---|---|
committer | Tom Rini | 2022-12-23 10:07:03 -0500 |
commit | b9d1f88b3aae10c15c0cd767acccc1026f5ef6d8 (patch) | |
tree | 07ba6f52b7f2a0f5b3105aede4e842bc7b525671 /arch | |
parent | 52d91e1c20b399ddab276e2c03e5788ed5e5fdd2 (diff) |
exynos: Rework legacy PWM usage
The way that the timer support is currently done for exynos/nexell
platforms relies on the legacy PWM infrastructure, and that needs to be
updated. However, we really cannot safely undef CONFIG_DM_PWM to build
the timer.c file without warnings. For now, rename the relevant legacy
functions to be prefixed with s5p_ and add prototypes to the arch pwm.h
files.
Cc: Minkyu Kang <mk7.kang@samsung.com>
Cc: Jaehoon Chung <jh80.chung@samsung.com>
Cc: Dzmitry Sankouski <dsankouski@gmail.com>
Cc: Stefan Bosch <stefan_b@posteo.net>
Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/cpu/armv7/s5p-common/pwm.c | 11 | ||||
-rw-r--r-- | arch/arm/cpu/armv7/s5p-common/timer.c | 10 | ||||
-rw-r--r-- | arch/arm/mach-exynos/include/mach/pwm.h | 5 | ||||
-rw-r--r-- | arch/arm/mach-nexell/include/mach/pwm.h | 5 | ||||
-rw-r--r-- | arch/arm/mach-s5pc1xx/include/mach/pwm.h | 5 |
5 files changed, 23 insertions, 13 deletions
diff --git a/arch/arm/cpu/armv7/s5p-common/pwm.c b/arch/arm/cpu/armv7/s5p-common/pwm.c index aef2e5574b4..5068327d3c5 100644 --- a/arch/arm/cpu/armv7/s5p-common/pwm.c +++ b/arch/arm/cpu/armv7/s5p-common/pwm.c @@ -7,12 +7,11 @@ #include <common.h> #include <errno.h> -#include <pwm.h> #include <asm/io.h> #include <asm/arch/pwm.h> #include <asm/arch/clk.h> -int pwm_enable(int pwm_id) +int s5p_pwm_enable(int pwm_id) { const struct s5p_timer *pwm = #if defined(CONFIG_ARCH_NEXELL) @@ -30,7 +29,7 @@ int pwm_enable(int pwm_id) return 0; } -void pwm_disable(int pwm_id) +void s5p_pwm_disable(int pwm_id) { const struct s5p_timer *pwm = #if defined(CONFIG_ARCH_NEXELL) @@ -92,7 +91,7 @@ static unsigned long pwm_calc_tin(int pwm_id, unsigned long freq) #define NS_IN_SEC 1000000000UL -int pwm_config(int pwm_id, int duty_ns, int period_ns) +int s5p_pwm_config(int pwm_id, int duty_ns, int period_ns) { const struct s5p_timer *pwm = #if defined(CONFIG_ARCH_NEXELL) @@ -157,7 +156,7 @@ int pwm_config(int pwm_id, int duty_ns, int period_ns) return 0; } -int pwm_init(int pwm_id, int div, int invert) +int s5p_pwm_init(int pwm_id, int div, int invert) { u32 val; const struct s5p_timer *pwm = @@ -219,7 +218,7 @@ int pwm_init(int pwm_id, int div, int invert) val |= TCON_INVERTER(pwm_id); writel(val, &pwm->tcon); - pwm_enable(pwm_id); + s5p_pwm_enable(pwm_id); return 0; } diff --git a/arch/arm/cpu/armv7/s5p-common/timer.c b/arch/arm/cpu/armv7/s5p-common/timer.c index 8533d04878c..f4a045e2f0d 100644 --- a/arch/arm/cpu/armv7/s5p-common/timer.c +++ b/arch/arm/cpu/armv7/s5p-common/timer.c @@ -16,10 +16,6 @@ #include <asm/arch/clk.h> #include <linux/delay.h> -/* Use the old PWM interface for now */ -#undef CONFIG_DM_PWM -#include <pwm.h> - DECLARE_GLOBAL_DATA_PTR; unsigned long get_current_tick(void); @@ -49,9 +45,9 @@ static unsigned long timer_get_us_down(void) int timer_init(void) { /* PWM Timer 4 */ - pwm_init(4, MUX_DIV_4, 0); - pwm_config(4, 100000, 100000); - pwm_enable(4); + s5p_pwm_init(4, MUX_DIV_4, 0); + s5p_pwm_config(4, 100000, 100000); + s5p_pwm_enable(4); /* Use this as the current monotonic time in us */ gd->arch.timer_reset_value = 0; diff --git a/arch/arm/mach-exynos/include/mach/pwm.h b/arch/arm/mach-exynos/include/mach/pwm.h index 417fc15551d..17372492d58 100644 --- a/arch/arm/mach-exynos/include/mach/pwm.h +++ b/arch/arm/mach-exynos/include/mach/pwm.h @@ -49,6 +49,11 @@ struct s5p_timer { unsigned int tcnto4; unsigned int tintcstat; }; + +int s5p_pwm_init (int pwm_id, int div, int invert); +int s5p_pwm_config (int pwm_id, int duty_ns, int period_ns); +int s5p_pwm_enable (int pwm_id); +void s5p_pwm_disable (int pwm_id); #endif /* __ASSEMBLY__ */ #endif diff --git a/arch/arm/mach-nexell/include/mach/pwm.h b/arch/arm/mach-nexell/include/mach/pwm.h index 08a287d308f..1e12058dd53 100644 --- a/arch/arm/mach-nexell/include/mach/pwm.h +++ b/arch/arm/mach-nexell/include/mach/pwm.h @@ -49,6 +49,11 @@ struct s5p_timer { unsigned int tcnto4; unsigned int tintcstat; }; + +int s5p_pwm_init (int pwm_id, int div, int invert); +int s5p_pwm_config (int pwm_id, int duty_ns, int period_ns); +int s5p_pwm_enable (int pwm_id); +void s5p_pwm_disable (int pwm_id); #endif /* __ASSEMBLY__ */ #endif diff --git a/arch/arm/mach-s5pc1xx/include/mach/pwm.h b/arch/arm/mach-s5pc1xx/include/mach/pwm.h index 1a531beddc6..6d53e52f649 100644 --- a/arch/arm/mach-s5pc1xx/include/mach/pwm.h +++ b/arch/arm/mach-s5pc1xx/include/mach/pwm.h @@ -49,6 +49,11 @@ struct s5p_timer { unsigned int tcnto4; unsigned int tintcstat; }; + +int s5p_pwm_init (int pwm_id, int div, int invert); +int s5p_pwm_config (int pwm_id, int duty_ns, int period_ns); +int s5p_pwm_enable (int pwm_id); +void s5p_pwm_disable (int pwm_id); #endif /* __ASSEMBLY__ */ #endif |