Commit | Line | Data |
---|---|---|
caab277b | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
f1189989 TF |
2 | /* |
3 | * Copyright (C) 2013 Samsung Electronics Co., Ltd. | |
f1189989 TF |
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 | ||
11ad39ed TF |
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 | |
7aac482e | 18 | extern spinlock_t samsung_pwm_lock; |
11ad39ed | 19 | #endif |
7aac482e | 20 | |
f1189989 TF |
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 | ||
f9bb48a2 | 29 | void samsung_pwm_clocksource_init(void __iomem *base, |
a0143f5a | 30 | unsigned int *irqs, |
bb08e965 | 31 | const struct samsung_pwm_variant *variant); |
f9bb48a2 | 32 | |
f1189989 | 33 | #endif /* __CLOCKSOURCE_SAMSUNG_PWM_H */ |