summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Kalowsky <daniel.kalowsky@intel.com>2016-01-28 13:11:50 -0800
committerAnas Nashif <anas.nashif@intel.com>2016-02-10 11:23:56 -0500
commite97507a034cf6fb9f9f2633ab4d4839ae588bd27 (patch)
treecadfbe563141d03648633716158240bf4c77e438
parent4743684e4f74b5774e736a55005aedfe2e778531 (diff)
adc: dw: there is only one ADC
The ADC for DesignWare is currently setup to handle multiple dev entries, but there only ever exists one. No reason to add to complexity for multiple if there is only going to be one. Change-Id: I0b77ef91160776dcf0aea1a50b144fff2b2be9e2 Signed-off-by: Dan Kalowsky <daniel.kalowsky@intel.com>
-rw-r--r--drivers/adc/Kconfig30
-rw-r--r--drivers/adc/adc_dw.c28
-rw-r--r--samples/nanokernel/apps/adc/prj_arc.conf1
-rw-r--r--samples/nanokernel/apps/adc/src/adc.c2
4 files changed, 27 insertions, 34 deletions
diff --git a/drivers/adc/Kconfig b/drivers/adc/Kconfig
index c4bfd0990..60aba1e8e 100644
--- a/drivers/adc/Kconfig
+++ b/drivers/adc/Kconfig
@@ -101,33 +101,27 @@ config ADC_DW
if ADC_DW
-config ADC_DW_0
- bool "First instance of DW's ADC chip"
- default n
- help
- Enable first instance of ADC DW driver.
-
-config ADC_DW_NAME_0
+config ADC_DW_NAME
string "Select a name to lookup the device"
- default "ADC0"
- depends on ADC_DW_0
+ default "ADC"
+ depends on ADC_DW
-config ADC_DW_0_RX_IRQ
+config ADC_DW_RX_IRQ
int
- prompt "ADC 0 reception interrupt"
- depends on ADC_DW_0
+ prompt "ADC reception interrupt"
+ depends on ADC_DW
default 19
-config ADC_DW_0_ERR_IRQ
+config ADC_DW_ERR_IRQ
int
- prompt "ADC 0 error interrupt"
- depends on ADC_DW_0
+ prompt "ADC error interrupt"
+ depends on ADC_DW
default 18
-config ADC_DW_0_PRI
+config ADC_DW_PRI
int
- prompt "ADC 0 interrupts' priority"
- depends on ADC_DW_0
+ prompt "ADC interrupt priority"
+ depends on ADC_DW
default 2
config ADC_DW_CALIBRATION
diff --git a/drivers/adc/adc_dw.c b/drivers/adc/adc_dw.c
index a731418a1..60888ae9a 100644
--- a/drivers/adc/adc_dw.c
+++ b/drivers/adc/adc_dw.c
@@ -57,7 +57,7 @@
#else
#define int_unmask(...) { ; }
#endif
-static void adc_config_0_irq(void);
+static void adc_config_irq(void);
#ifdef CONFIG_ADC_DW_CALIBRATION
static void calibration_command(uint8_t command)
@@ -460,9 +460,9 @@ void adc_dw_err_isr(void *arg)
device_sync_call_complete(&info->sync);
}
-#ifdef CONFIG_ADC_DW_0
+#ifdef CONFIG_ADC_DW
-struct adc_info adc_info_dev_0 = {
+struct adc_info adc_info_dev = {
.state = ADC_STATE_IDLE,
#ifdef CONFIG_ADC_DW_CALIBRATION
.calibration_value = ADC_NONE_CALIBRATION,
@@ -472,7 +472,7 @@ struct adc_info adc_info_dev_0 = {
#endif
};
-struct adc_config adc_config_dev_0 = {
+struct adc_config adc_config_dev = {
.reg_base = PERIPH_ADDR_BASE_ADC,
.reg_irq_mask = SCSS_REGISTER_BASE + INT_SS_ADC_IRQ_MASK,
.reg_err_mask = SCSS_REGISTER_BASE + INT_SS_ADC_ERR_MASK,
@@ -494,21 +494,21 @@ struct adc_config adc_config_dev_0 = {
.sample_width = CONFIG_ADC_DW_SAMPLE_WIDTH,
.clock_ratio = CONFIG_ADC_DW_CLOCK_RATIO,
.serial_dly = CONFIG_ADC_DW_SERIAL_DELAY,
- .config_func = adc_config_0_irq,
+ .config_func = adc_config_irq,
};
-DEVICE_INIT(adc_dw_0, CONFIG_ADC_DW_NAME_0, &adc_dw_init,
- &adc_info_dev_0, &adc_config_dev_0,
+DEVICE_INIT(adc_dw, CONFIG_ADC_DW_NAME, &adc_dw_init,
+ &adc_info_dev, &adc_config_dev,
SECONDARY, CONFIG_KERNEL_INIT_PRIORITY_DEFAULT);
-static void adc_config_0_irq(void)
+static void adc_config_irq(void)
{
- IRQ_CONNECT(CONFIG_ADC_DW_0_RX_IRQ, CONFIG_ADC_DW_0_PRI, adc_dw_rx_isr,
- DEVICE_GET(adc_dw_0), 0);
- irq_enable(CONFIG_ADC_DW_0_RX_IRQ);
+ IRQ_CONNECT(CONFIG_ADC_DW_RX_IRQ, CONFIG_ADC_DW_PRI, adc_dw_rx_isr,
+ DEVICE_GET(adc_dw), 0);
+ irq_enable(CONFIG_ADC_DW_RX_IRQ);
- IRQ_CONNECT(CONFIG_ADC_DW_0_ERR_IRQ, CONFIG_ADC_DW_0_PRI,
- adc_dw_err_isr, DEVICE_GET(adc_dw_0), 0);
- irq_enable(CONFIG_ADC_DW_0_ERR_IRQ);
+ IRQ_CONNECT(CONFIG_ADC_DW_ERR_IRQ, CONFIG_ADC_DW_PRI,
+ adc_dw_err_isr, DEVICE_GET(adc_dw), 0);
+ irq_enable(CONFIG_ADC_DW_ERR_IRQ);
}
#endif
diff --git a/samples/nanokernel/apps/adc/prj_arc.conf b/samples/nanokernel/apps/adc/prj_arc.conf
index fbc0ad75b..cdfef3890 100644
--- a/samples/nanokernel/apps/adc/prj_arc.conf
+++ b/samples/nanokernel/apps/adc/prj_arc.conf
@@ -1,4 +1,3 @@
CONFIG_ADC=y
CONFIG_ADC_DW=y
-CONFIG_ADC_DW_0=y
CONFIG_ADC_DW_REPETITIVE=y
diff --git a/samples/nanokernel/apps/adc/src/adc.c b/samples/nanokernel/apps/adc/src/adc.c
index 59db63779..f430b2b2a 100644
--- a/samples/nanokernel/apps/adc/src/adc.c
+++ b/samples/nanokernel/apps/adc/src/adc.c
@@ -34,7 +34,7 @@
#define SLEEPTICKS (SLEEPTIME * sys_clock_ticks_per_sec)
#ifdef CONFIG_SOC_QUARK_SE_SS
- #define ADC_DEVICE_NAME CONFIG_ADC_DW_NAME_0
+ #define ADC_DEVICE_NAME CONFIG_ADC_DW_NAME
#elif CONFIG_BOARD_GALILEO
#define ADC_DEVICE_NAME CONFIG_ADC_TI_ADC108S102_0_DRV_NAME
#endif