aboutsummaryrefslogtreecommitdiffstats
path: root/src/stm32
diff options
context:
space:
mode:
Diffstat (limited to 'src/stm32')
-rw-r--r--src/stm32/Kconfig62
-rw-r--r--src/stm32/Makefile2
2 files changed, 58 insertions, 6 deletions
diff --git a/src/stm32/Kconfig b/src/stm32/Kconfig
index b1035ec1..355b132e 100644
--- a/src/stm32/Kconfig
+++ b/src/stm32/Kconfig
@@ -108,6 +108,12 @@ config HAVE_STM32_CANBUS
config HAVE_STM32_FDCANBUS
bool
default y if MACH_STM32G0
+config HAVE_STM32_USBCANBUS
+ bool
+ depends on HAVE_STM32_USBFS || HAVE_STM32_USBOTG
+ depends on HAVE_STM32_CANBUS || HAVE_STM32_FDCANBUS
+ depends on !MACH_STM32F103
+ default y
config MCU
string
@@ -327,30 +333,74 @@ choice
bool "CAN bus (on PA9/PA10)" if LOW_LEVEL_OPTIONS
depends on HAVE_STM32_CANBUS && MACH_STM32F042
select CANSERIAL
- config STM32_CANBUS_PB8_PB9
+ config STM32_MMENU_CANBUS_PB8_PB9
bool "CAN bus (on PB8/PB9)" if LOW_LEVEL_OPTIONS
depends on HAVE_STM32_CANBUS || HAVE_STM32_FDCANBUS
select CANSERIAL
- config STM32_CANBUS_PI9_PH13
+ config STM32_MMENU_CANBUS_PI9_PH13
bool "CAN bus (on PI9/PH13)" if LOW_LEVEL_OPTIONS
depends on HAVE_STM32_CANBUS && MACH_STM32F4
select CANSERIAL
- config STM32_CANBUS_PB5_PB6
+ config STM32_MMENU_CANBUS_PB5_PB6
bool "CAN bus (on PB5/PB6)" if LOW_LEVEL_OPTIONS
depends on HAVE_STM32_CANBUS && MACH_STM32F4
select CANSERIAL
- config STM32_CANBUS_PB12_PB13
+ config STM32_MMENU_CANBUS_PB12_PB13
bool "CAN bus (on PB12/PB13)" if LOW_LEVEL_OPTIONS
depends on HAVE_STM32_CANBUS && MACH_STM32F4
select CANSERIAL
- config STM32_CANBUS_PD0_PD1
+ config STM32_MMENU_CANBUS_PD0_PD1
bool "CAN bus (on PD0/PD1)" if LOW_LEVEL_OPTIONS
depends on HAVE_STM32_CANBUS
select CANSERIAL
- config STM32_CANBUS_PB0_PB1
+ config STM32_MMENU_CANBUS_PB0_PB1
bool "CAN bus (on PB0/PB1)"
depends on HAVE_STM32_FDCANBUS
select CANSERIAL
+ config STM32_USBCANBUS_PA11_PA12
+ bool "USB to CAN bus bridge (USB on PA11/PA12)"
+ depends on HAVE_STM32_USBCANBUS
+ select USBCANBUS
+endchoice
+choice
+ prompt "CAN bus interface" if USBCANBUS
+ config STM32_CMENU_CANBUS_PB8_PB9
+ bool "CAN bus (on PB8/PB9)"
+ config STM32_CMENU_CANBUS_PI9_PH13
+ bool "CAN bus (on PI9/PH13)"
+ depends on HAVE_STM32_CANBUS && MACH_STM32F4
+ config STM32_CMENU_CANBUS_PB5_PB6
+ bool "CAN bus (on PB5/PB6)"
+ depends on HAVE_STM32_CANBUS && MACH_STM32F4
+ config STM32_CMENU_CANBUS_PB12_PB13
+ bool "CAN bus (on PB12/PB13)"
+ depends on HAVE_STM32_CANBUS && MACH_STM32F4
+ config STM32_CMENU_CANBUS_PD0_PD1
+ bool "CAN bus (on PD0/PD1)"
+ depends on HAVE_STM32_CANBUS
+ config STM32_CMENU_CANBUS_PB0_PB1
+ bool "CAN bus (on PB0/PB1)"
+ depends on HAVE_STM32_FDCANBUS
endchoice
+
+config STM32_CANBUS_PB8_PB9
+ bool
+ default y if STM32_MMENU_CANBUS_PB8_PB9 || STM32_CMENU_CANBUS_PB8_PB9
+config STM32_CANBUS_PI9_PH13
+ bool
+ default y if STM32_MMENU_CANBUS_PI9_PH13 || STM32_CMENU_CANBUS_PI9_PH13
+config STM32_CANBUS_PB5_PB6
+ bool
+ default y if STM32_MMENU_CANBUS_PB5_PB6 || STM32_CMENU_CANBUS_PB5_PB6
+config STM32_CANBUS_PB12_PB13
+ bool
+ default y if STM32_MMENU_CANBUS_PB12_PB13 || STM32_CMENU_CANBUS_PB12_PB13
+config STM32_CANBUS_PD0_PD1
+ bool
+ default y if STM32_MMENU_CANBUS_PD0_PD1 || STM32_CMENU_CANBUS_PD0_PD1
+config STM32_CANBUS_PB0_PB1
+ bool
+ default y if STM32_MMENU_CANBUS_PB0_PB1 || STM32_CMENU_CANBUS_PB0_PB1
+
endif
diff --git a/src/stm32/Makefile b/src/stm32/Makefile
index 2fbf7549..2ff04f69 100644
--- a/src/stm32/Makefile
+++ b/src/stm32/Makefile
@@ -63,6 +63,8 @@ canbus-src-y := generic/canserial.c ../lib/fast-hash/fasthash.c
canbus-src-$(CONFIG_HAVE_STM32_CANBUS) += stm32/can.c
canbus-src-$(CONFIG_HAVE_STM32_FDCANBUS) += stm32/fdcan.c
src-$(CONFIG_CANSERIAL) += $(canbus-src-y) generic/canbus.c stm32/chipid.c
+src-$(CONFIG_USBCANBUS) += $(usb-src-y) $(canbus-src-y)
+src-$(CONFIG_USBCANBUS) += stm32/chipid.c generic/usb_canbus.c
src-$(CONFIG_HAVE_GPIO_HARD_PWM) += stm32/hard_pwm.c
# Binary output file rules