1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
2 | /* |
3 | * Copyright (C) 2013 Samsung Electronics Co., Ltd. |
4 | */ |
5 | #ifndef __CLOCKSOURCE_SAMSUNG_PWM_H |
6 | #define __CLOCKSOURCE_SAMSUNG_PWM_H |
7 | |
8 | #include <linux/spinlock.h> |
9 | |
10 | #define SAMSUNG_PWM_NUM 5 |
11 | |
12 | /* |
13 | * Following declaration must be in an ifdef due to this symbol being static |
14 | * in pwm-samsung driver if the clocksource driver is not compiled in and the |
15 | * spinlock is not shared between both drivers. |
16 | */ |
17 | #ifdef CONFIG_CLKSRC_SAMSUNG_PWM |
18 | extern spinlock_t samsung_pwm_lock; |
19 | #endif |
20 | |
21 | struct samsung_pwm_variant { |
22 | u8 bits; |
23 | u8 div_base; |
24 | u8 tclk_mask; |
25 | u8 output_mask; |
26 | bool has_tint_cstat; |
27 | }; |
28 | |
29 | void samsung_pwm_clocksource_init(void __iomem *base, |
30 | unsigned int *irqs, |
31 | const struct samsung_pwm_variant *variant); |
32 | |
33 | #endif /* __CLOCKSOURCE_SAMSUNG_PWM_H */ |
34 | |