blob: ac0ebfbb7cca2121d01892d116122174956dc481 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
/*
* Freescale PWM Register Definitions
*
* Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* This file is created by xml file. Don't Edit it.
*
* Xml Revision: 1.30
* Template revision: 26195
*/
#ifndef __ARCH_ARM___PWM_H
#define __ARCH_ARM___PWM_H
#include <mach/mx28.h>
#define REGS_PWM_BASE IO_ADDRESS(PWM_PHYS_ADDR)
#define REGS_PWM_PHYS (0x80064000)
#define REGS_PWM_SIZE 0x00002000
#define HW_PWM_CTRL (0x00000000)
#define HW_PWM_CTRL_SET (0x00000004)
#define HW_PWM_CTRL_CLR (0x00000008)
#define HW_PWM_CTRL_TOG (0x0000000c)
#define BM_PWM_CTRL_SFTRST 0x80000000
#define BM_PWM_CTRL_CLKGATE 0x40000000
#define BM_PWM_CTRL_PWM7_PRESENT 0x20000000
#define BM_PWM_CTRL_PWM6_PRESENT 0x10000000
#define BM_PWM_CTRL_PWM5_PRESENT 0x08000000
#define BM_PWM_CTRL_PWM4_PRESENT 0x04000000
#define BM_PWM_CTRL_PWM3_PRESENT 0x02000000
#define BM_PWM_CTRL_PWM2_PRESENT 0x01000000
#define BM_PWM_CTRL_PWM1_PRESENT 0x00800000
#define BM_PWM_CTRL_PWM0_PRESENT 0x00400000
#define BP_PWM_CTRL_RSRVD1 10
#define BM_PWM_CTRL_RSRVD1 0x003FFC00
#define BF_PWM_CTRL_RSRVD1(v) \
(((v) << 10) & BM_PWM_CTRL_RSRVD1)
#define BM_PWM_CTRL_OUTPUT_CUTOFF_EN 0x00000200
#define BM_PWM_CTRL_RSRVD2 0x00000100
#define BM_PWM_CTRL_PWM7_ENABLE 0x00000080
#define BM_PWM_CTRL_PWM6_ENABLE 0x00000040
#define BM_PWM_CTRL_PWM5_ENABLE 0x00000020
#define BM_PWM_CTRL_PWM4_ENABLE 0x00000010
#define BM_PWM_CTRL_PWM3_ENABLE 0x00000008
#define BM_PWM_CTRL_PWM2_ENABLE 0x00000004
#define BM_PWM_CTRL_PWM1_ENABLE 0x00000002
#define BM_PWM_CTRL_PWM0_ENABLE 0x00000001
/*
* multi-register-define name HW_PWM_ACTIVEn
* base 0x00000010
* count 8
* offset 0x20
*/
#define HW_PWM_ACTIVEn(n) (0x00000010 + (n) * 0x20)
#define HW_PWM_ACTIVEn_SET(n) (0x00000014 + (n) * 0x20)
#define HW_PWM_ACTIVEn_CLR(n) (0x00000018 + (n) * 0x20)
#define HW_PWM_ACTIVEn_TOG(n) (0x0000001c + (n) * 0x20)
#define BP_PWM_ACTIVEn_INACTIVE 16
#define BM_PWM_ACTIVEn_INACTIVE 0xFFFF0000
#define BF_PWM_ACTIVEn_INACTIVE(v) \
(((v) << 16) & BM_PWM_ACTIVEn_INACTIVE)
#define BP_PWM_ACTIVEn_ACTIVE 0
#define BM_PWM_ACTIVEn_ACTIVE 0x0000FFFF
#define BF_PWM_ACTIVEn_ACTIVE(v) \
(((v) << 0) & BM_PWM_ACTIVEn_ACTIVE)
/*
* multi-register-define name HW_PWM_PERIODn
* base 0x00000020
* count 8
* offset 0x20
*/
#define HW_PWM_PERIODn(n) (0x00000020 + (n) * 0x20)
#define HW_PWM_PERIODn_SET(n) (0x00000024 + (n) * 0x20)
#define HW_PWM_PERIODn_CLR(n) (0x00000028 + (n) * 0x20)
#define HW_PWM_PERIODn_TOG(n) (0x0000002c + (n) * 0x20)
#define BP_PWM_PERIODn_RSRVD2 27
#define BM_PWM_PERIODn_RSRVD2 0xF8000000
#define BF_PWM_PERIODn_RSRVD2(v) \
(((v) << 27) & BM_PWM_PERIODn_RSRVD2)
#define BM_PWM_PERIODn_HSADC_OUT 0x04000000
#define BM_PWM_PERIODn_HSADC_CLK_SEL 0x02000000
#define BM_PWM_PERIODn_MATT_SEL 0x01000000
#define BM_PWM_PERIODn_MATT 0x00800000
#define BP_PWM_PERIODn_CDIV 20
#define BM_PWM_PERIODn_CDIV 0x00700000
#define BF_PWM_PERIODn_CDIV(v) \
(((v) << 20) & BM_PWM_PERIODn_CDIV)
#define BV_PWM_PERIODn_CDIV__DIV_1 0x0
#define BV_PWM_PERIODn_CDIV__DIV_2 0x1
#define BV_PWM_PERIODn_CDIV__DIV_4 0x2
#define BV_PWM_PERIODn_CDIV__DIV_8 0x3
#define BV_PWM_PERIODn_CDIV__DIV_16 0x4
#define BV_PWM_PERIODn_CDIV__DIV_64 0x5
#define BV_PWM_PERIODn_CDIV__DIV_256 0x6
#define BV_PWM_PERIODn_CDIV__DIV_1024 0x7
#define BP_PWM_PERIODn_INACTIVE_STATE 18
#define BM_PWM_PERIODn_INACTIVE_STATE 0x000C0000
#define BF_PWM_PERIODn_INACTIVE_STATE(v) \
(((v) << 18) & BM_PWM_PERIODn_INACTIVE_STATE)
#define BV_PWM_PERIODn_INACTIVE_STATE__HI_Z 0x0
#define BV_PWM_PERIODn_INACTIVE_STATE__0 0x2
#define BV_PWM_PERIODn_INACTIVE_STATE__1 0x3
#define BP_PWM_PERIODn_ACTIVE_STATE 16
#define BM_PWM_PERIODn_ACTIVE_STATE 0x00030000
#define BF_PWM_PERIODn_ACTIVE_STATE(v) \
(((v) << 16) & BM_PWM_PERIODn_ACTIVE_STATE)
#define BV_PWM_PERIODn_ACTIVE_STATE__HI_Z 0x0
#define BV_PWM_PERIODn_ACTIVE_STATE__0 0x2
#define BV_PWM_PERIODn_ACTIVE_STATE__1 0x3
#define BP_PWM_PERIODn_PERIOD 0
#define BM_PWM_PERIODn_PERIOD 0x0000FFFF
#define BF_PWM_PERIODn_PERIOD(v) \
(((v) << 0) & BM_PWM_PERIODn_PERIOD)
#define HW_PWM_VERSION (0x00000110)
#define BP_PWM_VERSION_MAJOR 24
#define BM_PWM_VERSION_MAJOR 0xFF000000
#define BF_PWM_VERSION_MAJOR(v) \
(((v) << 24) & BM_PWM_VERSION_MAJOR)
#define BP_PWM_VERSION_MINOR 16
#define BM_PWM_VERSION_MINOR 0x00FF0000
#define BF_PWM_VERSION_MINOR(v) \
(((v) << 16) & BM_PWM_VERSION_MINOR)
#define BP_PWM_VERSION_STEP 0
#define BM_PWM_VERSION_STEP 0x0000FFFF
#define BF_PWM_VERSION_STEP(v) \
(((v) << 0) & BM_PWM_VERSION_STEP)
#endif /* __ARCH_ARM___PWM_H */
|