aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDouglas Hammond <wizhippo@gmail.com>2018-02-23 15:57:14 -0500
committerKevin O'Connor <kevin@koconnor.net>2018-02-25 10:23:00 -0500
commitd139389267918dac65216e794fad05cffc4a2b0b (patch)
treee2fc8e96dab81cccd543697380ea5552c2a5e178 /src
parente99c0f53f801f9dc2f6e7147b38e1fce7f118119 (diff)
downloadkutter-d139389267918dac65216e794fad05cffc4a2b0b.tar.gz
kutter-d139389267918dac65216e794fad05cffc4a2b0b.tar.xz
kutter-d139389267918dac65216e794fad05cffc4a2b0b.zip
avr: Add at90usb646 support
Signed-off-by: Douglas Hammond wizhippo@gmail.com
Diffstat (limited to 'src')
-rw-r--r--src/avr/Kconfig8
-rw-r--r--src/avr/gpio.c6
2 files changed, 9 insertions, 5 deletions
diff --git a/src/avr/Kconfig b/src/avr/Kconfig
index dda36653..9a4500c1 100644
--- a/src/avr/Kconfig
+++ b/src/avr/Kconfig
@@ -23,6 +23,8 @@ choice
bool "atmega1280"
config MACH_at90usb1286
bool "at90usb1286"
+ config MACH_at90usb646
+ bool "at90usb646"
config MACH_atmega1284p
bool "atmega1284p"
config MACH_atmega644p
@@ -40,6 +42,7 @@ config MCU
default "atmega1284p" if MACH_atmega1284p
default "atmega644p" if MACH_atmega644p
default "at90usb1286" if MACH_at90usb1286
+ default "at90usb646" if MACH_at90usb646
default "atmega1280" if MACH_atmega1280
default "atmega2560" if MACH_atmega2560
@@ -47,6 +50,7 @@ config AVRDUDE_PROTOCOL
string
default "wiring" if MACH_atmega2560
default "avr109" if MACH_at90usb1286
+ default "avr109" if MACH_at90usb646
default "arduino"
choice
@@ -68,7 +72,7 @@ config CLOCK_FREQ
config CLEAR_PRESCALER
bool "Manually clear the CPU prescaler field at startup"
- depends on MACH_at90usb1286
+ depends on MACH_at90usb1286 || MACH_at90usb646
default y
help
Some AVR chips ship with a "clock prescaler" that causes the
@@ -91,7 +95,7 @@ config AVR_WATCHDOG
default y
config AVR_USBSERIAL
bool "Use USB for communication (instead of serial)"
- depends on MACH_at90usb1286
+ depends on MACH_at90usb1286 || MACH_at90usb646
default y
config AVR_SERIAL
depends on !AVR_USBSERIAL
diff --git a/src/avr/gpio.c b/src/avr/gpio.c
index 774885e4..70d849f0 100644
--- a/src/avr/gpio.c
+++ b/src/avr/gpio.c
@@ -152,7 +152,7 @@ static const uint8_t pwm_pins[ARRAY_SIZE(pwm_regs)] PROGMEM = {
# ifdef OCR3A
GPIO('B', 6), GPIO('B', 7),
# endif
-#elif CONFIG_MACH_at90usb1286
+#elif CONFIG_MACH_at90usb1286 || CONFIG_MACH_at90usb646
GPIO('B', 7), GPIO('D', 0),
GPIO('B', 5), GPIO('B', 6), GPIO('B', 7),
GPIO('B', 4), GPIO('D', 1),
@@ -252,7 +252,7 @@ static const uint8_t adc_pins[] PROGMEM = {
#elif CONFIG_MACH_atmega644p || CONFIG_MACH_atmega1284p
GPIO('A', 0), GPIO('A', 1), GPIO('A', 2), GPIO('A', 3),
GPIO('A', 4), GPIO('A', 5), GPIO('A', 6), GPIO('A', 7),
-#elif CONFIG_MACH_at90usb1286
+#elif CONFIG_MACH_at90usb1286 || CONFIG_MACH_at90usb646
GPIO('F', 0), GPIO('F', 1), GPIO('F', 2), GPIO('F', 3),
GPIO('F', 4), GPIO('F', 5), GPIO('F', 6), GPIO('F', 7),
#elif CONFIG_MACH_atmega1280 || CONFIG_MACH_atmega2560
@@ -352,7 +352,7 @@ gpio_adc_cancel_sample(struct gpio_adc g)
static const uint8_t SS = GPIO('B', 2), SCK = GPIO('B', 5), MOSI = GPIO('B', 3);
#elif CONFIG_MACH_atmega644p || CONFIG_MACH_atmega1284p
static const uint8_t SS = GPIO('B', 4), SCK = GPIO('B', 7), MOSI = GPIO('B', 5);
-#elif CONFIG_MACH_at90usb1286 || CONFIG_MACH_atmega1280 || CONFIG_MACH_atmega2560
+#elif CONFIG_MACH_at90usb1286 || CONFIG_MACH_at90usb646 || CONFIG_MACH_atmega1280 || CONFIG_MACH_atmega2560
static const uint8_t SS = GPIO('B', 0), SCK = GPIO('B', 1), MOSI = GPIO('B', 2);
#endif