diff options
author | Daniel Friesel <daniel.friesel@uos.de> | 2020-08-28 15:25:37 +0200 |
---|---|---|
committer | Daniel Friesel <daniel.friesel@uos.de> | 2020-08-28 15:25:37 +0200 |
commit | 3a66ae51c3f34108428e582ef693866d71496d16 (patch) | |
tree | 6a8ab3774af1b1077720671a92f40a92d5425bcf /src/arch/msp430fr5969lp | |
parent | e12d6d528705344628568000dc2fddb919457411 (diff) |
Expose configuration via Kconfig
Diffstat (limited to 'src/arch/msp430fr5969lp')
-rw-r--r-- | src/arch/msp430fr5969lp/Kconfig | 31 | ||||
-rw-r--r-- | src/arch/msp430fr5969lp/Makefile.inc | 61 | ||||
-rw-r--r-- | src/arch/msp430fr5969lp/arch.cc | 6 | ||||
-rw-r--r-- | src/arch/msp430fr5969lp/driver/counter.cc | 4 | ||||
-rw-r--r-- | src/arch/msp430fr5969lp/prompt | 1 |
5 files changed, 83 insertions, 20 deletions
diff --git a/src/arch/msp430fr5969lp/Kconfig b/src/arch/msp430fr5969lp/Kconfig new file mode 100644 index 0000000..015d78d --- /dev/null +++ b/src/arch/msp430fr5969lp/Kconfig @@ -0,0 +1,31 @@ +config arch_msp430fr5969lp_driver_adc +bool "ADC (Analog-Digital-Converter)" +select meta_driver_adc + +config arch_msp430fr5969lp_driver_counter +bool "Cycle Counter" +select meta_driver_counter + +config arch_msp430fr5969lp_driver_i2c +bool "I2C on eUSCI_B0" +select meta_driver_i2c + +config arch_msp430fr5969lp_driver_spi_a1 +bool "SPI on eUSCI_A1" +select meta_driver_spi + +config arch_msp430fr5969lp_driver_spi_b +bool "SPI on eUSCI_B0" +select meta_driver_spi + +config arch_msp430fr5969lp_driver_stdin +bool "UART Input" +select meta_driver_stdin + +config arch_msp430fr5969lp_driver_timer +bool "Timer with Interrupts" +select meta_driver_timer + +config arch_msp430fr5969lp_driver_uptime +bool "Uptime Counter" +select meta_driver_uptime diff --git a/src/arch/msp430fr5969lp/Makefile.inc b/src/arch/msp430fr5969lp/Makefile.inc index 2c1e64c..8a48859 100644 --- a/src/arch/msp430fr5969lp/Makefile.inc +++ b/src/arch/msp430fr5969lp/Makefile.inc @@ -25,45 +25,86 @@ SIZE = /opt/msp430/ti/msp430-gcc-full-linux-5.1.2.0/bin/msp430-elf-size ARCH_SHORTNAME = msp430 CXX_TARGETS += src/arch/msp430fr5969lp/arch.cc +CXX_TARGETS += src/arch/msp430fr5969lp/driver/gpio.cc +CXX_TARGETS += src/arch/msp430fr5969lp/driver/stdout.cc ifeq (${aspectc}, 1) CXX = ag++ -r build/repo.acp -v 0 --c_compiler /opt/msp430/ti/msp430-gcc-full-linux-5.1.2.0/bin/msp430-elf-g++ -p . --Xcompiler endif +# Command-line + ifneq ($(findstring adc,${arch_drivers}), ) - CXX_TARGETS += src/arch/msp430fr5969lp/driver/adc.cc + CONFIG_arch_msp430fr5969lp_driver_adc = y endif -CXX_TARGETS += src/arch/msp430fr5969lp/driver/gpio.cc -CXX_TARGETS += src/arch/msp430fr5969lp/driver/stdout.cc -CXX_TARGETS += src/arch/msp430fr5969lp/driver/uptime.cc - ifneq ($(findstring stdin,${arch_drivers}), ) - CXX_TARGETS += src/arch/msp430fr5969lp/driver/stdin.cc + CONFIG_arch_msp430fr5969lp_driver_stdin = y endif ifneq ($(findstring softi2c,${drivers}), ) else ifneq ($(findstring i2c,${arch_drivers}), ) + CONFIG_arch_msp430fr5969lp_driver_i2c = y +endif + +ifneq ($(findstring spi_a1,${arch_drivers}), ) + CONFIG_arch_msp430fr5969lp_driver_spi_a1 = y +endif + +ifneq ($(findstring spi_b,${arch_drivers}), ) + CONFIG_arch_msp430fr5969lp_driver_spi_b = y +endif + +ifneq ($(findstring timer,${arch_drivers}), ) + CONFIG_arch_msp430fr5969lp_driver_timer = y +endif + +ifneq ($(findstring counter,${arch_drivers}), ) + CONFIG_arch_msp430fr5969lp_driver_counter = y +endif + +ifeq (${timer_s}, 1) + CONFIG_arch_msp430fr5969lp_driver_uptime = y +endif + +# Kconfig + +ifdef CONFIG_arch_msp430fr5969lp_driver_adc + CXX_TARGETS += src/arch/msp430fr5969lp/driver/adc.cc +endif + +ifdef CONFIG_arch_msp430fr5969lp_driver_stdin + CXX_TARGETS += src/arch/msp430fr5969lp/driver/stdin.cc +endif + +ifdef CONFIG_arch_msp430fr5969lp_driver_i2c CXX_TARGETS += src/arch/msp430fr5969lp/driver/i2c.cc COMMON_FLAGS += -DDRIVER_I2C endif -ifneq ($(findstring spi_a1,${arch_drivers}), ) +ifdef CONFIG_arch_msp430fr5969lp_driver_spi_a1 CXX_TARGETS += src/arch/msp430fr5969lp/driver/spi_a1.cc endif -ifneq ($(findstring spi_b,${arch_drivers}), ) +ifdef CONFIG_arch_msp430fr5969lp_driver_spi_b CXX_TARGETS += src/arch/msp430fr5969lp/driver/spi_b.cc endif -ifneq ($(findstring timer,${arch_drivers}), ) +ifdef CONFIG_arch_msp430fr5969lp_driver_timer CXX_TARGETS += src/arch/msp430fr5969lp/driver/timer.cc endif -ifneq ($(findstring counter,${arch_drivers}), ) +ifdef CONFIG_arch_msp430fr5969lp_driver_counter CXX_TARGETS += src/arch/msp430fr5969lp/driver/counter.cc endif +ifdef CONFIG_arch_msp430fr5969lp_driver_uptime + COMMON_FLAGS += -DTIMER_S + CXX_TARGETS += src/arch/msp430fr5969lp/driver/uptime.cc +endif + + + ifneq (${cpu_freq}, ) COMMON_FLAGS += -DF_CPU=${cpu_freq}UL else diff --git a/src/arch/msp430fr5969lp/arch.cc b/src/arch/msp430fr5969lp/arch.cc index fb7d167..5385d16 100644 --- a/src/arch/msp430fr5969lp/arch.cc +++ b/src/arch/msp430fr5969lp/arch.cc @@ -89,12 +89,6 @@ void Arch::setup(void) TA1CCR0 = 4096; TA1CTL |= TACLR | TAIE; #endif - -#ifdef TIMER_CYCLES - TA2CTL = TASSEL__SMCLK | ID__1 | MC__CONTINUOUS; - TA2EX0 = 0; - TA2CTL |= TACLR; -#endif } #ifdef WITH_WAKEUP diff --git a/src/arch/msp430fr5969lp/driver/counter.cc b/src/arch/msp430fr5969lp/driver/counter.cc index 7a5aca2..741b543 100644 --- a/src/arch/msp430fr5969lp/driver/counter.cc +++ b/src/arch/msp430fr5969lp/driver/counter.cc @@ -2,10 +2,6 @@ #include "driver/counter.h" #include "driver/gpio.h" -#if defined(TIMER_CYCLES) -#warn "timer_cycles and counter are mutually exclusive. Expect odd behaviour." -#endif - Counter counter; #ifndef __acweaving diff --git a/src/arch/msp430fr5969lp/prompt b/src/arch/msp430fr5969lp/prompt new file mode 100644 index 0000000..a8f2b86 --- /dev/null +++ b/src/arch/msp430fr5969lp/prompt @@ -0,0 +1 @@ +MSP430FR5969 Launchpad |