diff --git a/samples/drivers/counter/alarm/CMakeLists.txt b/samples/drivers/counter/alarm/CMakeLists.txt index 747c2b27ebd6..f0042d03ce76 100644 --- a/samples/drivers/counter/alarm/CMakeLists.txt +++ b/samples/drivers/counter/alarm/CMakeLists.txt @@ -12,3 +12,6 @@ if(CONFIG_BUILD_WITH_TFM) $/api_ns/interface/include ) endif() + + +target_include_directories(app PUBLIC "${CMAKE_SOURCE_DIR}/../../../../../modules/hal/espressif/components/soc/esp32c6/include/soc") \ No newline at end of file diff --git a/samples/drivers/counter/alarm/boards/esp32c6_devkitc.overlay b/samples/drivers/counter/alarm/boards/esp32c6_devkitc.overlay new file mode 100644 index 000000000000..8461226ca9ab --- /dev/null +++ b/samples/drivers/counter/alarm/boards/esp32c6_devkitc.overlay @@ -0,0 +1,3 @@ +&timer0 { + status = "okay"; +}; \ No newline at end of file diff --git a/samples/drivers/counter/alarm/prj.conf b/samples/drivers/counter/alarm/prj.conf index 9d51e5fcdb38..b79c9e88731a 100644 --- a/samples/drivers/counter/alarm/prj.conf +++ b/samples/drivers/counter/alarm/prj.conf @@ -1,2 +1,2 @@ CONFIG_PRINTK=y -CONFIG_COUNTER=y +CONFIG_COUNTER=y \ No newline at end of file diff --git a/samples/drivers/counter/alarm/src/main.c b/samples/drivers/counter/alarm/src/main.c index 7a345de8230b..f1252af8bdda 100644 --- a/samples/drivers/counter/alarm/src/main.c +++ b/samples/drivers/counter/alarm/src/main.c @@ -86,16 +86,16 @@ static void test_counter_interrupt_fn(const struct device *counter_dev, now_usec = counter_ticks_to_us(counter_dev, now_ticks); now_sec = (int)(now_usec / USEC_PER_SEC); - printk("!!! Alarm !!!\n"); + //printk("!!! Alarm !!!\n"); printk("Now: %u\n", now_sec); /* Set a new alarm with a double length duration */ config->ticks = config->ticks * 2U; - printk("Set alarm in %u sec (%u ticks)\n", - (uint32_t)(counter_ticks_to_us(counter_dev, - config->ticks) / USEC_PER_SEC), - config->ticks); + //printk("Set alarm in %u sec (%u ticks)\n", + // (uint32_t)(counter_ticks_to_us(counter_dev, + // config->ticks) / USEC_PER_SEC), + // config->ticks); err = counter_set_channel_alarm(counter_dev, ALARM_CHANNEL_ID, user_data); @@ -104,8 +104,58 @@ static void test_counter_interrupt_fn(const struct device *counter_dev, } } +#include "pcr_struct.h" +#include "pcr_reg.h" +#include "timer_group_struct.h" +#include "timer_group_reg.h" +#include "periph_defs.h" +#include +static volatile uint32_t global_var = 0; + +void timer1_setup(void) { + REG_SET_BIT(PCR_TIMERGROUP1_CONF_REG, PCR_TG1_CLK_EN_M); + REG_CLR_BIT(PCR_TIMERGROUP1_CONF_REG, PCR_TG1_RST_EN_M); + printk("pcr cfg %u\n", REG_READ(PCR_TIMERGROUP1_CONF_REG)); + REG_SET_BIT(PCR_TIMERGROUP1_TIMER_CLK_CONF_REG, PCR_TG1_TIMER_CLK_EN_M); + REG_SET_BIT(PCR_TIMERGROUP1_TIMER_CLK_CONF_REG, (1<