diff options
author | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-09-25 14:56:57 +0000 |
---|---|---|
committer | gdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2009-09-25 14:56:57 +0000 |
commit | 7c2813c27119ed1f3c9c433dc37583cc919d5a3f (patch) | |
tree | 5f5cc8ea003f288e05a06c9d14ea9aaf5b8e11f3 /os/io/phy.c | |
parent | df471c97569f94d75efcdd00d19274bab243c981 (diff) | |
download | ChibiOS-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.c | 79 |
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) {
+
+}
+
/** @} */
|