summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Shawcroft <scott@chickadee.tech>2016-10-07 15:06:07 -0700
committerScott Shawcroft <scott@chickadee.tech>2016-10-07 15:06:07 -0700
commit284d3414e155206dd5c9b2af79c6c0abbfb2a2e6 (patch)
tree14473a8800f855072bc54c737a35baebe2c0244a
parent67372b369e10ba62976ac443e12ce17c2774585f (diff)
atmel-samd: Make UART REPL Arduino Zero specific. Most will use USB REPL.
-rw-r--r--atmel-samd/Makefile1
-rw-r--r--atmel-samd/boards/arduino_zero/init.c26
-rw-r--r--atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h8
-rw-r--r--atmel-samd/main.c6
-rw-r--r--atmel-samd/uart.c68
-rw-r--r--atmel-samd/uart.h33
6 files changed, 26 insertions, 116 deletions
diff --git a/atmel-samd/Makefile b/atmel-samd/Makefile
index 01b2540b7..b8bdd2b1b 100644
--- a/atmel-samd/Makefile
+++ b/atmel-samd/Makefile
@@ -148,7 +148,6 @@ SRC_C = \
rom_fs.c \
samdneopixel.c \
storage.c \
- uart.c \
asf/common/services/sleepmgr/samd/sleepmgr.c \
asf/common/services/storage/ctrl_access/ctrl_access.c \
asf/common/services/usb/class/cdc/device/udi_cdc.c \
diff --git a/atmel-samd/boards/arduino_zero/init.c b/atmel-samd/boards/arduino_zero/init.c
index af8b08ff7..5c93ab6f1 100644
--- a/atmel-samd/boards/arduino_zero/init.c
+++ b/atmel-samd/boards/arduino_zero/init.c
@@ -11,8 +11,29 @@
#include "board.h"
#include "conf_board.h"
#include "mpconfigboard.h"
+#include "asf/sam0/drivers/sercom/usart/usart.h"
#include "asf/sam0/drivers/port/port.h"
+extern struct usart_module usart_instance;
+
+void configure_usart(void)
+{
+ struct usart_config config_usart;
+
+ usart_get_config_defaults(&config_usart);
+
+ config_usart.baudrate = 115200;
+ config_usart.mux_setting = EDBG_CDC_SERCOM_MUX_SETTING;
+ config_usart.pinmux_pad0 = EDBG_CDC_SERCOM_PINMUX_PAD0;
+ config_usart.pinmux_pad1 = EDBG_CDC_SERCOM_PINMUX_PAD1;
+ config_usart.pinmux_pad2 = EDBG_CDC_SERCOM_PINMUX_PAD2;
+ config_usart.pinmux_pad3 = EDBG_CDC_SERCOM_PINMUX_PAD3;
+
+ while (usart_init(&usart_instance, EDBG_CDC_MODULE, &config_usart) != STATUS_OK) {
+ }
+ usart_enable(&usart_instance);
+}
+
void board_init(void)
{
/* This function is meant to contain board-specific initialization code
@@ -28,4 +49,9 @@ void board_init(void)
port_pin_set_config(MICROPY_HW_LED_RX, &pin_conf);
port_pin_set_output_level(MICROPY_HW_LED_RX, true);
+
+ // TODO(tannewt): Switch to proper pyb based UARTs.
+ #ifdef UART_REPL
+ configure_usart();
+ #endif
}
diff --git a/atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h b/atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h
index ea9327571..7b88c97fc 100644
--- a/atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h
+++ b/atmel-samd/boards/feather_m0_bluefruit_le/conf_board.h
@@ -11,12 +11,4 @@
#ifndef CONF_BOARD_H
#define CONF_BOARD_H
-#define EDBG_CDC_SERCOM_MUX_SETTING USART_RX_3_TX_2_XCK_3
-#define EDBG_CDC_SERCOM_PINMUX_PAD0 PINMUX_UNUSED
-#define EDBG_CDC_SERCOM_PINMUX_PAD1 PINMUX_UNUSED
-#define EDBG_CDC_SERCOM_PINMUX_PAD2 PINMUX_PB22D_SERCOM5_PAD2
-#define EDBG_CDC_SERCOM_PINMUX_PAD3 PINMUX_PB23D_SERCOM5_PAD3
-
-#define EDBG_CDC_MODULE SERCOM5
-
#endif // CONF_BOARD_H
diff --git a/atmel-samd/main.c b/atmel-samd/main.c
index 9c9f59d16..12dd72365 100644
--- a/atmel-samd/main.c
+++ b/atmel-samd/main.c
@@ -24,7 +24,6 @@
#include "mpconfigboard.h"
#include "modmachine_pin.h"
#include "storage.h"
-#include "uart.h"
fs_user_mount_t fs_user_mount_flash;
@@ -328,11 +327,6 @@ void samd21_init(void) {
#ifdef USB_REPL
udc_start();
#endif
-
- // TODO(tannewt): Switch to proper pyb based UARTs.
- #ifdef UART_REPL
- configure_usart();
- #endif
}
#endif
diff --git a/atmel-samd/uart.c b/atmel-samd/uart.c
deleted file mode 100644
index 7c7c604dd..000000000
--- a/atmel-samd/uart.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/**
- * \file
- *
- * \brief SAM USART Quick Start
- *
- * Copyright (C) 2012-2015 Atmel Corporation. All rights reserved.
- *
- * \asf_license_start
- *
- * \page License
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * 3. The name of Atmel may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * 4. This software may only be redistributed and used in connection with an
- * Atmel microcontroller product.
- *
- * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
- * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- * \asf_license_stop
- *
- */
-#include "asf/sam0/drivers/sercom/usart/usart.h"
-#include "asf/sam0/drivers/port/port.h"
-
-#include "uart.h"
-
-#include "conf_board.h"
-
-extern struct usart_module usart_instance;
-
-void configure_usart(void)
-{
- struct usart_config config_usart;
-
- usart_get_config_defaults(&config_usart);
-
- config_usart.baudrate = 115200;
- config_usart.mux_setting = EDBG_CDC_SERCOM_MUX_SETTING;
- config_usart.pinmux_pad0 = EDBG_CDC_SERCOM_PINMUX_PAD0;
- config_usart.pinmux_pad1 = EDBG_CDC_SERCOM_PINMUX_PAD1;
- config_usart.pinmux_pad2 = EDBG_CDC_SERCOM_PINMUX_PAD2;
- config_usart.pinmux_pad3 = EDBG_CDC_SERCOM_PINMUX_PAD3;
-
- while (usart_init(&usart_instance, EDBG_CDC_MODULE, &config_usart) != STATUS_OK) {
- }
- usart_enable(&usart_instance);
-}
diff --git a/atmel-samd/uart.h b/atmel-samd/uart.h
deleted file mode 100644
index b265bbe10..000000000
--- a/atmel-samd/uart.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * This file is part of the Micro Python project, http://micropython.org/
- *
- * The MIT License (MIT)
- *
- * Copyright (c) 2016 Scott Shawcroft
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-
- #ifndef __MICROPY_INCLUDED_ATMEL_SAMD_UART_H__
- #define __MICROPY_INCLUDED_ATMEL_SAMD_UART_H__
-
- void configure_usart(void);
-
- #endif // __MICROPY_INCLUDED_ATMEL_SAMD_UART_H__