Skip to content

Commit 6098b2f

Browse files
jilaypandyanashif
authored andcommitted
drivers: stepper: tmc5041: use tmc5xxx generalized macros
This commit refactors tmc5041 driver to use tmc5xxx generalized macros Signed-off-by: Jilay Pandya <[email protected]>
1 parent f3a868a commit 6098b2f

File tree

2 files changed

+31
-31
lines changed

2 files changed

+31
-31
lines changed

drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ static int tmc5041_write(const struct device *dev, const uint8_t reg_addr, const
6363

6464
k_sem_take(&data->sem, K_FOREVER);
6565

66-
err = tmc_spi_write_register(&bus, TMC5041_WRITE_BIT, reg_addr, reg_val);
66+
err = tmc_spi_write_register(&bus, TMC5XXX_WRITE_BIT, reg_addr, reg_val);
6767

6868
k_sem_give(&data->sem);
6969

@@ -83,7 +83,7 @@ static int tmc5041_read(const struct device *dev, const uint8_t reg_addr, uint32
8383

8484
k_sem_take(&data->sem, K_FOREVER);
8585

86-
err = tmc_spi_read_register(&bus, TMC5041_ADDRESS_MASK, reg_addr, reg_val);
86+
err = tmc_spi_read_register(&bus, TMC5XXX_ADDRESS_MASK, reg_addr, reg_val);
8787

8888
k_sem_give(&data->sem);
8989

@@ -117,7 +117,7 @@ static int stallguard_enable(const struct device *dev, const bool enable)
117117
}
118118

119119
if (enable) {
120-
reg_value |= TMC5041_SW_MODE_SG_STOP_ENABLE;
120+
reg_value |= TMC5XXX_SW_MODE_SG_STOP_ENABLE;
121121

122122
int32_t actual_velocity;
123123

@@ -136,7 +136,7 @@ static int stallguard_enable(const struct device *dev, const bool enable)
136136
return -EAGAIN;
137137
}
138138
} else {
139-
reg_value &= ~TMC5041_SW_MODE_SG_STOP_ENABLE;
139+
reg_value &= ~TMC5XXX_SW_MODE_SG_STOP_ENABLE;
140140
}
141141
err = tmc5041_write(config->controller, TMC5041_SWMODE(config->index), reg_value);
142142
if (err) {
@@ -193,11 +193,11 @@ static void rampstat_work_handler(struct k_work *work)
193193

194194
tmc5041_read(stepper_config->controller, TMC5041_DRVSTATUS(stepper_config->index),
195195
&drv_status);
196-
if (FIELD_GET(TMC5041_DRV_STATUS_SG_STATUS_MASK, drv_status) == 1U) {
196+
if (FIELD_GET(TMC5XXX_DRV_STATUS_SG_STATUS_MASK, drv_status) == 1U) {
197197
LOG_INF("%s: Stall detected", stepper_data->stepper->name);
198198
err = tmc5041_write(stepper_config->controller,
199199
TMC5041_RAMPMODE(stepper_config->index),
200-
TMC5041_RAMPMODE_HOLD_MODE);
200+
TMC5XXX_RAMPMODE_HOLD_MODE);
201201
if (err != 0) {
202202
LOG_ERR("%s: Failed to stop motor", stepper_data->stepper->name);
203203
return;
@@ -213,29 +213,29 @@ static void rampstat_work_handler(struct k_work *work)
213213
return;
214214
}
215215

216-
const uint8_t ramp_stat_values = FIELD_GET(TMC5041_RAMPSTAT_INT_MASK, rampstat_value);
216+
const uint8_t ramp_stat_values = FIELD_GET(TMC5XXX_RAMPSTAT_INT_MASK, rampstat_value);
217217

218218
if (ramp_stat_values > 0) {
219219
switch (ramp_stat_values) {
220220

221-
case TMC5041_STOP_LEFT_EVENT:
221+
case TMC5XXX_STOP_LEFT_EVENT:
222222
LOG_DBG("RAMPSTAT %s:Left end-stop detected", stepper_data->stepper->name);
223223
execute_callback(stepper_data->stepper,
224224
STEPPER_EVENT_LEFT_END_STOP_DETECTED);
225225
break;
226226

227-
case TMC5041_STOP_RIGHT_EVENT:
227+
case TMC5XXX_STOP_RIGHT_EVENT:
228228
LOG_DBG("RAMPSTAT %s:Right end-stop detected", stepper_data->stepper->name);
229229
execute_callback(stepper_data->stepper,
230230
STEPPER_EVENT_RIGHT_END_STOP_DETECTED);
231231
break;
232232

233-
case TMC5041_POS_REACHED_EVENT:
233+
case TMC5XXX_POS_REACHED_EVENT:
234234
LOG_DBG("RAMPSTAT %s:Position reached", stepper_data->stepper->name);
235235
execute_callback(stepper_data->stepper, STEPPER_EVENT_STEPS_COMPLETED);
236236
break;
237237

238-
case TMC5041_STOP_SG_EVENT:
238+
case TMC5XXX_STOP_SG_EVENT:
239239
LOG_DBG("RAMPSTAT %s:Stall detected", stepper_data->stepper->name);
240240
stallguard_enable(stepper_data->stepper, false);
241241
execute_callback(stepper_data->stepper, STEPPER_EVENT_STALL_DETECTED);
@@ -266,9 +266,9 @@ static int tmc5041_stepper_enable(const struct device *dev, const bool enable)
266266
}
267267

268268
if (enable) {
269-
reg_value |= TMC5041_CHOPCONF_DRV_ENABLE_MASK;
269+
reg_value |= TMC5XXX_CHOPCONF_DRV_ENABLE_MASK;
270270
} else {
271-
reg_value &= ~TMC5041_CHOPCONF_DRV_ENABLE_MASK;
271+
reg_value &= ~TMC5XXX_CHOPCONF_DRV_ENABLE_MASK;
272272
}
273273

274274
err = tmc5041_write(config->controller, TMC5041_CHOPCONF(config->index), reg_value);
@@ -291,7 +291,7 @@ static int tmc5041_stepper_is_moving(const struct device *dev, bool *is_moving)
291291
return -EIO;
292292
}
293293

294-
*is_moving = (FIELD_GET(TMC5041_DRV_STATUS_STST_BIT, reg_value) != 1U);
294+
*is_moving = (FIELD_GET(TMC5XXX_DRV_STATUS_STST_BIT, reg_value) != 1U);
295295
LOG_DBG("Stepper motor controller %s is moving: %d", dev->name, *is_moving);
296296
return 0;
297297
}
@@ -318,7 +318,7 @@ static int tmc5041_stepper_move(const struct device *dev, const int32_t steps)
318318
int32_t target_position = position + steps;
319319

320320
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
321-
TMC5041_RAMPMODE_POSITIONING_MODE);
321+
TMC5XXX_RAMPMODE_POSITIONING_MODE);
322322
if (err != 0) {
323323
return -EIO;
324324
}
@@ -373,9 +373,9 @@ static int tmc5041_stepper_set_micro_step_res(const struct device *dev,
373373
return -EIO;
374374
}
375375

