Modified version of the mbed library for use with the Nucleo boards.

Dependents:   EEPROMWrite Full-Project

Fork of mbed-src by mbed official

Revision:
613:bc40b8d2aec4
Parent:
612:fba1c7dc54c0
Child:
614:9d86c2ae5de0
--- a/targets/hal/TARGET_Atmel/TARGET_SAM21/pinmap.c	Tue Aug 18 15:00:09 2015 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/* mbed Microcontroller Library
- * Copyright (c) 2006-2013 ARM Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#include <stddef.h>
-#include "us_ticker_api.h"
-#include "cmsis.h"
-#include "mbed_assert.h"
-#include "ins_gclk.h"
-#include "compiler.h"
-#include "system.h"
-
-#include "pinmux.h"
-#include "pinmap.h"
-
-extern uint8_t g_sys_init;
-
-
-static inline void pinmux_get_current_config(PinName pin, struct system_pinmux_config *const config)
-{
-    MBED_ASSERT(pin != (PinName)NC);
-    uint32_t pin_index = pin % 32;
-    uint32_t pin_mask = (uint32_t)(1UL << pin_index);
-
-    PortGroup *const port = system_pinmux_get_group_from_gpio_pin(pin);
-    MBED_ASSERT(port);
-
-    config->mux_position = system_pinmux_pin_get_mux_position(pin);
-
-    if (port->PINCFG[pin_index].reg & PORT_PINCFG_INEN) {
-        if (port->DIR.reg & pin_mask) {
-            config->direction = SYSTEM_PINMUX_PIN_DIR_OUTPUT_WITH_READBACK;
-            config->input_pull = SYSTEM_PINMUX_PIN_PULL_NONE;
-        } else {
-            config->direction = SYSTEM_PINMUX_PIN_DIR_INPUT;
-            if (port->PINCFG[pin_index].reg & PORT_PINCFG_PULLEN) {
-                if (port->OUT.reg & pin_mask) {
-                    config->input_pull = SYSTEM_PINMUX_PIN_PULL_UP;
-                } else {
-                    config->input_pull = SYSTEM_PINMUX_PIN_PULL_DOWN;
-                }
-            } else {
-                config->input_pull = SYSTEM_PINMUX_PIN_PULL_NONE;
-            }
-        }
-    } else {
-        config->input_pull = SYSTEM_PINMUX_PIN_PULL_NONE;
-        config->direction = SYSTEM_PINMUX_PIN_DIR_OUTPUT;
-    }
-
-    /* Not relevant for now */
-    config->powersave = false;
-}
-
-/** Change the MUX padding of input pin
- *
- * Configure the pin for specific module
- * @param[in]  pin      Pin name whose MUX padding is to be changed
- * @param[in]  function The MUX mode to be selected
- * @return              void
- */
-void pin_function(PinName pin, int function)
-{
-    MBED_ASSERT(pin != (PinName)NC);
-
-    struct system_pinmux_config pin_conf;
-
-    pinmux_get_current_config(pin, &pin_conf);
-    pin_conf.mux_position = function;
-
-    system_pinmux_pin_set_config(pin, &pin_conf);
-}
-
-/** Change the pin pull mode
- *
- * Configure the pin pull mode
- * @param[in]  pin      Pin name whose MUX padding is to be changed
- * @param[in]  mode     Pin pull mode to be set
- * @return              void
- */
-void pin_mode(PinName pin, PinMode mode)
-{
-    MBED_ASSERT(pin != (PinName)NC);
-
-    struct system_pinmux_config pin_conf;
-
-    pinmux_get_current_config(pin, &pin_conf);
-    if (mode == PullUp) {
-        pin_conf.input_pull = SYSTEM_PINMUX_PIN_PULL_UP;
-    } else if (mode == PullDown) {
-        pin_conf.input_pull = SYSTEM_PINMUX_PIN_PULL_DOWN;
-    } else {
-        pin_conf.input_pull = SYSTEM_PINMUX_PIN_PULL_NONE;
-    }
-
-    system_pinmux_pin_set_config(pin, &pin_conf);
-}
\ No newline at end of file