Skip to content

Commit ade23b9

Browse files
raiden00plxiaoxiang781216
authored andcommitted
arch/{nrf52|nrf53}/pwm: fix compilation for MULTICHAN not set
1 parent cb3abc4 commit ade23b9

File tree

2 files changed

+29
-6
lines changed

2 files changed

+29
-6
lines changed

arch/arm/src/nrf52/nrf52_pwm.c

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ struct nrf52_pwm_s
6666
uint32_t ch1_pin; /* Channel 2 pin */
6767
uint32_t ch2_pin; /* Channel 3 pin */
6868
uint32_t ch3_pin; /* Channel 4 pin */
69+
#ifndef CONFIG_PWM_MULTICHAN
70+
uint8_t channel; /* Assigned channel */
71+
#endif
6972

7073
/* Sequence 0 */
7174

@@ -143,6 +146,9 @@ struct nrf52_pwm_s g_nrf52_pwm0 =
143146
#ifdef CONFIG_NRF52_PWM0_CH3
144147
.ch3_pin = NRF52_PWM0_CH3_PIN,
145148
#endif
149+
#ifndef CONFIG_PWM_MULTICHAN
150+
.channel = CONFIG_NRF52_PWM0_CHANNEL
151+
#endif
146152
};
147153
#endif
148154

@@ -165,6 +171,9 @@ struct nrf52_pwm_s g_nrf52_pwm1 =
165171
#ifdef CONFIG_NRF52_PWM1_CH3
166172
.ch3_pin = NRF52_PWM1_CH3_PIN,
167173
#endif
174+
#ifndef CONFIG_PWM_MULTICHAN
175+
.channel = CONFIG_NRF52_PWM1_CHANNEL
176+
#endif
168177
};
169178
#endif
170179

@@ -187,6 +196,9 @@ struct nrf52_pwm_s g_nrf52_pwm2 =
187196
#ifdef CONFIG_NRF52_PWM2_CH3
188197
.ch3_pin = NRF52_PWM2_CH3_PIN,
189198
#endif
199+
#ifndef CONFIG_PWM_MULTICHAN
200+
.channel = CONFIG_NRF52_PWM2_CHANNEL
201+
#endif
190202
};
191203
#endif
192204

@@ -209,6 +221,9 @@ struct nrf52_pwm_s g_nrf52_pwm3 =
209221
#ifdef CONFIG_NRF52_PWM3_CH3
210222
.ch3_pin = NRF52_PWM3_CH3_PIN,
211223
#endif
224+
#ifndef CONFIG_PWM_MULTICHAN
225+
.channel = CONFIG_NRF52_PWM3_CHANNEL
226+
#endif
212227
};
213228
#endif
214229

@@ -592,9 +607,7 @@ static int nrf52_pwm_start(struct pwm_lowerhalf_s *dev,
592607
}
593608

594609
#else
595-
ret = nrf52_pwm_duty(dev,
596-
(info->channels[0].channel - 1),
597-
info->duty);
610+
ret = nrf52_pwm_duty(priv, priv->channel, info->duty);
598611
#endif /* CONFIG_PWM_MULTICHAN */
599612

600613
/* Start sequence 0 */

arch/arm/src/nrf53/nrf53_pwm.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ struct nrf53_pwm_s
6666
uint32_t ch1_pin; /* Channel 2 pin */
6767
uint32_t ch2_pin; /* Channel 3 pin */
6868
uint32_t ch3_pin; /* Channel 4 pin */
69+
#ifndef CONFIG_PWM_MULTICHAN
70+
uint8_t channel; /* Assigned channel */
71+
#endif
6972

7073
/* Sequence 0 */
7174

@@ -143,6 +146,9 @@ struct nrf53_pwm_s g_nrf53_pwm0 =
143146
#ifdef CONFIG_NRF53_PWM0_CH3
144147
.ch3_pin = NRF53_PWM0_CH3_PIN,
145148
#endif
149+
#ifndef CONFIG_PWM_MULTICHAN
150+
.channel = CONFIG_NRF53_PWM0_CHANNEL
151+
#endif
146152
};
147153
#endif
148154

@@ -165,6 +171,9 @@ struct nrf53_pwm_s g_nrf53_pwm1 =
165171
#ifdef CONFIG_NRF53_PWM1_CH3
166172
.ch3_pin = NRF53_PWM1_CH3_PIN,
167173
#endif
174+
#ifndef CONFIG_PWM_MULTICHAN
175+
.channel = CONFIG_NRF53_PWM1_CHANNEL
176+
#endif
168177
};
169178
#endif
170179

@@ -187,6 +196,9 @@ struct nrf53_pwm_s g_nrf53_pwm2 =
187196
#ifdef CONFIG_NRF53_PWM2_CH3
188197
.ch3_pin = NRF53_PWM2_CH3_PIN,
189198
#endif
199+
#ifndef CONFIG_PWM_MULTICHAN
200+
.channel = CONFIG_NRF53_PWM2_CHANNEL
201+
#endif
190202
};
191203
#endif
192204

@@ -570,9 +582,7 @@ static int nrf53_pwm_start(struct pwm_lowerhalf_s *dev,
570582
}
571583

572584
#else
573-
ret = nrf53_pwm_duty(dev,
574-
(info->channels[0].channel - 1),
575-
info->duty);
585+
ret = nrf53_pwm_duty(priv, priv->channel, info->duty);
576586
#endif /* CONFIG_PWM_MULTICHAN */
577587

578588
/* Start sequence 0 */

0 commit comments

Comments
 (0)