376-
reg_value &= ~TMC5041_CHOPCONF_MRES_MASK;
376+
reg_value &= ~TMC5XXX_CHOPCONF_MRES_MASK;
377377
reg_value |= ((MICRO_STEP_RES_INDEX(STEPPER_MICRO_STEP_256) - LOG2(res))
378-
<< TMC5041_CHOPCONF_MRES_SHIFT);
378+
<< TMC5XXX_CHOPCONF_MRES_SHIFT);
379379

380380
err = tmc5041_write(config->controller, TMC5041_CHOPCONF(config->index), reg_value);
381381
if (err != 0) {
@@ -398,8 +398,8 @@ static int tmc5041_stepper_get_micro_step_res(const struct device *dev,
398398
if (err != 0) {
399399
return -EIO;
400400
}
401-
reg_value &= TMC5041_CHOPCONF_MRES_MASK;
402-
reg_value >>= TMC5041_CHOPCONF_MRES_SHIFT;
401+
reg_value &= TMC5XXX_CHOPCONF_MRES_MASK;
402+
reg_value >>= TMC5XXX_CHOPCONF_MRES_SHIFT;
403403
*res = (1 << (MICRO_STEP_RES_INDEX(STEPPER_MICRO_STEP_256) - reg_value));
404404
LOG_DBG("Stepper motor controller %s get micro step resolution: %d", dev->name, *res);
405405
return 0;
@@ -411,7 +411,7 @@ static int tmc5041_stepper_set_actual_position(const struct device *dev, const i
411411
int err;
412412

413413
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
414-
TMC5041_RAMPMODE_HOLD_MODE);
414+
TMC5XXX_RAMPMODE_HOLD_MODE);
415415
if (err != 0) {
416416
return -EIO;
417417
}
@@ -449,7 +449,7 @@ static int tmc5041_stepper_set_target_position(const struct device *dev, const i
449449
}
450450

451451
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
452-
TMC5041_RAMPMODE_POSITIONING_MODE);
452+
TMC5XXX_RAMPMODE_POSITIONING_MODE);
453453
if (err != 0) {
454454
return -EIO;
455455
}
@@ -493,7 +493,7 @@ static int tmc5041_stepper_enable_constant_velocity_mode(const struct device *de
493493
switch (direction) {
494494
case STEPPER_DIRECTION_POSITIVE:
495495
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
496-
TMC5041_RAMPMODE_POSITIVE_VELOCITY_MODE);
496+
TMC5XXX_RAMPMODE_POSITIVE_VELOCITY_MODE);
497497
if (err != 0) {
498498
return -EIO;
499499
}
@@ -505,7 +505,7 @@ static int tmc5041_stepper_enable_constant_velocity_mode(const struct device *de
505505

506506
case STEPPER_DIRECTION_NEGATIVE:
507507
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
508-
TMC5041_RAMPMODE_NEGATIVE_VELOCITY_MODE);
508+
TMC5XXX_RAMPMODE_NEGATIVE_VELOCITY_MODE);
509509
if (err != 0) {
510510
return -EIO;
511511
}
@@ -611,15 +611,15 @@ static int tmc5041_init(const struct device *dev)
611611

