~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/platform_data/pwm_omap_dmtimer.h

Version: ~ [ linux-6.4-rc3 ] ~ [ linux-6.3.4 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.30 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.113 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.180 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.243 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.283 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.315 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * include/linux/platform_data/pwm_omap_dmtimer.h
  3  *
  4  * OMAP Dual-Mode Timer PWM platform data
  5  *
  6  * Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/
  7  * Tarun Kanti DebBarma <tarun.kanti@ti.com>
  8  * Thara Gopinath <thara@ti.com>
  9  *
 10  * Platform device conversion and hwmod support.
 11  *
 12  * Copyright (C) 2005 Nokia Corporation
 13  * Author: Lauri Leukkunen <lauri.leukkunen@nokia.com>
 14  * PWM and clock framework support by Timo Teras.
 15  *
 16  * This program is free software; you can redistribute it and/or modify it
 17  * under the terms of the GNU General Public License as published by the
 18  * Free Software Foundation; either version 2 of the License, or (at your
 19  * option) any later version.
 20  *
 21  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
 22  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 23  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
 24  * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 25  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 26  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 27  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 28  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 29  *
 30  * You should have received a copy of the  GNU General Public License along
 31  * with this program; if not, write  to the Free Software Foundation, Inc.,
 32  * 675 Mass Ave, Cambridge, MA 02139, USA.
 33  */
 34 
 35 #ifndef __PWM_OMAP_DMTIMER_PDATA_H
 36 #define __PWM_OMAP_DMTIMER_PDATA_H
 37 
 38 /* clock sources */
 39 #define PWM_OMAP_DMTIMER_SRC_SYS_CLK                    0x00
 40 #define PWM_OMAP_DMTIMER_SRC_32_KHZ                     0x01
 41 #define PWM_OMAP_DMTIMER_SRC_EXT_CLK                    0x02
 42 
 43 /* timer interrupt enable bits */
 44 #define PWM_OMAP_DMTIMER_INT_CAPTURE                    (1 << 2)
 45 #define PWM_OMAP_DMTIMER_INT_OVERFLOW                   (1 << 1)
 46 #define PWM_OMAP_DMTIMER_INT_MATCH                      (1 << 0)
 47 
 48 /* trigger types */
 49 #define PWM_OMAP_DMTIMER_TRIGGER_NONE                   0x00
 50 #define PWM_OMAP_DMTIMER_TRIGGER_OVERFLOW               0x01
 51 #define PWM_OMAP_DMTIMER_TRIGGER_OVERFLOW_AND_COMPARE   0x02
 52 
 53 struct omap_dm_timer;
 54 typedef struct omap_dm_timer pwm_omap_dmtimer;
 55 
 56 struct pwm_omap_dmtimer_pdata {
 57         pwm_omap_dmtimer *(*request_by_node)(struct device_node *np);
 58         pwm_omap_dmtimer *(*request_specific)(int timer_id);
 59         pwm_omap_dmtimer *(*request)(void);
 60 
 61         int     (*free)(pwm_omap_dmtimer *timer);
 62 
 63         void    (*enable)(pwm_omap_dmtimer *timer);
 64         void    (*disable)(pwm_omap_dmtimer *timer);
 65 
 66         int     (*get_irq)(pwm_omap_dmtimer *timer);
 67         int     (*set_int_enable)(pwm_omap_dmtimer *timer, unsigned int value);
 68         int     (*set_int_disable)(pwm_omap_dmtimer *timer, u32 mask);
 69 
 70         struct clk *(*get_fclk)(pwm_omap_dmtimer *timer);
 71 
 72         int     (*start)(pwm_omap_dmtimer *timer);
 73         int     (*stop)(pwm_omap_dmtimer *timer);
 74         int     (*set_source)(pwm_omap_dmtimer *timer, int source);
 75 
 76         int     (*set_load)(pwm_omap_dmtimer *timer, int autoreload,
 77                         unsigned int value);
 78         int     (*set_match)(pwm_omap_dmtimer *timer, int enable,
 79                         unsigned int match);
 80         int     (*set_pwm)(pwm_omap_dmtimer *timer, int def_on,
 81                         int toggle, int trigger);
 82         int     (*set_prescaler)(pwm_omap_dmtimer *timer, int prescaler);
 83 
 84         unsigned int (*read_counter)(pwm_omap_dmtimer *timer);
 85         int     (*write_counter)(pwm_omap_dmtimer *timer, unsigned int value);
 86         unsigned int (*read_status)(pwm_omap_dmtimer *timer);
 87         int     (*write_status)(pwm_omap_dmtimer *timer, unsigned int value);
 88 };
 89 
 90 #endif /* __PWM_OMAP_DMTIMER_PDATA_H */
 91 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp