added prescaler for 16 bit pwm in LPC1347 target

Fork of mbed-dev by mbed official

Committer:
<>
Date:
Fri Sep 02 15:07:44 2016 +0100
Revision:
144:ef7eb2e8f9f7
This updates the lib to the mbed lib v125

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 144:ef7eb2e8f9f7 1 /**
<> 144:ef7eb2e8f9f7 2 ******************************************************************************
<> 144:ef7eb2e8f9f7 3 * @file pad_map.h
<> 144:ef7eb2e8f9f7 4 * @brief PAD hw module register map
<> 144:ef7eb2e8f9f7 5 * @internal
<> 144:ef7eb2e8f9f7 6 * @author ON Semiconductor
<> 144:ef7eb2e8f9f7 7 * $Rev: 3166 $
<> 144:ef7eb2e8f9f7 8 * $Date: 2015-01-19 11:28:08 +0530 (Mon, 19 Jan 2015) $
<> 144:ef7eb2e8f9f7 9 ******************************************************************************
<> 144:ef7eb2e8f9f7 10 * @copyright (c) 2012 ON Semiconductor. All rights reserved.
<> 144:ef7eb2e8f9f7 11 * ON Semiconductor is supplying this software for use with ON Semiconductor
<> 144:ef7eb2e8f9f7 12 * processor based microcontrollers only.
<> 144:ef7eb2e8f9f7 13 *
<> 144:ef7eb2e8f9f7 14 * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED
<> 144:ef7eb2e8f9f7 15 * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
<> 144:ef7eb2e8f9f7 16 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
<> 144:ef7eb2e8f9f7 17 * ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL,
<> 144:ef7eb2e8f9f7 18 * INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
<> 144:ef7eb2e8f9f7 19 * @endinternal
<> 144:ef7eb2e8f9f7 20 *
<> 144:ef7eb2e8f9f7 21 * @ingroup pad
<> 144:ef7eb2e8f9f7 22 *
<> 144:ef7eb2e8f9f7 23 * @details
<> 144:ef7eb2e8f9f7 24 */
<> 144:ef7eb2e8f9f7 25
<> 144:ef7eb2e8f9f7 26 #ifndef PAD_MAP_H_
<> 144:ef7eb2e8f9f7 27 #define PAD_MAP_H_
<> 144:ef7eb2e8f9f7 28
<> 144:ef7eb2e8f9f7 29 /*************************************************************************************************
<> 144:ef7eb2e8f9f7 30 * *
<> 144:ef7eb2e8f9f7 31 * Header files *
<> 144:ef7eb2e8f9f7 32 * *
<> 144:ef7eb2e8f9f7 33 *************************************************************************************************/
<> 144:ef7eb2e8f9f7 34
<> 144:ef7eb2e8f9f7 35 #include "architecture.h"
<> 144:ef7eb2e8f9f7 36
<> 144:ef7eb2e8f9f7 37 /*************************************************************************************************
<> 144:ef7eb2e8f9f7 38 * *
<> 144:ef7eb2e8f9f7 39 * Symbolic Constants *
<> 144:ef7eb2e8f9f7 40 * *
<> 144:ef7eb2e8f9f7 41 *************************************************************************************************/
<> 144:ef7eb2e8f9f7 42
<> 144:ef7eb2e8f9f7 43 /** no pull up nor pull down */
<> 144:ef7eb2e8f9f7 44 #define PAD_PULL_NONE (uint8_t)0x01
<> 144:ef7eb2e8f9f7 45 /** pull down */
<> 144:ef7eb2e8f9f7 46 #define PAD_PULL_DOWN (uint8_t)0x00
<> 144:ef7eb2e8f9f7 47 /** pull up */
<> 144:ef7eb2e8f9f7 48 #define PAD_PULL_UP (uint8_t)0x03
<> 144:ef7eb2e8f9f7 49
<> 144:ef7eb2e8f9f7 50 /** Drive strength */
<> 144:ef7eb2e8f9f7 51 #define PAD_DRIVE_L0 (uint8_t)0x00
<> 144:ef7eb2e8f9f7 52 #define PAD_DRIVE_L1 (uint8_t)0x01
<> 144:ef7eb2e8f9f7 53 #define PAD_DRIVE_L2 (uint8_t)0x02
<> 144:ef7eb2e8f9f7 54 #define PAD_DRIVE_L3 (uint8_t)0x03
<> 144:ef7eb2e8f9f7 55 #define PAD_DRIVE_L4 (uint8_t)0x04
<> 144:ef7eb2e8f9f7 56 #define PAD_DRIVE_L5 (uint8_t)0x05
<> 144:ef7eb2e8f9f7 57 #define PAD_DRIVE_L6 (uint8_t)0x06
<> 144:ef7eb2e8f9f7 58
<> 144:ef7eb2e8f9f7 59 /** output configuration push/pull */
<> 144:ef7eb2e8f9f7 60 #define PAD_OUTCFG_PUSHPULL (uint8_t)0x00
<> 144:ef7eb2e8f9f7 61 /** output configuration open drain */
<> 144:ef7eb2e8f9f7 62 #define PAD_OOUTCFG_OPENDRAIN (uint8_t)0x01
<> 144:ef7eb2e8f9f7 63
<> 144:ef7eb2e8f9f7 64 /** lowest power PAD configuration, shall be the default */
<> 144:ef7eb2e8f9f7 65 #define PAD_LOW_POWER (PAD_PULL_NONE | (PAD_DRIVE_L0<<2) | (PAD_OOUTCFG_OPENDRAIN<<5))
<> 144:ef7eb2e8f9f7 66
<> 144:ef7eb2e8f9f7 67 /** custom Power PAD configuration */
<> 144:ef7eb2e8f9f7 68 #ifdef REVD
<> 144:ef7eb2e8f9f7 69 #define PAD_OUTPUT_PN_L1_OD (PAD_PULL_NONE | (PAD_DRIVE_L1<<2) | (PAD_OOUTCFG_OPENDRAIN<<5))
<> 144:ef7eb2e8f9f7 70 #define PAD_INPUT_PD_L1_PP (PAD_PULL_DOWN | (PAD_DRIVE_L1<<2) | (PAD_OUTCFG_PUSHPULL<<5))
<> 144:ef7eb2e8f9f7 71 #define PAD_UNUSED_PD_L0_PP (PAD_PULL_DOWN | (PAD_DRIVE_L0<<2) | (PAD_OUTCFG_PUSHPULL<<5))
<> 144:ef7eb2e8f9f7 72
<> 144:ef7eb2e8f9f7 73 #define PAD_UART_TX (PAD_PULL_UP | (PAD_DRIVE_L1<<2) | (PAD_OUTCFG_PUSHPULL<<5))
<> 144:ef7eb2e8f9f7 74 #define PAD_UART_RX (PAD_PULL_UP | (PAD_DRIVE_L1<<2) | (PAD_OOUTCFG_OPENDRAIN<<5))
<> 144:ef7eb2e8f9f7 75 #endif /* REVD */
<> 144:ef7eb2e8f9f7 76
<> 144:ef7eb2e8f9f7 77 /**************************************************************************************************
<> 144:ef7eb2e8f9f7 78 * *
<> 144:ef7eb2e8f9f7 79 * Type definitions *
<> 144:ef7eb2e8f9f7 80 * *
<> 144:ef7eb2e8f9f7 81 **************************************************************************************************/
<> 144:ef7eb2e8f9f7 82
<> 144:ef7eb2e8f9f7 83 /** Pad control
<> 144:ef7eb2e8f9f7 84 * The pad control peripheral is used to setup any necessary pad parameters
<> 144:ef7eb2e8f9f7 85 * not controlled directly via the cross-bar: output drive strength,
<> 144:ef7eb2e8f9f7 86 * push/pull control and output drive type.
<> 144:ef7eb2e8f9f7 87 */
<> 144:ef7eb2e8f9f7 88 typedef struct {
<> 144:ef7eb2e8f9f7 89 union {
<> 144:ef7eb2e8f9f7 90 struct {
<> 144:ef7eb2e8f9f7 91 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 92 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 93 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 94 } BITS;
<> 144:ef7eb2e8f9f7 95 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 96 } PADIO0;
<> 144:ef7eb2e8f9f7 97 union {
<> 144:ef7eb2e8f9f7 98 struct {
<> 144:ef7eb2e8f9f7 99 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 100 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 101 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 102 } BITS;
<> 144:ef7eb2e8f9f7 103 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 104 } PADIO1;
<> 144:ef7eb2e8f9f7 105 union {
<> 144:ef7eb2e8f9f7 106 struct {
<> 144:ef7eb2e8f9f7 107 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 108 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 109 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 110 } BITS;
<> 144:ef7eb2e8f9f7 111 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 112 } PADIO2;
<> 144:ef7eb2e8f9f7 113 union {
<> 144:ef7eb2e8f9f7 114 struct {
<> 144:ef7eb2e8f9f7 115 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 116 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 117 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 118 } BITS;
<> 144:ef7eb2e8f9f7 119 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 120 } PADIO3;
<> 144:ef7eb2e8f9f7 121 union {
<> 144:ef7eb2e8f9f7 122 struct {
<> 144:ef7eb2e8f9f7 123 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 124 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 125 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 126 } BITS;
<> 144:ef7eb2e8f9f7 127 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 128 } PADIO4;
<> 144:ef7eb2e8f9f7 129 union {
<> 144:ef7eb2e8f9f7 130 struct {
<> 144:ef7eb2e8f9f7 131 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 132 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 133 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 134 } BITS;
<> 144:ef7eb2e8f9f7 135 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 136 } PADIO5;
<> 144:ef7eb2e8f9f7 137 union {
<> 144:ef7eb2e8f9f7 138 struct {
<> 144:ef7eb2e8f9f7 139 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 140 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 141 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 142 } BITS;
<> 144:ef7eb2e8f9f7 143 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 144 } PADIO6;
<> 144:ef7eb2e8f9f7 145 union {
<> 144:ef7eb2e8f9f7 146 struct {
<> 144:ef7eb2e8f9f7 147 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 148 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 149 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 150 } BITS;
<> 144:ef7eb2e8f9f7 151 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 152 } PADIO7;
<> 144:ef7eb2e8f9f7 153 union {
<> 144:ef7eb2e8f9f7 154 struct {
<> 144:ef7eb2e8f9f7 155 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 156 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 157 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 158 } BITS;
<> 144:ef7eb2e8f9f7 159 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 160 } PADIO8;
<> 144:ef7eb2e8f9f7 161 union {
<> 144:ef7eb2e8f9f7 162 struct {
<> 144:ef7eb2e8f9f7 163 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 164 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 165 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 166 } BITS;
<> 144:ef7eb2e8f9f7 167 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 168 } PADIO9;
<> 144:ef7eb2e8f9f7 169 union {
<> 144:ef7eb2e8f9f7 170 struct {
<> 144:ef7eb2e8f9f7 171 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 172 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 173 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 174 } BITS;
<> 144:ef7eb2e8f9f7 175 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 176 } PADIO10;
<> 144:ef7eb2e8f9f7 177 union {
<> 144:ef7eb2e8f9f7 178 struct {
<> 144:ef7eb2e8f9f7 179 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 180 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 181 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 182 } BITS;
<> 144:ef7eb2e8f9f7 183 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 184 } PADIO11;
<> 144:ef7eb2e8f9f7 185 union {
<> 144:ef7eb2e8f9f7 186 struct {
<> 144:ef7eb2e8f9f7 187 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 188 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 189 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 190 } BITS;
<> 144:ef7eb2e8f9f7 191 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 192 } PADIO12;
<> 144:ef7eb2e8f9f7 193 union {
<> 144:ef7eb2e8f9f7 194 struct {
<> 144:ef7eb2e8f9f7 195 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 196 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 197 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 198 } BITS;
<> 144:ef7eb2e8f9f7 199 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 200 } PADIO13;
<> 144:ef7eb2e8f9f7 201 union {
<> 144:ef7eb2e8f9f7 202 struct {
<> 144:ef7eb2e8f9f7 203 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 204 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 205 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 206 } BITS;
<> 144:ef7eb2e8f9f7 207 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 208 } PADIO14;
<> 144:ef7eb2e8f9f7 209 union {
<> 144:ef7eb2e8f9f7 210 struct {
<> 144:ef7eb2e8f9f7 211 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 212 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 213 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 214 } BITS;
<> 144:ef7eb2e8f9f7 215 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 216 } PADIO15;
<> 144:ef7eb2e8f9f7 217 union {
<> 144:ef7eb2e8f9f7 218 struct {
<> 144:ef7eb2e8f9f7 219 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 220 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 221 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 222 } BITS;
<> 144:ef7eb2e8f9f7 223 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 224 } PADIO16;
<> 144:ef7eb2e8f9f7 225 union {
<> 144:ef7eb2e8f9f7 226 struct {
<> 144:ef7eb2e8f9f7 227 __IO uint32_t PULL :2; /**< 00 – Pull-down active, 01 – No pull active, 10 – No pull active, 11 – Pull-up active*/
<> 144:ef7eb2e8f9f7 228 __IO uint32_t POWER :3; /**< Output Drive Strength*/
<> 144:ef7eb2e8f9f7 229 __IO uint32_t TYPE :1; /**< Output Type: 0 – Push/Pull, 1 – Open Drain*/
<> 144:ef7eb2e8f9f7 230 } BITS;
<> 144:ef7eb2e8f9f7 231 __IO uint32_t WORD;
<> 144:ef7eb2e8f9f7 232 } PADIO17;
<> 144:ef7eb2e8f9f7 233 } PadReg_t, *PadReg_pt;
<> 144:ef7eb2e8f9f7 234
<> 144:ef7eb2e8f9f7 235 #endif /* PAD_MAP_H_ */