Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 28 additions & 28 deletions drivers/stepper/adi_tmc/adi_tmc5041_stepper_controller.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ static int tmc5041_write(const struct device *dev, const uint8_t reg_addr, const

k_sem_take(&data->sem, K_FOREVER);

err = tmc_spi_write_register(&bus, TMC5041_WRITE_BIT, reg_addr, reg_val);
err = tmc_spi_write_register(&bus, TMC5XXX_WRITE_BIT, reg_addr, reg_val);

k_sem_give(&data->sem);

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

k_sem_take(&data->sem, K_FOREVER);

err = tmc_spi_read_register(&bus, TMC5041_ADDRESS_MASK, reg_addr, reg_val);
err = tmc_spi_read_register(&bus, TMC5XXX_ADDRESS_MASK, reg_addr, reg_val);

k_sem_give(&data->sem);

Expand Down Expand Up @@ -117,7 +117,7 @@ static int stallguard_enable(const struct device *dev, const bool enable)
}

if (enable) {
reg_value |= TMC5041_SW_MODE_SG_STOP_ENABLE;
reg_value |= TMC5XXX_SW_MODE_SG_STOP_ENABLE;

int32_t actual_velocity;

Expand All @@ -136,7 +136,7 @@ static int stallguard_enable(const struct device *dev, const bool enable)
return -EAGAIN;
}
} else {
reg_value &= ~TMC5041_SW_MODE_SG_STOP_ENABLE;
reg_value &= ~TMC5XXX_SW_MODE_SG_STOP_ENABLE;
}
err = tmc5041_write(config->controller, TMC5041_SWMODE(config->index), reg_value);
if (err) {
Expand Down Expand Up @@ -193,11 +193,11 @@ static void rampstat_work_handler(struct k_work *work)

tmc5041_read(stepper_config->controller, TMC5041_DRVSTATUS(stepper_config->index),
&drv_status);
if (FIELD_GET(TMC5041_DRV_STATUS_SG_STATUS_MASK, drv_status) == 1U) {
if (FIELD_GET(TMC5XXX_DRV_STATUS_SG_STATUS_MASK, drv_status) == 1U) {
LOG_INF("%s: Stall detected", stepper_data->stepper->name);
err = tmc5041_write(stepper_config->controller,
TMC5041_RAMPMODE(stepper_config->index),
TMC5041_RAMPMODE_HOLD_MODE);
TMC5XXX_RAMPMODE_HOLD_MODE);
if (err != 0) {
LOG_ERR("%s: Failed to stop motor", stepper_data->stepper->name);
return;
Expand All @@ -213,29 +213,29 @@ static void rampstat_work_handler(struct k_work *work)
return;
}

const uint8_t ramp_stat_values = FIELD_GET(TMC5041_RAMPSTAT_INT_MASK, rampstat_value);
const uint8_t ramp_stat_values = FIELD_GET(TMC5XXX_RAMPSTAT_INT_MASK, rampstat_value);

if (ramp_stat_values > 0) {
switch (ramp_stat_values) {

case TMC5041_STOP_LEFT_EVENT:
case TMC5XXX_STOP_LEFT_EVENT:
LOG_DBG("RAMPSTAT %s:Left end-stop detected", stepper_data->stepper->name);
execute_callback(stepper_data->stepper,
STEPPER_EVENT_LEFT_END_STOP_DETECTED);
break;

case TMC5041_STOP_RIGHT_EVENT:
case TMC5XXX_STOP_RIGHT_EVENT:
LOG_DBG("RAMPSTAT %s:Right end-stop detected", stepper_data->stepper->name);
execute_callback(stepper_data->stepper,
STEPPER_EVENT_RIGHT_END_STOP_DETECTED);
break;

case TMC5041_POS_REACHED_EVENT:
case TMC5XXX_POS_REACHED_EVENT:
LOG_DBG("RAMPSTAT %s:Position reached", stepper_data->stepper->name);
execute_callback(stepper_data->stepper, STEPPER_EVENT_STEPS_COMPLETED);
break;

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

if (enable) {
reg_value |= TMC5041_CHOPCONF_DRV_ENABLE_MASK;
reg_value |= TMC5XXX_CHOPCONF_DRV_ENABLE_MASK;
} else {
reg_value &= ~TMC5041_CHOPCONF_DRV_ENABLE_MASK;
reg_value &= ~TMC5XXX_CHOPCONF_DRV_ENABLE_MASK;
}

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

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

err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_POSITIONING_MODE);
TMC5XXX_RAMPMODE_POSITIONING_MODE);
if (err != 0) {
return -EIO;
}
Expand Down Expand Up @@ -373,9 +373,9 @@ static int tmc5041_stepper_set_micro_step_res(const struct device *dev,
return -EIO;
}

reg_value &= ~TMC5041_CHOPCONF_MRES_MASK;
reg_value &= ~TMC5XXX_CHOPCONF_MRES_MASK;
reg_value |= ((MICRO_STEP_RES_INDEX(STEPPER_MICRO_STEP_256) - LOG2(res))
<< TMC5041_CHOPCONF_MRES_SHIFT);
<< TMC5XXX_CHOPCONF_MRES_SHIFT);

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

err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_HOLD_MODE);
TMC5XXX_RAMPMODE_HOLD_MODE);
if (err != 0) {
return -EIO;
}
Expand Down Expand Up @@ -449,7 +449,7 @@ static int tmc5041_stepper_set_target_position(const struct device *dev, const i
}

