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, struct samsung_pwm_variant *variant); 31 32 #endif /* __CLOCKSOURCE_SAMSUNG_PWM_H */ 33