xref: /rk3399_rockchip-uboot/arch/arm/include/asm/arch-rockchip/pwm.h (revision 6a624b88fcd0fd02f2d87dc1ece949d38fc353be)
10e23fd81SSimon Glass /*
20e23fd81SSimon Glass  * (C) Copyright 2016 Google, Inc
30e23fd81SSimon Glass  * (C) Copyright 2008-2014 Rockchip Electronics
40e23fd81SSimon Glass  *
50e23fd81SSimon Glass  * SPDX-License-Identifier:     GPL-2.0+
60e23fd81SSimon Glass  */
70e23fd81SSimon Glass 
80e23fd81SSimon Glass #ifndef _ASM_ARCH_PWM_H
90e23fd81SSimon Glass #define _ASM_ARCH_PWM_H
100e23fd81SSimon Glass 
11fdd40e00SDavid Wu struct rockchip_pwm_regs {
12fdd40e00SDavid Wu 	unsigned long duty;
13fdd40e00SDavid Wu 	unsigned long period;
14fdd40e00SDavid Wu 	unsigned long ctrl;
15*6a624b88SDamon Ding 	unsigned long version;
16*6a624b88SDamon Ding 	unsigned long enable;
170e23fd81SSimon Glass };
18fdd40e00SDavid Wu 
19fdd40e00SDavid Wu #define PWM_CTRL_TIMER_EN		(1 << 0)
20fdd40e00SDavid Wu #define PWM_CTRL_OUTPUT_EN		(1 << 3)
210e23fd81SSimon Glass 
220e23fd81SSimon Glass #define RK_PWM_DISABLE                  (0 << 0)
230e23fd81SSimon Glass #define RK_PWM_ENABLE                   (1 << 0)
240e23fd81SSimon Glass 
250e23fd81SSimon Glass #define PWM_ONE_SHOT                    (0 << 1)
260e23fd81SSimon Glass #define PWM_CONTINUOUS                  (1 << 1)
270e23fd81SSimon Glass #define RK_PWM_CAPTURE                  (1 << 2)
280e23fd81SSimon Glass 
290e23fd81SSimon Glass #define PWM_DUTY_POSTIVE                (1 << 3)
300e23fd81SSimon Glass #define PWM_DUTY_NEGATIVE               (0 << 3)
3106f4e36bSKever Yang #define PWM_DUTY_MASK			(1 << 3)
320e23fd81SSimon Glass 
330e23fd81SSimon Glass #define PWM_INACTIVE_POSTIVE            (1 << 4)
340e23fd81SSimon Glass #define PWM_INACTIVE_NEGATIVE           (0 << 4)
3506f4e36bSKever Yang #define PWM_INACTIVE_MASK		(1 << 4)
360e23fd81SSimon Glass 
370e23fd81SSimon Glass #define PWM_OUTPUT_LEFT                 (0 << 5)
380e23fd81SSimon Glass #define PWM_OUTPUT_CENTER               (1 << 5)
390e23fd81SSimon Glass 
40fdd40e00SDavid Wu #define PWM_LOCK			(1 << 6)
41fdd40e00SDavid Wu #define PWM_UNLOCK			(0 << 6)
42fdd40e00SDavid Wu 
430e23fd81SSimon Glass #define PWM_LP_ENABLE                   (1 << 8)
440e23fd81SSimon Glass #define PWM_LP_DISABLE                  (0 << 8)
450e23fd81SSimon Glass 
460e23fd81SSimon Glass #define PWM_SEL_SCALE_CLK		(1 << 9)
470e23fd81SSimon Glass #define PWM_SEL_SRC_CLK			(0 << 9)
480e23fd81SSimon Glass 
490e23fd81SSimon Glass #endif
50