err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_POSITIONING_MODE);
TMC5XXX_RAMPMODE_POSITIONING_MODE);
if (err != 0) {
return -EIO;
}
Expand Down Expand Up @@ -493,7 +493,7 @@ static int tmc5041_stepper_enable_constant_velocity_mode(const struct device *de
switch (direction) {
case STEPPER_DIRECTION_POSITIVE:
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_POSITIVE_VELOCITY_MODE);
TMC5XXX_RAMPMODE_POSITIVE_VELOCITY_MODE);
if (err != 0) {
return -EIO;
}
Expand All @@ -505,7 +505,7 @@ static int tmc5041_stepper_enable_constant_velocity_mode(const struct device *de

case STEPPER_DIRECTION_NEGATIVE:
err = tmc5041_write(config->controller, TMC5041_RAMPMODE(config->index),
TMC5041_RAMPMODE_NEGATIVE_VELOCITY_MODE);
TMC5XXX_RAMPMODE_NEGATIVE_VELOCITY_MODE);
if (err != 0) {
return -EIO;
}
Expand Down Expand Up @@ -611,15 +611,15 @@ static int tmc5041_init(const struct device *dev)

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

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

err = tmc5041_read(dev, TMC5041_GSTAT, &gstat_value);
err = tmc5041_read(dev, TMC5XXX_GSTAT, &gstat_value);
if (err != 0) {
return -EIO;
}
Expand Down Expand Up @@ -647,8 +647,8 @@ static int tmc5041_stepper_init(const struct device *dev)

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

err = tmc5041_write(
stepper_config->controller, TMC5041_COOLCONF(stepper_config->index),
stall_guard_threshold << TMC5041_COOLCONF_SG2_THRESHOLD_VALUE_SHIFT);
stall_guard_threshold << TMC5XXX_COOLCONF_SG2_THRESHOLD_VALUE_SHIFT);
if (err != 0) {
return -EIO;
}
Expand Down
118 changes: 58 additions & 60 deletions drivers/stepper/adi_tmc/adi_tmc_reg.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,64 @@
/** Common Registers for TMC5041 and TMC51XX */
#if defined(CONFIG_STEPPER_ADI_TMC5041)

#define TMC5XXX_CLOCK_FREQ_SHIFT 24
#define TMC5XXX_WRITE_BIT 0x80U
#define TMC5XXX_ADDRESS_MASK 0x7FU

#define TMC5XXX_CLOCK_FREQ_SHIFT 24

Check notice on line 27 in drivers/stepper/adi_tmc/adi_tmc_reg.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

drivers/stepper/adi_tmc/adi_tmc_reg.h:27 -#define TMC5XXX_WRITE_BIT 0x80U -#define TMC5XXX_ADDRESS_MASK 0x7FU +#define TMC5XXX_WRITE_BIT 0x80U +#define TMC5XXX_ADDRESS_MASK 0x7FU - #define TMC5XXX_CLOCK_FREQ_SHIFT 24 +#define TMC5XXX_CLOCK_FREQ_SHIFT 24
#define TMC5XXX_GCONF 0x00
#define TMC5XXX_GSTAT 0x01

