-/*\r
- * Copyright (c) 2005 Arched Rock Corporation \r
- * All rights reserved. \r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions are\r
- * met:\r
- * Redistributions of source code must retain the above copyright\r
- * notice, this list of conditions and the following disclaimer.\r
- * Redistributions in binary form must reproduce the above copyright\r
- * notice, this list of conditions and the following disclaimer in the\r
- * documentation and/or other materials provided with the distribution.\r
- * \r
- * Neither the name of the Arched Rock Corporation nor the names of its\r
- * contributors may be used to endorse or promote products derived from\r
- * this software without specific prior written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\r
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ARCHED\r
- * ROCK OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS\r
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\r
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR\r
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE\r
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH\r
- * DAMAGE.\r
- */\r
-/**\r
- * This interface provides a 'per-pin' abstraction for the PXA27x\r
- * GPIO system. It is parameterized by the specific GPIO Pin number\r
- * of the PXA27x. \r
- *\r
- * @author Phil Buonadonna\r
- */\r
-\r
-interface HplPXA27xGPIOPin \r
-{\r
- /** \r
- * Returns the logic state of a GPIO Pin.\r
- *\r
- * @return bool TRUE if logic '1', FALSE if logic '0'\r
- */\r
- async command bool getGPLRbit();\r
-\r
- /** \r
- * Configures the direction of a GPIO pin.\r
- *\r
- * @param dir TRUE to configure as an output, FALSE to configure as an input.\r
- */\r
- async command void setGPDRbit(bool dir);\r
-\r
- /** \r
- * Get's the current pin direction configuration.\r
- *\r
- * @return bool TRUE if configured as an output, FALSE if configured \r
- * as an input.\r
- */\r
- async command bool getGPDRbit();\r
-\r
- /** \r
- * Sets a GPIO pin configured as an output to a HIGH state.\r
- *\r
- */\r
- async command void setGPSRbit();\r
-\r
- /** \r
- * Sets a GPIO pin configured as an output to a LOW state.\r
- *\r
- */\r
- async command void setGPCRbit();\r
-\r
- /** \r
- * Enables/Disables events on the rising edge of a GPIO pin \r
- * signal. Calls to this function are independent of calls\r
- * to 'setFallingEDEnable()'\r
- *\r
- * @param flag TRUE to enable rising edge detection, FASLE to\r
- * disable.\r
- *\r
- */\r
- async command void setGRERbit(bool flag);\r
-\r
- /** \r
- * Returns the status of rising edge detection.\r
- *\r
- * @return val TRUE if rising edge detection is enable, FALSE\r
- * otherwise.\r
- */\r
- async command bool getGRERbit();\r
-\r
- /** \r
- * Enables/Disables events on the falling edge of a GPIO pin \r
- * signal. Calls to this function are independent of calls to\r
- * 'setRisingEDEnable()'\r
- *\r
- * @param flag TRUE to enable falling edge detection, FASLE to\r
- * disable.\r
- */\r
- async command void setGFERbit(bool flag);\r
-\r
- /** \r
- * Returns the status of falling edge detection.\r
- *\r
- * @return val TRUE if falling edge detection is enable, FALSE\r
- * otherwise.\r
- */\r
- async command bool getGFERbit();\r
-\r
- /** \r
- * Indicates wether an edge detection event is pending for GPIO Pin\r
- *\r
- * @return val TRUE if an event is pending.\r
- */\r
- async command bool getGEDRbit();\r
-\r
- /** \r
- * Clears the edge detection event status.\r
- *\r
- * @return val TRUE if there was a pending event prior to clearing, \r
- * FALSE otherwise.\r
- */\r
- async command bool clearGEDRbit();\r
-\r
- /** \r
- * Sets the GPIO pin to one of it's alternate peripheral functions.\r
- * Refer to the PXA27x Developers Manual for information on available\r
- * alternate functions.\r
- *\r
- * @param func An integer between 0 and 3 indicating the desired \r
- * pin alternate function. \r
- */\r
- async command void setGAFRpin(uint8_t func);\r
-\r
- /** \r
- * Returns the current alternate function selected for the GPIO pin.\r
- *\r
- * @return val An integer between 0 and 3 indicated the current\r
- * alternate function.\r
- */\r
- async command uint8_t getGAFRpin();\r
-\r
- /** \r
- * The pin edge detection event. Signalled when a rising/falling edge\r
- * occurs on the PIN and the respective edge detect enable is set.\r
- * The default event DOES NOT clear any pending requests.\r
- *\r
- */\r
- async event void interruptGPIOPin();\r
-}\r
-\r
+/*
+ * Copyright (c) 2005 Arched Rock Corporation
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 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.
+ *
+ * Neither the name of the Arched Rock Corporation nor the names of its
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ARCHED
+ * ROCK OR ITS CONTRIBUTORS 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.
+ */
+/**
+ * This interface provides a 'per-pin' abstraction for the PXA27x
+ * GPIO system. It is parameterized by the specific GPIO Pin number
+ * of the PXA27x.
+ *
+ * @author Phil Buonadonna
+ */
+
+interface HplPXA27xGPIOPin
+{
+ /**
+ * Returns the logic state of a GPIO Pin.
+ *
+ * @return bool TRUE if logic '1', FALSE if logic '0'
+ */
+ async command bool getGPLRbit();
+
+ /**
+ * Configures the direction of a GPIO pin.
+ *
+ * @param dir TRUE to configure as an output, FALSE to configure as an input.
+ */
+ async command void setGPDRbit(bool dir);
+
+ /**
+ * Get's the current pin direction configuration.
+ *
+ * @return bool TRUE if configured as an output, FALSE if configured
+ * as an input.
+ */
+ async command bool getGPDRbit();
+
+ /**
+ * Sets a GPIO pin configured as an output to a HIGH state.
+ *
+ */
+ async command void setGPSRbit();
+
+ /**
+ * Sets a GPIO pin configured as an output to a LOW state.
+ *
+ */
+ async command void setGPCRbit();
+
+ /**
+ * Enables/Disables events on the rising edge of a GPIO pin
+ * signal. Calls to this function are independent of calls
+ * to 'setFallingEDEnable()'
+ *
+ * @param flag TRUE to enable rising edge detection, FASLE to
+ * disable.
+ *
+ */
+ async command void setGRERbit(bool flag);
+
+ /**
+ * Returns the status of rising edge detection.
+ *
+ * @return val TRUE if rising edge detection is enable, FALSE
+ * otherwise.
+ */
+ async command bool getGRERbit();
+
+ /**
+ * Enables/Disables events on the falling edge of a GPIO pin
+ * signal. Calls to this function are independent of calls to
+ * 'setRisingEDEnable()'
+ *
+ * @param flag TRUE to enable falling edge detection, FASLE to
+ * disable.
+ */
+ async command void setGFERbit(bool flag);
+
+ /**
+ * Returns the status of falling edge detection.
+ *
+ * @return val TRUE if falling edge detection is enable, FALSE
+ * otherwise.
+ */
+ async command bool getGFERbit();
+
+ /**
+ * Indicates wether an edge detection event is pending for GPIO Pin
+ *
+ * @return val TRUE if an event is pending.
+ */
+ async command bool getGEDRbit();
+
+ /**
+ * Clears the edge detection event status.
+ *
+ * @return val TRUE if there was a pending event prior to clearing,
+ * FALSE otherwise.
+ */
+ async command bool clearGEDRbit();
+
+ /**
+ * Sets the GPIO pin to one of it's alternate peripheral functions.
+ * Refer to the PXA27x Developers Manual for information on available
+ * alternate functions.
+ *
+ * @param func An integer between 0 and 3 indicating the desired
+ * pin alternate function.
+ */
+ async command void setGAFRpin(uint8_t func);
+
+ /**
+ * Returns the current alternate function selected for the GPIO pin.
+ *
+ * @return val An integer between 0 and 3 indicated the current
+ * alternate function.
+ */
+ async command uint8_t getGAFRpin();
+
+ /**
+ * The pin edge detection event. Signalled when a rising/falling edge
+ * occurs on the PIN and the respective edge detect enable is set.
+ * The default event DOES NOT clear any pending requests.
+ *
+ */
+ async event void interruptGPIOPin();
+}
+