aboutsummaryrefslogtreecommitdiffstats
path: root/os/io/phy.c
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-09-25 14:56:57 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-09-25 14:56:57 +0000
commit7c2813c27119ed1f3c9c433dc37583cc919d5a3f (patch)
tree5f5cc8ea003f288e05a06c9d14ea9aaf5b8e11f3 /os/io/phy.c
parentdf471c97569f94d75efcdd00d19274bab243c981 (diff)
downloadChibiOS-7c2813c27119ed1f3c9c433dc37583cc919d5a3f.tar.gz
ChibiOS-7c2813c27119ed1f3c9c433dc37583cc919d5a3f.tar.bz2
ChibiOS-7c2813c27119ed1f3c9c433dc37583cc919d5a3f.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1181 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/io/phy.c')
-rw-r--r--os/io/phy.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/os/io/phy.c b/os/io/phy.c
index d03c5b1d3..7c61019dd 100644
--- a/os/io/phy.c
+++ b/os/io/phy.c
@@ -25,6 +25,85 @@
*/
#include <ch.h>
+#include <mac.h>
#include <phy.h>
+/**
+ * @brief Interface status.
+ */
+static enum {ifStopped = 0, ifStarted} state;
+
+/**
+ * @brief PHY Driver initialization.
+ */
+void phyInit(void) {
+
+ state = ifStopped;
+}
+
+/**
+ * Initializes a PHY device.
+ *
+ * @param[in] macp pointer to the @p MACDriver object
+ */
+void phyReset(MACDriver *macp) {
+
+}
+
+/**
+ * @brief Puts the PHY device in active mode.
+ *
+ * @param[in] macp pointer to the @p MACDriver object
+ */
+void phyStart(MACDriver *macp) {
+
+ chSysLock();
+ if (state == ifStarted) {
+ chSysUnlock();
+ return;
+ }
+ state = ifStarted;
+ chSysUnlock();
+ phy_lld_start(macp);
+}
+
+/**
+ * @brief Puts the PHY device in a low power mode.
+ *
+ * @param[in] macp pointer to the @p MACDriver object
+ */
+void phyStop(MACDriver *macp) {
+
+ chSysLock();
+ if (state == ifStopped) {
+ chSysUnlock();
+ return;
+ }
+ state = ifStopped;
+ chSysUnlock();
+ phy_lld_stop(macp);
+}
+
+/**
+ * @brief Reads a PHY register.
+ *
+ * @param[in] macp pointer to the @p MACDriver object
+ * @param addr the register address
+ * @return The register value.
+ */
+phyreg_t phyGet(MACDriver *macp, phyaddr_t addr) {
+
+}
+
+/**
+ * @brief Writes a PHY register.
+ *
+ * @param[in] macp pointer to the @p MACDriver object
+ * @param addr the register address
+ * @param value the new register value
+ */
+void phyPut(MACDriver *macp, phyaddr_t addr, phyreg_t value) {
+
+}
+
/** @} */