#define TMC5XXX_RAMPMODE_POSITIONING_MODE 0
#define TMC5XXX_RAMPMODE_POSITIVE_VELOCITY_MODE 1
#define TMC5XXX_RAMPMODE_NEGATIVE_VELOCITY_MODE 2
#define TMC5XXX_RAMPMODE_HOLD_MODE 3

#define TMC5XXX_SG_MIN_VALUE -64
#define TMC5XXX_SG_MAX_VALUE 63
#define TMC5XXX_SW_MODE_SG_STOP_ENABLE BIT(10)

Check notice on line 38 in drivers/stepper/adi_tmc/adi_tmc_reg.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

drivers/stepper/adi_tmc/adi_tmc_reg.h:38 -#define TMC5XXX_SG_MIN_VALUE -64 -#define TMC5XXX_SG_MAX_VALUE 63 +#define TMC5XXX_SG_MIN_VALUE -64 +#define TMC5XXX_SG_MAX_VALUE 63

#define TMC5XXX_COOLCONF_SG2_THRESHOLD_VALUE_SHIFT 16

#define TMC5XXX_IHOLD_MASK GENMASK(4, 0)
#define TMC5XXX_IHOLD_SHIFT 0
#define TMC5XXX_IHOLD(n) (((n) << TMC5XXX_IHOLD_SHIFT) & TMC5XXX_IHOLD_MASK)

#define TMC5XXX_IRUN_MASK GENMASK(12, 8)
#define TMC5XXX_IRUN_SHIFT 8
#define TMC5XXX_IRUN(n) (((n) << TMC5XXX_IRUN_SHIFT) & TMC5XXX_IRUN_MASK)

#define TMC5XXX_IHOLDDELAY_MASK GENMASK(19, 16)
#define TMC5XXX_IHOLDDELAY_SHIFT 16
#define TMC5XXX_IHOLDDELAY(n) (((n) << TMC5XXX_IHOLDDELAY_SHIFT) & TMC5XXX_IHOLDDELAY_MASK)

#define TMC5XXX_CHOPCONF_DRV_ENABLE_MASK GENMASK(3, 0)
#define TMC5XXX_CHOPCONF_MRES_MASK GENMASK(27, 24)
#define TMC5XXX_CHOPCONF_MRES_SHIFT 24

#define TMC5XXX_RAMPSTAT_INT_MASK GENMASK(7, 4)
#define TMC5XXX_RAMPSTAT_INT_SHIFT 4

#define TMC5XXX_RAMPSTAT_POS_REACHED_EVENT_MASK BIT(7)
#define TMC5XXX_POS_REACHED_EVENT \
(TMC5XXX_RAMPSTAT_POS_REACHED_EVENT_MASK >> TMC5XXX_RAMPSTAT_INT_SHIFT)

#define TMC5XXX_RAMPSTAT_STOP_SG_EVENT_MASK BIT(6)
#define TMC5XXX_STOP_SG_EVENT \
(TMC5XXX_RAMPSTAT_STOP_SG_EVENT_MASK >> TMC5XXX_RAMPSTAT_INT_SHIFT)

Check notice on line 68 in drivers/stepper/adi_tmc/adi_tmc_reg.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

drivers/stepper/adi_tmc/adi_tmc_reg.h:68 -#define TMC5XXX_STOP_SG_EVENT \ - (TMC5XXX_RAMPSTAT_STOP_SG_EVENT_MASK >> TMC5XXX_RAMPSTAT_INT_SHIFT) +#define TMC5XXX_STOP_SG_EVENT (TMC5XXX_RAMPSTAT_STOP_SG_EVENT_MASK >> TMC5XXX_RAMPSTAT_INT_SHIFT)
#define TMC5XXX_RAMPSTAT_STOP_RIGHT_EVENT_MASK BIT(5)
#define TMC5XXX_STOP_RIGHT_EVENT \
(TMC5XXX_RAMPSTAT_STOP_RIGHT_EVENT_MASK >> TMC5XXX_RAMPSTAT_INT_SHIFT)

