diff --git a/components/debug_probe/debug_gpio.c b/components/debug_probe/debug_gpio.c index 59c1ff6..8a77472 100644 --- a/components/debug_probe/debug_gpio.c +++ b/components/debug_probe/debug_gpio.c @@ -106,7 +106,7 @@ void debug_probe_init_swd_pins(void) .gpio_array = bundle_io_gpios, .array_size = ARRAY_SIZE(bundle_io_gpios), .flags = { - .out_en = 1, + .out_en = 0, /* We will output without dedic_gpio, or we cannot disable output */ .in_en = 1, }, }; diff --git a/components/debug_probe/debug_gpio.h b/components/debug_probe/debug_gpio.h index 2c195b2..3c15c02 100644 --- a/components/debug_probe/debug_gpio.h +++ b/components/debug_probe/debug_gpio.h @@ -103,12 +103,12 @@ void debug_probe_notify_activity(bool active); __STATIC_FORCEINLINE void debug_probe_swdio_out_enable(void) { - REG_WRITE(GPIO_FUNC0_OUT_SEL_CFG_REG + (GPIO_SWDIO * 4), dedic_gpio_conf); gpio_ll_output_enable(dedic_gpio_dev, GPIO_SWDIO); } __STATIC_FORCEINLINE void debug_probe_swdio_out_disable(void) { + REG_WRITE(GPIO_FUNC0_OUT_SEL_CFG_REG + (GPIO_SWDIO * 4), dedic_gpio_conf); gpio_ll_output_disable(dedic_gpio_dev, GPIO_SWDIO); } @@ -129,17 +129,17 @@ __STATIC_FORCEINLINE void debug_probe_swclk_clr(void) __STATIC_FORCEINLINE void debug_probe_swdio_set(void) { - dedic_gpio_cpu_ll_write_mask(GPIO_SWDIO_OUT_MASK, GPIO_SWDIO_OUT_MASK); + gpio_ll_set_level(dedic_gpio_dev, GPIO_SWDIO, 1); } __STATIC_FORCEINLINE void debug_probe_swdio_clr(void) { - dedic_gpio_cpu_ll_write_mask(GPIO_SWDIO_OUT_MASK, 0); + gpio_ll_set_level(dedic_gpio_dev, GPIO_SWDIO, 0); } __STATIC_FORCEINLINE void debug_probe_swdio_write(int val) { - dedic_gpio_cpu_ll_write_mask(GPIO_SWDIO_OUT_MASK, (val & 0x01) ? GPIO_SWDIO_OUT_MASK : 0); + gpio_ll_set_level(dedic_gpio_dev, GPIO_SWDIO, (val & 0x1)?1:0); } __STATIC_FORCEINLINE void debug_probe_swd_blink(int on)