38 #ifndef __DRIVERLIB_PWM_H__ 39 #define __DRIVERLIB_PWM_H__ 61 #define PWM_GEN_MODE_DOWN 0x00000000 // Down count mode 62 #define PWM_GEN_MODE_UP_DOWN 0x00000002 // Up/Down count mode 63 #define PWM_GEN_MODE_SYNC 0x00000038 // Synchronous updates 64 #define PWM_GEN_MODE_NO_SYNC 0x00000000 // Immediate updates 65 #define PWM_GEN_MODE_DBG_RUN 0x00000004 // Continue running in debug mode 66 #define PWM_GEN_MODE_DBG_STOP 0x00000000 // Stop running in debug mode 67 #define PWM_GEN_MODE_FAULT_LATCHED \ 68 0x00040000 // Fault is latched 69 #define PWM_GEN_MODE_FAULT_UNLATCHED \ 70 0x00000000 // Fault is not latched 71 #define PWM_GEN_MODE_FAULT_MINPER \ 72 0x00020000 // Enable min fault period 73 #define PWM_GEN_MODE_FAULT_NO_MINPER \ 74 0x00000000 // Disable min fault period 75 #define PWM_GEN_MODE_FAULT_EXT 0x00010000 // Enable extended fault support 76 #define PWM_GEN_MODE_FAULT_LEGACY \ 77 0x00000000 // Disable extended fault support 78 #define PWM_GEN_MODE_DB_NO_SYNC 0x00000000 // Deadband updates occur 80 #define PWM_GEN_MODE_DB_SYNC_LOCAL \ 81 0x0000A800 // Deadband updates locally 83 #define PWM_GEN_MODE_DB_SYNC_GLOBAL \ 84 0x0000FC00 // Deadband updates globally 86 #define PWM_GEN_MODE_GEN_NO_SYNC \ 87 0x00000000 // Generator mode updates occur 89 #define PWM_GEN_MODE_GEN_SYNC_LOCAL \ 90 0x00000280 // Generator mode updates locally 92 #define PWM_GEN_MODE_GEN_SYNC_GLOBAL \ 93 0x000003C0 // Generator mode updates globally 102 #define PWM_INT_CNT_ZERO 0x00000001 // Int if COUNT = 0 103 #define PWM_INT_CNT_LOAD 0x00000002 // Int if COUNT = LOAD 104 #define PWM_INT_CNT_AU 0x00000004 // Int if COUNT = CMPA U 105 #define PWM_INT_CNT_AD 0x00000008 // Int if COUNT = CMPA D 106 #define PWM_INT_CNT_BU 0x00000010 // Int if COUNT = CMPA U 107 #define PWM_INT_CNT_BD 0x00000020 // Int if COUNT = CMPA D 108 #define PWM_TR_CNT_ZERO 0x00000100 // Trig if COUNT = 0 109 #define PWM_TR_CNT_LOAD 0x00000200 // Trig if COUNT = LOAD 110 #define PWM_TR_CNT_AU 0x00000400 // Trig if COUNT = CMPA U 111 #define PWM_TR_CNT_AD 0x00000800 // Trig if COUNT = CMPA D 112 #define PWM_TR_CNT_BU 0x00001000 // Trig if COUNT = CMPA U 113 #define PWM_TR_CNT_BD 0x00002000 // Trig if COUNT = CMPA D 120 #define PWM_INT_GEN_0 0x00000001 // Generator 0 interrupt 121 #define PWM_INT_GEN_1 0x00000002 // Generator 1 interrupt 122 #define PWM_INT_GEN_2 0x00000004 // Generator 2 interrupt 123 #define PWM_INT_GEN_3 0x00000008 // Generator 3 interrupt 124 #define PWM_INT_FAULT0 0x00010000 // Fault0 interrupt 125 #define PWM_INT_FAULT1 0x00020000 // Fault1 interrupt 126 #define PWM_INT_FAULT2 0x00040000 // Fault2 interrupt 127 #define PWM_INT_FAULT3 0x00080000 // Fault3 interrupt 128 #define PWM_INT_FAULT_M 0x000F0000 // Fault interrupt source mask 135 #define PWM_GEN_0 0x00000040 // Offset address of Gen0 136 #define PWM_GEN_1 0x00000080 // Offset address of Gen1 137 #define PWM_GEN_2 0x000000C0 // Offset address of Gen2 138 #define PWM_GEN_3 0x00000100 // Offset address of Gen3 140 #define PWM_GEN_0_BIT 0x00000001 // Bit-wise ID for Gen0 141 #define PWM_GEN_1_BIT 0x00000002 // Bit-wise ID for Gen1 142 #define PWM_GEN_2_BIT 0x00000004 // Bit-wise ID for Gen2 143 #define PWM_GEN_3_BIT 0x00000008 // Bit-wise ID for Gen3 145 #define PWM_GEN_EXT_0 0x00000800 // Offset of Gen0 ext address range 146 #define PWM_GEN_EXT_1 0x00000880 // Offset of Gen1 ext address range 147 #define PWM_GEN_EXT_2 0x00000900 // Offset of Gen2 ext address range 148 #define PWM_GEN_EXT_3 0x00000980 // Offset of Gen3 ext address range 155 #define PWM_OUT_0 0x00000040 // Encoded offset address of PWM0 156 #define PWM_OUT_1 0x00000041 // Encoded offset address of PWM1 157 #define PWM_OUT_2 0x00000082 // Encoded offset address of PWM2 158 #define PWM_OUT_3 0x00000083 // Encoded offset address of PWM3 159 #define PWM_OUT_4 0x000000C4 // Encoded offset address of PWM4 160 #define PWM_OUT_5 0x000000C5 // Encoded offset address of PWM5 161 #define PWM_OUT_6 0x00000106 // Encoded offset address of PWM6 162 #define PWM_OUT_7 0x00000107 // Encoded offset address of PWM7 164 #define PWM_OUT_0_BIT 0x00000001 // Bit-wise ID for PWM0 165 #define PWM_OUT_1_BIT 0x00000002 // Bit-wise ID for PWM1 166 #define PWM_OUT_2_BIT 0x00000004 // Bit-wise ID for PWM2 167 #define PWM_OUT_3_BIT 0x00000008 // Bit-wise ID for PWM3 168 #define PWM_OUT_4_BIT 0x00000010 // Bit-wise ID for PWM4 169 #define PWM_OUT_5_BIT 0x00000020 // Bit-wise ID for PWM5 170 #define PWM_OUT_6_BIT 0x00000040 // Bit-wise ID for PWM6 171 #define PWM_OUT_7_BIT 0x00000080 // Bit-wise ID for PWM7 179 #define PWM_FAULT_GROUP_0 0 181 #define PWM_FAULT_FAULT0 0x00000001 182 #define PWM_FAULT_FAULT1 0x00000002 183 #define PWM_FAULT_FAULT2 0x00000004 184 #define PWM_FAULT_FAULT3 0x00000008 185 #define PWM_FAULT_ACMP0 0x00010000 186 #define PWM_FAULT_ACMP1 0x00020000 187 #define PWM_FAULT_ACMP2 0x00040000 195 #define PWM_FAULT_GROUP_1 1 197 #define PWM_FAULT_DCMP0 0x00000001 198 #define PWM_FAULT_DCMP1 0x00000002 199 #define PWM_FAULT_DCMP2 0x00000004 200 #define PWM_FAULT_DCMP3 0x00000008 201 #define PWM_FAULT_DCMP4 0x00000010 202 #define PWM_FAULT_DCMP5 0x00000020 203 #define PWM_FAULT_DCMP6 0x00000040 204 #define PWM_FAULT_DCMP7 0x00000080 211 #define PWM_FAULT0_SENSE_HIGH 0x00000000 212 #define PWM_FAULT0_SENSE_LOW 0x00000001 213 #define PWM_FAULT1_SENSE_HIGH 0x00000000 214 #define PWM_FAULT1_SENSE_LOW 0x00000002 215 #define PWM_FAULT2_SENSE_HIGH 0x00000000 216 #define PWM_FAULT2_SENSE_LOW 0x00000004 217 #define PWM_FAULT3_SENSE_HIGH 0x00000000 218 #define PWM_FAULT3_SENSE_LOW 0x00000008 226 #define PWM_SYSCLK_DIV_1 0x00000000 // PWM clock is system clock 227 #define PWM_SYSCLK_DIV_2 0x00000100 // PWM clock is system clock /2 228 #define PWM_SYSCLK_DIV_4 0x00000101 // PWM clock is system clock /4 229 #define PWM_SYSCLK_DIV_8 0x00000102 // PWM clock is system clock /8 230 #define PWM_SYSCLK_DIV_16 0x00000103 // PWM clock is system clock /16 231 #define PWM_SYSCLK_DIV_32 0x00000104 // PWM clock is system clock /32 232 #define PWM_SYSCLK_DIV_64 0x00000105 // PWM clock is system clock /64 240 #define PWM_OUTPUT_MODE_NO_SYNC 0x00000000 // Updates to occur immediately 241 #define PWM_OUTPUT_MODE_SYNC_LOCAL \ 242 0x00000002 // Updates are locally synchronized 243 #define PWM_OUTPUT_MODE_SYNC_GLOBAL \ 244 0x00000003 // Updates are globally synchronized 252 uint32_t ui32Config);
254 uint32_t ui32Period);
257 extern void PWMGenEnable(uint32_t ui32Base, uint32_t ui32Gen);
258 extern void PWMGenDisable(uint32_t ui32Base, uint32_t ui32Gen);
262 uint32_t ui32PWMOut);
264 uint16_t ui16Rise, uint16_t ui16Fall);
266 extern void PWMSyncUpdate(uint32_t ui32Base, uint32_t ui32GenBits);
268 extern void PWMOutputState(uint32_t ui32Base, uint32_t ui32PWMOutBits,
270 extern void PWMOutputInvert(uint32_t ui32Base, uint32_t ui32PWMOutBits,
273 uint32_t ui32PWMOutBits,
275 extern void PWMOutputFault(uint32_t ui32Base, uint32_t ui32PWMOutBits,
276 bool bFaultSuppress);
278 void (*pfnIntHandler)(
void));
281 void (*pfnIntHandler)(
void));
284 uint32_t ui32IntTrig);
286 uint32_t ui32IntTrig);
291 extern void PWMIntEnable(uint32_t ui32Base, uint32_t ui32GenFault);
292 extern void PWMIntDisable(uint32_t ui32Base, uint32_t ui32GenFault);
293 extern uint32_t
PWMIntStatus(uint32_t ui32Base,
bool bMasked);
295 uint32_t ui32FaultInts);
297 uint32_t ui32MinFaultPeriod,
298 uint32_t ui32FaultSenses);
301 uint32_t ui32FaultTriggers);
310 uint32_t ui32FaultTriggers);
311 extern void PWMClockSet(uint32_t ui32Base, uint32_t ui32Config);
314 uint32_t ui32PWMOutBits,
326 #endif // __DRIVERLIB_PWM_H__ uint32_t PWMPulseWidthGet(uint32_t ui32Base, uint32_t ui32PWMOut)
Definition: pwm.c:515
void PWMGenFaultClear(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32Group, uint32_t ui32FaultTriggers)
Definition: pwm.c:1762
void PWMGenIntUnregister(uint32_t ui32Base, uint32_t ui32Gen)
Definition: pwm.c:1039
void PWMDeadBandDisable(uint32_t ui32Base, uint32_t ui32Gen)
Definition: pwm.c:621
void PWMOutputState(uint32_t ui32Base, uint32_t ui32PWMOutBits, bool bEnable)
Definition: pwm.c:723
void PWMFaultIntClearExt(uint32_t ui32Base, uint32_t ui32FaultInts)
Definition: pwm.c:1493
void PWMIntEnable(uint32_t ui32Base, uint32_t ui32GenFault)
Definition: pwm.c:1373
void PWMDeadBandEnable(uint32_t ui32Base, uint32_t ui32Gen, uint16_t ui16Rise, uint16_t ui16Fall)
Definition: pwm.c:578
void PWMFaultIntUnregister(uint32_t ui32Base)
Definition: pwm.c:1154
void PWMGenIntRegister(uint32_t ui32Base, uint32_t ui32Gen, void(*pfnIntHandler)(void))
Definition: pwm.c:989
uint32_t PWMGenFaultStatus(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32Group)
Definition: pwm.c:1716
void PWMIntDisable(uint32_t ui32Base, uint32_t ui32GenFault)
Definition: pwm.c:1407
uint32_t PWMGenFaultTriggerGet(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32Group)
Definition: pwm.c:1660
void PWMClockSet(uint32_t ui32Base, uint32_t ui32Config)
Definition: pwm.c:1819
void PWMGenFaultTriggerSet(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32Group, uint32_t ui32FaultTriggers)
Definition: pwm.c:1600
void PWMGenFaultConfigure(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32MinFaultPeriod, uint32_t ui32FaultSenses)
Definition: pwm.c:1535
uint32_t PWMIntStatus(uint32_t ui32Base, bool bMasked)
Definition: pwm.c:1442
uint32_t PWMClockGet(uint32_t ui32Base)
Definition: pwm.c:1856
void PWMGenPeriodSet(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32Period)
Definition: pwm.c:275
void PWMGenIntTrigEnable(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32IntTrig)
Definition: pwm.c:1202
void PWMOutputInvert(uint32_t ui32Base, uint32_t ui32PWMOutBits, bool bInvert)
Definition: pwm.c:771
void PWMOutputFault(uint32_t ui32Base, uint32_t ui32PWMOutBits, bool bFaultSuppress)
Definition: pwm.c:876
void PWMFaultIntRegister(uint32_t ui32Base, void(*pfnIntHandler)(void))
Definition: pwm.c:1110
void PWMSyncUpdate(uint32_t ui32Base, uint32_t ui32GenBits)
Definition: pwm.c:653
uint32_t PWMGenIntStatus(uint32_t ui32Base, uint32_t ui32Gen, bool bMasked)
Definition: pwm.c:1283
void PWMGenDisable(uint32_t ui32Base, uint32_t ui32Gen)
Definition: pwm.c:409
void PWMPulseWidthSet(uint32_t ui32Base, uint32_t ui32PWMOut, uint32_t ui32Width)
Definition: pwm.c:444
void PWMSyncTimeBase(uint32_t ui32Base, uint32_t ui32GenBits)
Definition: pwm.c:685
void PWMOutputFaultLevel(uint32_t ui32Base, uint32_t ui32PWMOutBits, bool bDriveHigh)
Definition: pwm.c:824
void PWMGenIntTrigDisable(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32IntTrig)
Definition: pwm.c:1244
void PWMGenEnable(uint32_t ui32Base, uint32_t ui32Gen)
Definition: pwm.c:380
void PWMGenConfigure(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32Config)
Definition: pwm.c:197
uint32_t PWMGenPeriodGet(uint32_t ui32Base, uint32_t ui32Gen)
Definition: pwm.c:333
void PWMGenIntClear(uint32_t ui32Base, uint32_t ui32Gen, uint32_t ui32Ints)
Definition: pwm.c:1338
void PWMOutputUpdateMode(uint32_t ui32Base, uint32_t ui32PWMOutBits, uint32_t ui32Mode)
Definition: pwm.c:1912