#define TMC5XXX_RAMPSTAT_STOP_LEFT_EVENT_MASK BIT(4)
#define TMC5XXX_STOP_LEFT_EVENT \
(TMC5XXX_RAMPSTAT_STOP_LEFT_EVENT_MASK >> TMC5XXX_RAMPSTAT_INT_SHIFT)

#define TMC5XXX_DRV_STATUS_STST_BIT BIT(31)
#define TMC5XXX_DRV_STATUS_SG_RESULT_MASK GENMASK(9, 0)
#define TMC5XXX_DRV_STATUS_SG_STATUS_MASK BIT(24)
#define TMC5XXX_DRV_STATUS_SG_STATUS_SHIFT 24

#endif

Expand All @@ -37,19 +94,11 @@
* @{
*/

#define TMC5041_WRITE_BIT 0x80U
#define TMC5041_ADDRESS_MASK 0x7FU

#define TMC5041_GCONF_POSCMP_ENABLE_SHIFT 3
#define TMC5041_GCONF_TEST_MODE_SHIFT 7
#define TMC5041_GCONF_SHAFT_SHIFT(n) ((n) ? 8 : 9)
#define TMC5041_LOCK_GCONF_SHIFT 10

#define TMC5041_GCONF 0x00
#define TMC5041_GSTAT 0x01
#define TMC5041_INPUT 0x04
#define TMC5041_X_COMPARE 0x05

#define TMC5041_PWMCONF(motor) (0x10 | TMC5041_MOTOR_ADDR_PWM(motor))
#define TMC5041_PWM_STATUS(motor) (0x11 | TMC5041_MOTOR_ADDR_PWM(motor))

Expand Down Expand Up @@ -89,57 +138,6 @@
#define TMC5041_COOLCONF(motor) (0x6D | TMC5041_MOTOR_ADDR_DRV(motor))
#define TMC5041_DRVSTATUS(motor) (0x6F | TMC5041_MOTOR_ADDR_DRV(motor))

#define TMC5041_RAMPMODE_POSITIONING_MODE 0
#define TMC5041_RAMPMODE_POSITIVE_VELOCITY_MODE 1
#define TMC5041_RAMPMODE_NEGATIVE_VELOCITY_MODE 2
#define TMC5041_RAMPMODE_HOLD_MODE 3

#define TMC5041_SW_MODE_SG_STOP_ENABLE BIT(10)

#define TMC5041_RAMPSTAT_INT_MASK GENMASK(7, 4)
#define TMC5041_RAMPSTAT_INT_SHIFT 4

#define TMC5041_RAMPSTAT_POS_REACHED_EVENT_MASK BIT(7)
#define TMC5041_POS_REACHED_EVENT \
(TMC5041_RAMPSTAT_POS_REACHED_EVENT_MASK >> TMC5041_RAMPSTAT_INT_SHIFT)

#define TMC5041_RAMPSTAT_STOP_SG_EVENT_MASK BIT(6)
#define TMC5041_STOP_SG_EVENT (TMC5041_RAMPSTAT_STOP_SG_EVENT_MASK >> TMC5041_RAMPSTAT_INT_SHIFT)

#define TMC5041_RAMPSTAT_STOP_RIGHT_EVENT_MASK BIT(5)
#define TMC5041_STOP_RIGHT_EVENT \
(TMC5041_RAMPSTAT_STOP_RIGHT_EVENT_MASK >> TMC5041_RAMPSTAT_INT_SHIFT)

#define TMC5041_RAMPSTAT_STOP_LEFT_EVENT_MASK BIT(4)
#define TMC5041_STOP_LEFT_EVENT \
(TMC5041_RAMPSTAT_STOP_LEFT_EVENT_MASK >> TMC5041_RAMPSTAT_INT_SHIFT)

#define TMC5041_DRV_STATUS_STST_BIT BIT(31)
#define TMC5041_DRV_STATUS_SG_RESULT_MASK GENMASK(9, 0)
#define TMC5041_DRV_STATUS_SG_STATUS_MASK BIT(24)
#define TMC5041_DRV_STATUS_SG_STATUS_SHIFT 24

#define TMC5041_SG_MIN_VALUE -64
#define TMC5041_SG_MAX_VALUE 63

#define TMC5041_COOLCONF_SG2_THRESHOLD_VALUE_SHIFT 16

#define TMC5041_IHOLD_MASK GENMASK(4, 0)
#define TMC5041_IHOLD_SHIFT 0
#define TMC5041_IHOLD(n) (((n) << TMC5041_IHOLD_SHIFT) & TMC5041_IHOLD_MASK)

#define TMC5041_IRUN_MASK GENMASK(12, 8)
#define TMC5041_IRUN_SHIFT 8
#define TMC5041_IRUN(n) (((n) << TMC5041_IRUN_SHIFT) & TMC5041_IRUN_MASK)

#define TMC5041_IHOLDDELAY_MASK GENMASK(19, 16)
#define TMC5041_IHOLDDELAY_SHIFT 16
#define TMC5041_IHOLDDELAY(n) (((n) << TMC5041_IHOLDDELAY_SHIFT) & TMC5041_IHOLDDELAY_MASK)

#define TMC5041_CHOPCONF_DRV_ENABLE_MASK GENMASK(3, 0)
#define TMC5041_CHOPCONF_MRES_MASK GENMASK(27, 24)
#define TMC5041_CHOPCONF_MRES_SHIFT 24

#endif

/**
Expand Down
6 changes: 3 additions & 3 deletions include/zephyr/drivers/stepper/stepper_trinamic.h
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,10 @@
.tzerowait = DT_PROP(node, tzerowait), \
.vcoolthrs = DT_PROP(node, vcoolthrs), \
.vhigh = DT_PROP(node, vhigh), \
.iholdrun = (TMC5041_IRUN(DT_PROP(node, irun)) | \
TMC5041_IHOLD(DT_PROP(node, ihold)) | \
TMC5041_IHOLDDELAY(DT_PROP(node, iholddelay))), \
.iholdrun = (TMC5XXX_IRUN(DT_PROP(node, irun)) | \
TMC5XXX_IHOLD(DT_PROP(node, ihold)) | \
TMC5XXX_IHOLDDELAY(DT_PROP(node, iholddelay))), \
}

Check notice on line 150 in include/zephyr/drivers/stepper/stepper_trinamic.h

View workflow job for this annotation

GitHub Actions / Run compliance checks on patch series (PR)

You may want to run clang-format on this change

include/zephyr/drivers/stepper/stepper_trinamic.h:150 -#define TMC_RAMP_DT_SPEC_GET(node) \ - { \ - .vstart = DT_PROP(node, vstart), \ - .v1 = DT_PROP(node, v1), \ - .vmax = DT_PROP(node, vmax), \ - .a1 = DT_PROP(node, a1), \ - .amax = DT_PROP(node, amax), \ - .d1 = DT_PROP(node, d1), \ - .dmax = DT_PROP(node, dmax), \ - .vstop = DT_PROP(node, vstop), \ - .tzerowait = DT_PROP(node, tzerowait), \ - .vcoolthrs = DT_PROP(node, vcoolthrs), \ - .vhigh = DT_PROP(node, vhigh), \ - .iholdrun = (TMC5XXX_IRUN(DT_PROP(node, irun)) | \ - TMC5XXX_IHOLD(DT_PROP(node, ihold)) | \ - TMC5XXX_IHOLDDELAY(DT_PROP(node, iholddelay))), \ +#define TMC_RAMP_DT_SPEC_GET(node) \ + { \ + .vstart = DT_PROP(node, vstart), \ + .v1 = DT_PROP(node, v1), \ + .vmax = DT_PROP(node, vmax), \ + .a1 = DT_PROP(node, a1), \ + .amax = DT_PROP(node, amax), \ + .d1 = DT_PROP(node, d1), \ + .dmax = DT_PROP(node, dmax), \ + .vstop = DT_PROP(node, vstop), \ + .tzerowait = DT_PROP(node, tzerowait), \ + .vcoolthrs = DT_PROP(node, vcoolthrs), \ + .vhigh = DT_PROP(node, vhigh), \ + .iholdrun = \ + (TMC5XXX_IRUN(DT_PROP(node, irun)) | TMC5XXX_IHOLD(DT_PROP(node, ihold)) | \ + TMC5XXX_IHOLDDELAY(DT_PROP(node, iholddelay))), \

/**
* @brief Configure Trinamic Stepper Ramp Generator
Expand Down
Loading