aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/platforms/LPC13xx
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-05-16 12:17:39 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-05-16 12:17:39 +0000
commitb5b34a5b9b97fa19bac7c5c830885c757223bbe2 (patch)
treebbbf783f8be66e48caa2ab4f24b2b9f5c722f738 /os/hal/platforms/LPC13xx
parentce50d026fc9e6a977f8f3d74f70a519063d13c00 (diff)
downloadChibiOS-b5b34a5b9b97fa19bac7c5c830885c757223bbe2.tar.gz
ChibiOS-b5b34a5b9b97fa19bac7c5c830885c757223bbe2.tar.bz2
ChibiOS-b5b34a5b9b97fa19bac7c5c830885c757223bbe2.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1928 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/hal/platforms/LPC13xx')
-rw-r--r--os/hal/platforms/LPC13xx/pal_lld.c12
-rw-r--r--os/hal/platforms/LPC13xx/pal_lld.h2
2 files changed, 12 insertions, 2 deletions
diff --git a/os/hal/platforms/LPC13xx/pal_lld.c b/os/hal/platforms/LPC13xx/pal_lld.c
index a38b79e09..f63650c0f 100644
--- a/os/hal/platforms/LPC13xx/pal_lld.c
+++ b/os/hal/platforms/LPC13xx/pal_lld.c
@@ -87,7 +87,17 @@ void _pal_lld_setgroupmode(ioportid_t port,
ioportmask_t mask,
uint_fast8_t mode) {
- (void)port; (void)mask; (void)mode;
+ switch (mode & PAL_MODE_MASK) {
+ case PAL_MODE_RESET:
+ case PAL_MODE_INPUT:
+ port->DIR &= ~mask;
+ break;
+ case PAL_MODE_UNCONNECTED:
+ palSetPort(port, PAL_WHOLE_PORT);
+ case PAL_MODE_OUTPUT_PUSHPULL:
+ port->DIR |= mask;
+ break;
+ }
}
#endif /* CH_HAL_USE_PAL */
diff --git a/os/hal/platforms/LPC13xx/pal_lld.h b/os/hal/platforms/LPC13xx/pal_lld.h
index b8dd9d4d9..9e3c33695 100644
--- a/os/hal/platforms/LPC13xx/pal_lld.h
+++ b/os/hal/platforms/LPC13xx/pal_lld.h
@@ -85,7 +85,7 @@ typedef struct {
* @brief Whole port mask.
* @brief This macro specifies all the valid bits into a port.
*/
-#define PAL_WHOLE_PORT ((ioportmask_t)0xFFFFFFFF)
+#define PAL_WHOLE_PORT ((ioportmask_t)0xFFF)
/**
* @brief Digital I/O port sized unsigned type.