aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/platforms/SPC5xx
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-05-02 08:15:34 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-05-02 08:15:34 +0000
commit51069d7c81a2320ffd487e5788e6bc48ede3f11a (patch)
tree1e98244dbcb3d2abc5ed6d8957dc278615633e1c /os/hal/platforms/SPC5xx
parent11ecb1a7586ddaf6276a087d51de829b00d5f386 (diff)
downloadChibiOS-51069d7c81a2320ffd487e5788e6bc48ede3f11a.tar.gz
ChibiOS-51069d7c81a2320ffd487e5788e6bc48ede3f11a.tar.bz2
ChibiOS-51069d7c81a2320ffd487e5788e6bc48ede3f11a.zip
FlexPWM driver naming adjustments.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5652 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/platforms/SPC5xx')
-rw-r--r--os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.c52
-rw-r--r--os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.h10
2 files changed, 33 insertions, 29 deletions
diff --git a/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.c b/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.c
index bb29bdaf2..7a92b1044 100644
--- a/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.c
+++ b/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.c
@@ -179,8 +179,8 @@ void pwm_lld_start_submodule(PWMDriver *pwmp, uint8_t sid) {
pwmp->flexpwmp->SUB[sid].VAL[1].R = pwmperiod / 2;
/* Sets the submodule channels.*/
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting reloads.*/
pwmp->flexpwmp->SUB[sid].CTRL.B.HALF = 0;
pwmp->flexpwmp->SUB[sid].CTRL.B.FULL = 1;
@@ -189,7 +189,7 @@ void pwm_lld_start_submodule(PWMDriver *pwmp, uint8_t sid) {
pwmp->flexpwmp->SUB[sid].VAL[2].R = ~(pwmperiod / 2) + 1U;
pwmp->flexpwmp->SUB[sid].VAL[4].R = ~(pwmperiod / 2) + 1U;
break;
- case CENTER_ALIGNED_PWM:
+ case PWM_ALIGN_CENTER:
/* Setting reloads.*/
pwmp->flexpwmp->SUB[sid].CTRL.B.HALF = 1;
pwmp->flexpwmp->SUB[sid].CTRL.B.FULL = 0;
@@ -332,14 +332,14 @@ void pwm_lld_enable_submodule_channel(PWMDriver *pwmp,
}
/* Sets the channel width.*/
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
if (nwidth >= 0)
pwmp->flexpwmp->SUB[sid].VAL[3].R = nwidth;
else
pwmp->flexpwmp->SUB[sid].VAL[3].R = ~((pwmperiod / 2) - width) + 1U;
break;
- case CENTER_ALIGNED_PWM:
+ case PWM_ALIGN_CENTER:
pwmp->flexpwmp->SUB[sid].VAL[3].R = width / 2;
pwmp->flexpwmp->SUB[sid].VAL[2].R = ~(width / 2) + 1U;
break;
@@ -363,14 +363,14 @@ void pwm_lld_enable_submodule_channel(PWMDriver *pwmp,
}
}
/* Sets the channel width.*/
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
if (nwidth >= 0)
pwmp->flexpwmp->SUB[sid].VAL[5].R = nwidth;
else
pwmp->flexpwmp->SUB[sid].VAL[5].R = ~((pwmperiod / 2) - width) + 1U;
break;
- case CENTER_ALIGNED_PWM:
+ case PWM_ALIGN_CENTER:
pwmp->flexpwmp->SUB[sid].VAL[5].R = width / 2;
pwmp->flexpwmp->SUB[sid].VAL[4].R = ~(width / 2) + 1U;
break;
@@ -1609,9 +1609,8 @@ void pwm_lld_change_period(PWMDriver *pwmp, pwmcnt_t period) {
pwmp->flexpwmp->SUB[0].VAL[0].R = 0;
pwmp->flexpwmp->SUB[0].VAL[1].R = pwmperiod / 2;
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
-
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting active front of PWM channels.*/
pwmp->flexpwmp->SUB[0].VAL[2].R = ~(pwmperiod / 2) + 1U;
pwmp->flexpwmp->SUB[0].VAL[4].R = ~(pwmperiod / 2) + 1U;
@@ -1631,8 +1630,8 @@ void pwm_lld_change_period(PWMDriver *pwmp, pwmcnt_t period) {
pwmp->flexpwmp->SUB[1].VAL[0].R = 0;
pwmp->flexpwmp->SUB[1].VAL[1].R = pwmperiod / 2;
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting active front of PWM channels.*/
pwmp->flexpwmp->SUB[1].VAL[2].R = ~(pwmperiod / 2) + 1U;
@@ -1653,9 +1652,8 @@ void pwm_lld_change_period(PWMDriver *pwmp, pwmcnt_t period) {
pwmp->flexpwmp->SUB[2].VAL[0].R = 0;
pwmp->flexpwmp->SUB[2].VAL[1].R = pwmperiod / 2;
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
-
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting active front of PWM channels.*/
pwmp->flexpwmp->SUB[2].VAL[2].R = ~(pwmperiod / 2) + 1U;
pwmp->flexpwmp->SUB[2].VAL[4].R = ~(pwmperiod / 2) + 1U;
@@ -1675,8 +1673,8 @@ void pwm_lld_change_period(PWMDriver *pwmp, pwmcnt_t period) {
pwmp->flexpwmp->SUB[3].VAL[0].R = 0;
pwmp->flexpwmp->SUB[3].VAL[1].R = pwmperiod / 2;
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting active front of PWM channels.*/
pwmp->flexpwmp->SUB[3].VAL[2].R = ~(pwmperiod / 2) + 1U;
pwmp->flexpwmp->SUB[3].VAL[4].R = ~(pwmperiod / 2) + 1U;
@@ -1696,8 +1694,8 @@ void pwm_lld_change_period(PWMDriver *pwmp, pwmcnt_t period) {
pwmp->flexpwmp->SUB[0].VAL[0].R = 0;
pwmp->flexpwmp->SUB[0].VAL[1].R = pwmperiod / 2;
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting active front of PWM channels.*/
pwmp->flexpwmp->SUB[0].VAL[2].R = ~(pwmperiod / 2) + 1U;
pwmp->flexpwmp->SUB[0].VAL[4].R = ~(pwmperiod / 2) + 1U;
@@ -1717,8 +1715,8 @@ void pwm_lld_change_period(PWMDriver *pwmp, pwmcnt_t period) {
pwmp->flexpwmp->SUB[1].VAL[0].R = 0;
pwmp->flexpwmp->SUB[1].VAL[1].R = pwmperiod / 2;
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting active front of PWM channels.*/
pwmp->flexpwmp->SUB[1].VAL[2].R = ~(pwmperiod / 2) + 1U;
pwmp->flexpwmp->SUB[1].VAL[4].R = ~(pwmperiod / 2) + 1U;
@@ -1738,8 +1736,8 @@ void pwm_lld_change_period(PWMDriver *pwmp, pwmcnt_t period) {
pwmp->flexpwmp->SUB[2].VAL[0].R = 0;
pwmp->flexpwmp->SUB[2].VAL[1].R = pwmperiod / 2;
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting active front of PWM channels.*/
pwmp->flexpwmp->SUB[2].VAL[2].R = ~(pwmperiod / 2) + 1U;
pwmp->flexpwmp->SUB[2].VAL[4].R = ~(pwmperiod / 2) + 1U;
@@ -1759,8 +1757,8 @@ void pwm_lld_change_period(PWMDriver *pwmp, pwmcnt_t period) {
pwmp->flexpwmp->SUB[3].VAL[0].R = 0;
pwmp->flexpwmp->SUB[3].VAL[1].R = pwmperiod / 2;
- switch (pwmp->config->mode & PWM_OUTPUT_MASK) {
- case EDGE_ALIGNED_PWM:
+ switch (pwmp->config->mode & PWM_ALIGN_MASK) {
+ case PWM_ALIGN_EDGE:
/* Setting active front of PWM channels.*/
pwmp->flexpwmp->SUB[3].VAL[2].R = ~(pwmperiod / 2) + 1U;
pwmp->flexpwmp->SUB[3].VAL[4].R = ~(pwmperiod / 2) + 1U;
diff --git a/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.h b/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.h
index 9777e83a4..ea9acb7cd 100644
--- a/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.h
+++ b/os/hal/platforms/SPC5xx/FlexPWM_v1/pwm_lld.h
@@ -94,16 +94,22 @@
#define PWM_COMPLEMENTARY_OUTPUT_ACTIVE_LOW 0x20
/**
+ * @brief Alignment mode mask.
+ * @note This is an SPC5-specific setting.
+ */
+#define PWM_ALIGN_MASK 0x01
+
+/**
* @brief Edge-Aligned PWM functional mode.
* @note This is an SPC5-specific setting.
*/
-#define EDGE_ALIGNED_PWM 0x01
+#define PWM_ALIGN_EDGE 0x00
/**
* @brief Center-Aligned PWM functional mode.
* @note This is an SPC5-specific setting.
*/
-#define CENTER_ALIGNED_PWM 0x02
+#define PWM_ALIGN_CENTER 0x01
/*===========================================================================*/
/* Driver pre-compile time settings. */