612612
/* Init non motor-index specific registers here. */
613613
LOG_DBG("GCONF: %d", config->gconf);
614-
err = tmc5041_write(dev, TMC5041_GCONF, config->gconf);
614+
err = tmc5041_write(dev, TMC5XXX_GCONF, config->gconf);
615615
if (err != 0) {
616616
return -EIO;
617617
}
618618

619619
/* Read GSTAT register values to clear any errors SPI Datagram. */
620620
uint32_t gstat_value;
621621

622-
err = tmc5041_read(dev, TMC5041_GSTAT, &gstat_value);
622+
err = tmc5041_read(dev, TMC5XXX_GSTAT, &gstat_value);
623623
if (err != 0) {
624624
return -EIO;
625625
}
@@ -647,8 +647,8 @@ static int tmc5041_stepper_init(const struct device *dev)
647647

648648
LOG_DBG("Setting stall guard to %d with delay %d ms", stepper_config->sg_threshold,
649649
stepper_config->sg_velocity_check_interval_ms);
650-
if (!IN_RANGE(stepper_config->sg_threshold, TMC5041_SG_MIN_VALUE,
651-
TMC5041_SG_MAX_VALUE)) {
650+
if (!IN_RANGE(stepper_config->sg_threshold, TMC5XXX_SG_MIN_VALUE,
651+
TMC5XXX_SG_MAX_VALUE)) {
652652
LOG_ERR("Stallguard threshold out of range");
653653
return -EINVAL;
654654
}
@@ -657,7 +657,7 @@ static int tmc5041_stepper_init(const struct device *dev)
657657

658658
err = tmc5041_write(
659659
stepper_config->controller, TMC5041_COOLCONF(stepper_config->index),
660-
stall_guard_threshold << TMC5041_COOLCONF_SG2_THRESHOLD_VALUE_SHIFT);
660+
stall_guard_threshold << TMC5XXX_COOLCONF_SG2_THRESHOLD_VALUE_SHIFT);
661661
if (err != 0) {
662662
return -EIO;
663663
}

include/zephyr/drivers/stepper/stepper_trinamic.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,9 @@ struct tmc_ramp_generator_data {
144144
.tzerowait = DT_PROP(node, tzerowait), \
145145
.vcoolthrs = DT_PROP(node, vcoolthrs), \
146146
.vhigh = DT_PROP(node, vhigh), \
147-
.iholdrun = (TMC5041_IRUN(DT_PROP(node, irun)) | \
148-
TMC5041_IHOLD(DT_PROP(node, ihold)) | \
149-
TMC5041_IHOLDDELAY(DT_PROP(node, iholddelay))), \
147+
.iholdrun = (TMC5XXX_IRUN(DT_PROP(node, irun)) | \
148+
TMC5XXX_IHOLD(DT_PROP(node, ihold)) | \
149+
TMC5XXX_IHOLDDELAY(DT_PROP(node, iholddelay))), \
150150
}
151151

152152
/**

0 commit comments

Comments
 (0)