From 91a1b59c955d888c5503f90ca68d73ceb1d2663f Mon Sep 17 00:00:00 2001 From: Chun-Chieh Li Date: Thu, 11 May 2023 16:22:43 +0800 Subject: [PATCH] Nuvoton: Enable extending sampling time for ADC/EADC For all Nuvoton targets, enable extending sampling time in ADC/EADC clocks on per-pin basis. --- .../TARGET_M2354/analogin_api.c | 25 +++++++++++++++++ .../TARGET_NUVOTON/TARGET_M251/analogin_api.c | 25 +++++++++++++++++ .../TARGET_NUVOTON/TARGET_M261/analogin_api.c | 25 +++++++++++++++++ .../TARGET_NUVOTON/TARGET_M451/analogin_api.c | 27 ++++++++++++++++++- .../TARGET_NUVOTON/TARGET_M460/analogin_api.c | 25 +++++++++++++++++ .../TARGET_NUVOTON/TARGET_M480/analogin_api.c | 25 +++++++++++++++++ .../TARGET_NANO100/analogin_api.c | 25 +++++++++++++++++ .../TARGET_NUC472/analogin_api.c | 25 +++++++++++++++++ targets/targets.json | 24 +++++++++++++++++ 9 files changed, 225 insertions(+), 1 deletion(-) diff --git a/targets/TARGET_NUVOTON/TARGET_M2354/analogin_api.c b/targets/TARGET_NUVOTON/TARGET_M2354/analogin_api.c index 6b380a69012..7d4bcf3b00d 100644 --- a/targets/TARGET_NUVOTON/TARGET_M2354/analogin_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M2354/analogin_api.c @@ -25,6 +25,7 @@ #include "PeripheralPins.h" #include "gpio_api.h" #include "nu_modutil.h" +#include "hal/PinNameAliases.h" static uint32_t eadc_modinit_mask = 0; @@ -47,6 +48,18 @@ static const struct nu_modinit_s adc_modinit_tab[] = { {ADC_0_15, EADC_MODULE, 0, CLK_CLKDIV0_EADC(8), EADC_RST, EADC0_IRQn, NULL}, }; +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) +/* Structure for extending sampling time on per-pin basis */ +struct nu_eadc_extsmpt { + PinName pin; + uint32_t value; +}; + +static struct nu_eadc_extsmpt eadc_extsmpt_arr[] = { + MBED_CONF_TARGET_EADC_EXTSMPT_LIST +}; +#endif + void analogin_init(analogin_t *obj, PinName pin) { obj->adc = (ADCName) pinmap_peripheral(pin, PinMap_ADC); @@ -92,6 +105,18 @@ void analogin_init(analogin_t *obj, PinName pin) // Configure the sample module Nmod for analog input channel Nch and software trigger source EADC_ConfigSampleModule(eadc_base, chn, EADC_SOFTWARE_TRIGGER, chn); +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) + // Extend sampling time in EADC clocks on per-pin basis + struct nu_eadc_extsmpt *eadc_extsmpt_pos = eadc_extsmpt_arr; + struct nu_eadc_extsmpt *eadc_extsmpt_end = eadc_extsmpt_arr + sizeof (eadc_extsmpt_arr) / sizeof (eadc_extsmpt_arr[0]); + for (; eadc_extsmpt_pos != eadc_extsmpt_end; eadc_extsmpt_pos ++) { + if (eadc_extsmpt_pos->pin == pin) { + EADC_SetExtendSampleTime(eadc_base, chn, eadc_extsmpt_pos->value); + break; + } + } +#endif + eadc_modinit_mask |= 1 << chn; } diff --git a/targets/TARGET_NUVOTON/TARGET_M251/analogin_api.c b/targets/TARGET_NUVOTON/TARGET_M251/analogin_api.c index 5009ffa997a..3ffc27b4b26 100644 --- a/targets/TARGET_NUVOTON/TARGET_M251/analogin_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M251/analogin_api.c @@ -24,6 +24,7 @@ #include "pinmap.h" #include "PeripheralPins.h" #include "nu_modutil.h" +#include "hal/PinNameAliases.h" static uint32_t eadc_modinit_mask = 0; @@ -46,6 +47,18 @@ static const struct nu_modinit_s adc_modinit_tab[] = { {ADC_0_15, EADC_MODULE, 0, CLK_CLKDIV0_EADC(8), EADC_RST, EADC_INT0_IRQn, NULL}, }; +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) +/* Structure for extending sampling time on per-pin basis */ +struct nu_eadc_extsmpt { + PinName pin; + uint32_t value; +}; + +static struct nu_eadc_extsmpt eadc_extsmpt_arr[] = { + MBED_CONF_TARGET_EADC_EXTSMPT_LIST +}; +#endif + void analogin_init(analogin_t *obj, PinName pin) { obj->adc = (ADCName) pinmap_peripheral(pin, PinMap_ADC); @@ -90,6 +103,18 @@ void analogin_init(analogin_t *obj, PinName pin) */ EADC_SetExtendSampleTime(eadc_base, chn, 10); +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) + // Extend sampling time in EADC clocks on per-pin basis + struct nu_eadc_extsmpt *eadc_extsmpt_pos = eadc_extsmpt_arr; + struct nu_eadc_extsmpt *eadc_extsmpt_end = eadc_extsmpt_arr + sizeof (eadc_extsmpt_arr) / sizeof (eadc_extsmpt_arr[0]); + for (; eadc_extsmpt_pos != eadc_extsmpt_end; eadc_extsmpt_pos ++) { + if (eadc_extsmpt_pos->pin == pin) { + EADC_SetExtendSampleTime(eadc_base, chn, eadc_extsmpt_pos->value); + break; + } + } +#endif + eadc_modinit_mask |= 1 << chn; } diff --git a/targets/TARGET_NUVOTON/TARGET_M261/analogin_api.c b/targets/TARGET_NUVOTON/TARGET_M261/analogin_api.c index 48b94b694a1..36cea1f003a 100644 --- a/targets/TARGET_NUVOTON/TARGET_M261/analogin_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M261/analogin_api.c @@ -23,6 +23,7 @@ #include "pinmap.h" #include "PeripheralPins.h" #include "nu_modutil.h" +#include "hal/PinNameAliases.h" static uint32_t eadc_modinit_mask = 0; @@ -45,6 +46,18 @@ static const struct nu_modinit_s adc_modinit_tab[] = { {ADC_0_15, EADC_MODULE, 0, CLK_CLKDIV0_EADC(8), EADC_RST, EADC0_IRQn, NULL}, }; +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) +/* Structure for extending sampling time on per-pin basis */ +struct nu_eadc_extsmpt { + PinName pin; + uint32_t value; +}; + +static struct nu_eadc_extsmpt eadc_extsmpt_arr[] = { + MBED_CONF_TARGET_EADC_EXTSMPT_LIST +}; +#endif + void analogin_init(analogin_t *obj, PinName pin) { obj->adc = (ADCName) pinmap_peripheral(pin, PinMap_ADC); @@ -81,6 +94,18 @@ void analogin_init(analogin_t *obj, PinName pin) // Configure the sample module Nmod for analog input channel Nch and software trigger source EADC_ConfigSampleModule(eadc_base, chn, EADC_SOFTWARE_TRIGGER, chn); +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) + // Extend sampling time in EADC clocks on per-pin basis + struct nu_eadc_extsmpt *eadc_extsmpt_pos = eadc_extsmpt_arr; + struct nu_eadc_extsmpt *eadc_extsmpt_end = eadc_extsmpt_arr + sizeof (eadc_extsmpt_arr) / sizeof (eadc_extsmpt_arr[0]); + for (; eadc_extsmpt_pos != eadc_extsmpt_end; eadc_extsmpt_pos ++) { + if (eadc_extsmpt_pos->pin == pin) { + EADC_SetExtendSampleTime(eadc_base, chn, eadc_extsmpt_pos->value); + break; + } + } +#endif + eadc_modinit_mask |= 1 << chn; } diff --git a/targets/TARGET_NUVOTON/TARGET_M451/analogin_api.c b/targets/TARGET_NUVOTON/TARGET_M451/analogin_api.c index 7eebaf37ba0..b559d77aa11 100644 --- a/targets/TARGET_NUVOTON/TARGET_M451/analogin_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M451/analogin_api.c @@ -22,6 +22,7 @@ #include "pinmap.h" #include "PeripheralPins.h" #include "nu_modutil.h" +#include "hal/PinNameAliases.h" static uint32_t eadc_modinit_mask = 0; @@ -44,6 +45,18 @@ static const struct nu_modinit_s adc_modinit_tab[] = { {ADC_0_15, EADC_MODULE, 0, CLK_CLKDIV0_EADC(8), EADC_RST, ADC00_IRQn, NULL}, }; +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) +/* Structure for extending sampling time on per-pin basis */ +struct nu_eadc_extsmpt { + PinName pin; + uint32_t value; +}; + +static struct nu_eadc_extsmpt eadc_extsmpt_arr[] = { + MBED_CONF_TARGET_EADC_EXTSMPT_LIST +}; +#endif + void analogin_init(analogin_t *obj, PinName pin) { obj->adc = (ADCName) pinmap_peripheral(pin, PinMap_ADC); @@ -80,7 +93,19 @@ void analogin_init(analogin_t *obj, PinName pin) // Configure the sample module Nmod for analog input channel Nch and software trigger source EADC_ConfigSampleModule(eadc_base, chn, EADC_SOFTWARE_TRIGGER, chn); - + + #if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) + // Extend sampling time in EADC clocks on per-pin basis + struct nu_eadc_extsmpt *eadc_extsmpt_pos = eadc_extsmpt_arr; + struct nu_eadc_extsmpt *eadc_extsmpt_end = eadc_extsmpt_arr + sizeof (eadc_extsmpt_arr) / sizeof (eadc_extsmpt_arr[0]); + for (; eadc_extsmpt_pos != eadc_extsmpt_end; eadc_extsmpt_pos ++) { + if (eadc_extsmpt_pos->pin == pin) { + EADC_SetExtendSampleTime(eadc_base, chn, eadc_extsmpt_pos->value); + break; + } + } +#endif + eadc_modinit_mask |= 1 << chn; } diff --git a/targets/TARGET_NUVOTON/TARGET_M460/analogin_api.c b/targets/TARGET_NUVOTON/TARGET_M460/analogin_api.c index bf6aeca4121..d0d01c43b7b 100644 --- a/targets/TARGET_NUVOTON/TARGET_M460/analogin_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M460/analogin_api.c @@ -25,6 +25,7 @@ #include "PeripheralPins.h" #include "gpio_api.h" #include "nu_modutil.h" +#include "hal/PinNameAliases.h" static uint32_t eadc_modinit_mask = 0; @@ -84,6 +85,18 @@ static const struct nu_modinit_s adc_modinit_tab[] = { {ADC_2_15, EADC2_MODULE, CLK_CLKSEL0_EADC2SEL_HCLK, CLK_CLKDIV5_EADC2(8), EADC2_RST, EADC20_IRQn, NULL}, }; +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) +/* Structure for extending sampling time on per-pin basis */ +struct nu_eadc_extsmpt { + PinName pin; + uint32_t value; +}; + +static struct nu_eadc_extsmpt eadc_extsmpt_arr[] = { + MBED_CONF_TARGET_EADC_EXTSMPT_LIST +}; +#endif + void analogin_init(analogin_t *obj, PinName pin) { obj->adc = (ADCName) pinmap_peripheral(pin, PinMap_ADC); @@ -126,6 +139,18 @@ void analogin_init(analogin_t *obj, PinName pin) // Configure the sample module Nmod for analog input channel Nch and software trigger source EADC_ConfigSampleModule(eadc_base, chn, EADC_SOFTWARE_TRIGGER, chn); +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) + // Extend sampling time in EADC clocks on per-pin basis + struct nu_eadc_extsmpt *eadc_extsmpt_pos = eadc_extsmpt_arr; + struct nu_eadc_extsmpt *eadc_extsmpt_end = eadc_extsmpt_arr + sizeof (eadc_extsmpt_arr) / sizeof (eadc_extsmpt_arr[0]); + for (; eadc_extsmpt_pos != eadc_extsmpt_end; eadc_extsmpt_pos ++) { + if (eadc_extsmpt_pos->pin == pin) { + EADC_SetExtendSampleTime(eadc_base, chn, eadc_extsmpt_pos->value); + break; + } + } +#endif + eadc_modinit_mask |= 1 << chn; } diff --git a/targets/TARGET_NUVOTON/TARGET_M480/analogin_api.c b/targets/TARGET_NUVOTON/TARGET_M480/analogin_api.c index 6212da074c9..9510d4d855b 100644 --- a/targets/TARGET_NUVOTON/TARGET_M480/analogin_api.c +++ b/targets/TARGET_NUVOTON/TARGET_M480/analogin_api.c @@ -25,6 +25,7 @@ #include "PeripheralPins.h" #include "gpio_api.h" #include "nu_modutil.h" +#include "hal/PinNameAliases.h" static uint32_t eadc_modinit_mask = 0; @@ -66,6 +67,18 @@ static const struct nu_modinit_s adc_modinit_tab[] = { {ADC_1_15, EADC1_MODULE, 0, CLK_CLKDIV2_EADC1(8), EADC1_RST, EADC10_IRQn, NULL}, }; +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) +/* Structure for extending sampling time on per-pin basis */ +struct nu_eadc_extsmpt { + PinName pin; + uint32_t value; +}; + +static struct nu_eadc_extsmpt eadc_extsmpt_arr[] = { + MBED_CONF_TARGET_EADC_EXTSMPT_LIST +}; +#endif + void analogin_init(analogin_t *obj, PinName pin) { obj->adc = (ADCName) pinmap_peripheral(pin, PinMap_ADC); @@ -102,6 +115,18 @@ void analogin_init(analogin_t *obj, PinName pin) // Configure the sample module Nmod for analog input channel Nch and software trigger source EADC_ConfigSampleModule(eadc_base, chn, EADC_SOFTWARE_TRIGGER, chn); +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) + // Extend sampling time in EADC clocks on per-pin basis + struct nu_eadc_extsmpt *eadc_extsmpt_pos = eadc_extsmpt_arr; + struct nu_eadc_extsmpt *eadc_extsmpt_end = eadc_extsmpt_arr + sizeof (eadc_extsmpt_arr) / sizeof (eadc_extsmpt_arr[0]); + for (; eadc_extsmpt_pos != eadc_extsmpt_end; eadc_extsmpt_pos ++) { + if (eadc_extsmpt_pos->pin == pin) { + EADC_SetExtendSampleTime(eadc_base, chn, eadc_extsmpt_pos->value); + break; + } + } +#endif + eadc_modinit_mask |= 1 << chn; } diff --git a/targets/TARGET_NUVOTON/TARGET_NANO100/analogin_api.c b/targets/TARGET_NUVOTON/TARGET_NANO100/analogin_api.c index df501465004..2ca7160ceee 100644 --- a/targets/TARGET_NUVOTON/TARGET_NANO100/analogin_api.c +++ b/targets/TARGET_NUVOTON/TARGET_NANO100/analogin_api.c @@ -23,6 +23,7 @@ #include "pinmap.h" #include "PeripheralPins.h" #include "nu_modutil.h" +#include "hal/PinNameAliases.h" static uint32_t adc_modinit_mask = 0; @@ -41,6 +42,18 @@ static const struct nu_modinit_s adc_modinit_tab[] = { {ADC_0_11, ADC_MODULE, CLK_CLKSEL1_ADC_S_HIRC, CLK_ADC_CLK_DIVIDER(1), ADC_RST, ADC_IRQn, NULL}, }; +#if defined(MBED_CONF_TARGET_ADC_SMPLCNT_LIST) +/* Structure for extending sampling time on per-pin basis */ +struct nu_eadc_smplcnt { + PinName pin; + uint32_t value; +}; + +static struct nu_eadc_smplcnt eadc_smplcnt_arr[] = { + MBED_CONF_TARGET_ADC_SMPLCNT_LIST +}; +#endif + void analogin_init(analogin_t *obj, PinName pin) { obj->adc = (ADCName) pinmap_peripheral(pin, PinMap_ADC); @@ -82,6 +95,18 @@ void analogin_init(analogin_t *obj, PinName pin) adc_base->CHEN |= 1 << chn; } +#if defined(MBED_CONF_TARGET_ADC_SMPLCNT_LIST) + // Extend sampling time in EADC clocks on per-pin basis + struct nu_eadc_smplcnt *eadc_extsmpt_pos = eadc_smplcnt_arr; + struct nu_eadc_smplcnt *eadc_extsmpt_end = eadc_smplcnt_arr + sizeof (eadc_smplcnt_arr) / sizeof (eadc_smplcnt_arr[0]); + for (; eadc_extsmpt_pos != eadc_extsmpt_end; eadc_extsmpt_pos ++) { + if (eadc_extsmpt_pos->pin == pin) { + ADC_SetExtraSampleTime(adc_base, chn, eadc_extsmpt_pos->value); + break; + } + } +#endif + adc_modinit_mask |= 1 << chn; } diff --git a/targets/TARGET_NUVOTON/TARGET_NUC472/analogin_api.c b/targets/TARGET_NUVOTON/TARGET_NUC472/analogin_api.c index fc99b148fe6..88bfd03b919 100644 --- a/targets/TARGET_NUVOTON/TARGET_NUC472/analogin_api.c +++ b/targets/TARGET_NUVOTON/TARGET_NUC472/analogin_api.c @@ -22,6 +22,7 @@ #include "pinmap.h" #include "PeripheralPins.h" #include "nu_modutil.h" +#include "hal/PinNameAliases.h" static uint32_t eadc_modinit_mask = 0; @@ -45,6 +46,18 @@ static const struct nu_modinit_s adc_modinit_tab[] = { {ADC_1_7, EADC_MODULE, CLK_CLKSEL1_ADCSEL_PLL, CLK_CLKDIV0_ADC(5), ADC_RST, EADC0_IRQn, NULL} }; +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) +/* Structure for extending sampling time on per-pin basis */ +struct nu_eadc_extsmpt { + PinName pin; + uint32_t value; +}; + +static struct nu_eadc_extsmpt eadc_extsmpt_arr[] = { + MBED_CONF_TARGET_EADC_EXTSMPT_LIST +}; +#endif + void analogin_init(analogin_t *obj, PinName pin) { obj->adc = (ADCName) pinmap_peripheral(pin, PinMap_ADC); @@ -82,6 +95,18 @@ void analogin_init(analogin_t *obj, PinName pin) // Configure the sample module Nmod for analog input channel Nch and software trigger source EADC_ConfigSampleModule(eadc_base, smp_mod, EADC_SOFTWARE_TRIGGER, smp_chn); +#if defined(MBED_CONF_TARGET_EADC_EXTSMPT_LIST) + // Extend sampling time in EADC clocks on per-pin basis + struct nu_eadc_extsmpt *eadc_extsmpt_pos = eadc_extsmpt_arr; + struct nu_eadc_extsmpt *eadc_extsmpt_end = eadc_extsmpt_arr + sizeof (eadc_extsmpt_arr) / sizeof (eadc_extsmpt_arr[0]); + for (; eadc_extsmpt_pos != eadc_extsmpt_end; eadc_extsmpt_pos ++) { + if (eadc_extsmpt_pos->pin == pin) { + EADC_SetExtendSampleTime(eadc_base, smp_mod, eadc_extsmpt_pos->value); + break; + } + } +#endif + eadc_modinit_mask |= 1 << smp_mod; } diff --git a/targets/targets.json b/targets/targets.json index e330d7a56ee..49de7cd93f3 100644 --- a/targets/targets.json +++ b/targets/targets.json @@ -7179,6 +7179,9 @@ "gpio-irq-debounce-sample-rate": { "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", "value": "GPIO_DBCTL_DBCLKSEL_16" + }, + "eadc-extsmpt-list": { + "help": "For EADC, comma separated {pin, value} list to extend sampling time in EADC clocks on per-pin basis. Value must be in the range [0, 255]." } }, "inherits": [ @@ -7293,6 +7296,9 @@ "gpio-irq-debounce-sample-rate": { "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", "value": "GPIO_DBCTL_DBCLKSEL_16" + }, + "eadc-extsmpt-list": { + "help": "For EADC, comma separated {pin, value} list to extend sampling time in EADC clocks on per-pin basis. Value must be in the range [0, 255]." } }, "inherits": [ @@ -7415,6 +7421,9 @@ "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCLKSEL_1, GPIO_DBCLKSEL_2, GPIO_DBCLKSEL_4, ..., or GPIO_DBCLKSEL_32768", "value": "GPIO_DBCLKSEL_16" }, + "adc-smplcnt-list": { + "help": "For ADC, comma separated {pin, value} list to extend sampling time in ADC clocks on per-pin basis. Value must be in the range [0, 15]." + }, "clock-pll": { "help": "Choose clock source to clock PLL: NU_HXT_PLL or NU_HIRC_PLL", "macro_name": "NU_CLOCK_PLL", @@ -7554,6 +7563,9 @@ "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", "value": "GPIO_DBCTL_DBCLKSEL_16" }, + "eadc-extsmpt-list": { + "help": "For EADC, comma separated {pin, value} list to extend sampling time in EADC clocks on per-pin basis. Value must be in the range [0, 255]." + }, "exclude-uno-spi-from-fpga-ci-test-shield-test": { "help": "Exclude UNO SPI pins (D8/D9/D10/D11/D12/D13) from FPGA CI Test Shield test for wiring to on-board SPI flash", "options": [false, true], @@ -7746,6 +7758,9 @@ "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", "value": "GPIO_DBCTL_DBCLKSEL_16" }, + "eadc-extsmpt-list": { + "help": "For EADC, comma separated {pin, value} list to extend sampling time in EADC clocks on per-pin basis. Value must be in the range [0, 255]." + }, "usb-device-hsusbd": { "help": "Select high-speed USB device or not", "value": 0 @@ -8109,6 +8124,9 @@ "gpio-irq-debounce-sample-rate": { "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", "value": "GPIO_DBCTL_DBCLKSEL_16" + }, + "eadc-extsmpt-list": { + "help": "For EADC, comma separated {pin, value} list to extend sampling time in EADC clocks on per-pin basis. Value must be in the range [0, 255]." } }, "overrides": { @@ -8256,6 +8274,9 @@ "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", "value": "GPIO_DBCTL_DBCLKSEL_16" }, + "eadc-extsmpt-list": { + "help": "For EADC, comma separated {pin, value} list to extend sampling time in EADC clocks on per-pin basis. Value must be in the range [0, 255]." + }, "hxt-enable": { "help": "Enable external high-speed crystal (HXT)", "value": 0, @@ -9201,6 +9222,9 @@ "gpio-irq-debounce-sample-rate": { "help": "Select GPIO IRQ debounce sample rate: GPIO_DBCTL_DBCLKSEL_1, GPIO_DBCTL_DBCLKSEL_2, GPIO_DBCTL_DBCLKSEL_4, ..., or GPIO_DBCTL_DBCLKSEL_32768", "value": "GPIO_DBCTL_DBCLKSEL_16" + }, + "eadc-extsmpt-list": { + "help": "For EADC, comma separated {pin, value} list to extend sampling time in EADC clocks on per-pin basis. Value must be in the range [0, 255]." } }, "inherits": [