aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/platforms/LPC43xx/pal_lld.c
diff options
context:
space:
mode:
Diffstat (limited to 'os/hal/platforms/LPC43xx/pal_lld.c')
-rw-r--r--os/hal/platforms/LPC43xx/pal_lld.c171
1 files changed, 0 insertions, 171 deletions
diff --git a/os/hal/platforms/LPC43xx/pal_lld.c b/os/hal/platforms/LPC43xx/pal_lld.c
deleted file mode 100644
index 23de40559..000000000
--- a/os/hal/platforms/LPC43xx/pal_lld.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006-2013 Giovanni Di Sirio
-
- 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.
-*/
-
-/*
- This file has been contributed by:
- Marcin Jokel.
-*/
-
-/**
- * @file LPC43xx/pal_lld.c
- * @brief LPC43xx GPIO low level driver code.
- *
- * @addtogroup PAL
- * @{
- */
-
-#include "ch.h"
-#include "hal.h"
-
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-
-/*===========================================================================*/
-/* Driver exported variables. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver local variables and types. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver local functions. */
-/*===========================================================================*/
-
-static void initgpio(ioportid_t port, const lpc_gpio_setup_t *config) {
-
- LPC_GPIO_PORT->DIR[port] = config->dir;
- LPC_GPIO_PORT->MASK[port] = 0;
- LPC_GPIO_PORT->PIN[port] = config->data;
-}
-
-/*===========================================================================*/
-/* Driver interrupt handlers. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver exported functions. */
-/*===========================================================================*/
-/**
- * @brief LPC43xx I/O ports configuration.
- * @details GPIO unit registers initialization.
- *
- * @param[in] config the LPC43xx ports configuration
- *
- * @notapi
- */
-void _pal_lld_init(const PALConfig *config) {
-
- initgpio(GPIO0, &config->P0);
- initgpio(GPIO1, &config->P1);
- initgpio(GPIO2, &config->P2);
- initgpio(GPIO3, &config->P3);
-#if LPC_HAS_GPIO4
- initgpio(GPIO4, &config->P4);
-#endif
- initgpio(GPIO5, &config->P5);
-
-#if LPC_HAS_GPIO6
- initgpio(GPIO6, &config->P6);
-#endif
-
-#if LPC_HAS_GPIO7
- initgpio(GPIO7, &config->P7);
-#endif
-}
-
-/**
- * @brief Reads a group of bits.
- * @note The @ref PAL provides a default software implementation of this
- * functionality, implement this function if can optimize it by using
- * special hardware functionalities or special coding.
- *
- * @param[in] port port identifier
- * @param[in] mask group mask
- * @param[in] offset group bit offset within the port
- * @return The group logical states.
- *
- * @notapi
- */
-uint32_t _pal_lld_readgroup(ioportid_t port,
- ioportmask_t mask,
- uint32_t offset) {
-
- uint32_t p;
-
- LPC_GPIO_PORT->MASK[port] = ~((mask) << offset);
- p = LPC_GPIO_PORT->MPIN[port];
- LPC_GPIO_PORT->MASK[port] = 0;
- return p;
-}
-
-/**
- * @brief Writes a group of bits.
- * @note The @ref PAL provides a default software implementation of this
- * functionality, implement this function if can optimize it by using
- * special hardware functionalities or special coding.
- *
- * @param[in] port port identifier
- * @param[in] mask group mask
- * @param[in] offset group bit offset within the port
- * @param[in] bits bits to be written. Values exceeding the group width
- * are masked.
- *
- * @notapi
- */
-void _pal_lld_writegroup(ioportid_t port,
- ioportmask_t mask,
- uint32_t offset,
- uint32_t bits) {
-
- LPC_GPIO_PORT->MASK[port] = ~((mask) << offset);
- LPC_GPIO_PORT->MPIN[port] = bits;
- LPC_GPIO_PORT->MASK[port] = 0;
-}
-/**
- * @brief Pads mode setup.
- * @details This function programs a pads group belonging to the same port
- * with the specified mode.
- * @note @p PAL_MODE_UNCONNECTED is implemented as push pull output with
- * high state.
- * @note This function does not alter the @p PINSELx registers. Alternate
- * functions setup must be handled by device-specific code.
- *
- * @param[in] port the port identifier
- * @param[in] mask the group mask
- * @param[in] mode the mode
- *
- * @notapi
- */
-void _pal_lld_setgroupmode(ioportid_t port,
- ioportmask_t mask,
- iomode_t mode) {
-
- switch (mode) {
- case PAL_MODE_RESET:
- case PAL_MODE_INPUT:
- LPC_GPIO_PORT->DIR[port] &= ~mask;
- break;
- case PAL_MODE_UNCONNECTED:
- palSetPort(port, PAL_WHOLE_PORT);
- case PAL_MODE_OUTPUT_PUSHPULL:
- LPC_GPIO_PORT->DIR[port] |= mask;
- break;
- }
-}
-
-#endif /* HAL_USE_PAL */
-
-/** @} */