aboutsummaryrefslogtreecommitdiffstats
path: root/os/io/platforms/AT91SAM7X/mac_lld.h
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-09-27 12:00:29 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2009-09-27 12:00:29 +0000
commit38c94f357079127077ad92a1f115081474f69db3 (patch)
tree25658c8d52c9ed0d7707d0572096748c9896e839 /os/io/platforms/AT91SAM7X/mac_lld.h
parentaee118ec3bf99ba1af94bdf321c91d91553e9835 (diff)
downloadChibiOS-38c94f357079127077ad92a1f115081474f69db3.tar.gz
ChibiOS-38c94f357079127077ad92a1f115081474f69db3.tar.bz2
ChibiOS-38c94f357079127077ad92a1f115081474f69db3.zip
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1186 35acf78f-673a-0410-8e92-d51de3d6d3f4
Diffstat (limited to 'os/io/platforms/AT91SAM7X/mac_lld.h')
-rw-r--r--os/io/platforms/AT91SAM7X/mac_lld.h21
1 files changed, 15 insertions, 6 deletions
diff --git a/os/io/platforms/AT91SAM7X/mac_lld.h b/os/io/platforms/AT91SAM7X/mac_lld.h
index 68bed475d..c854c0029 100644
--- a/os/io/platforms/AT91SAM7X/mac_lld.h
+++ b/os/io/platforms/AT91SAM7X/mac_lld.h
@@ -42,6 +42,13 @@
/* EMAC specific constants and settings. */
/*===========================================================================*/
+/**
+ * @brief Interrupt priority level for the EMAC device.
+ */
+#if !defined(EMAC_INTERRUPT_PRIORITY) || defined(__DOXYGEN__)
+#define EMAC_INTERRUPT_PRIORITY (AT91C_AIC_PRIOR_HIGHEST - 3)
+#endif
+
#define EMAC_RECEIVE_BUFFERS 24
#define EMAC_RECEIVE_BUFFERS_SIZE 128 /* Do not modify */
#define EMAC_TRANSMIT_BUFFERS MAC_TRANSMIT_DESCRIPTORS
@@ -89,8 +96,6 @@
* @brief Structure representing a MAC driver.
*/
typedef struct {
- enum {ifStopped = 0,
- ifStarted} md_state; /**< @brief Interface status.*/
Semaphore md_tdsem; /**< Transmit semaphore.*/
Semaphore md_rdsem; /**< Receive semaphore.*/
} MACDriver;
@@ -117,24 +122,28 @@ typedef struct {
/* External declarations. */
/*===========================================================================*/
+/** @cond never*/
+extern MACDriver MAC1;
+
#ifdef __cplusplus
extern "C" {
#endif
void mac_lld_init(void);
void mac_lld_set_address(MACDriver *macp, uint8_t *p);
- void mac_lld_start(MACDriver *macp);
- void mac_lld_stop(MACDriver *macp);
- MACTransmitDescriptor *max_lld_get_transmit_descriptor(MACDriver *macp);
+ MACTransmitDescriptor *max_lld_get_transmit_descriptor(MACDriver *macp,
+ size_t size);
void mac_lld_release_transmit_descriptor(MACDriver *macp,
MACTransmitDescriptor *tdp);
uint8_t *mac_lld_get_transmit_buffer(MACTransmitDescriptor *tdp);
- MACReceiveDescriptor *max_lld_get_receive_descriptor(MACDriver *macp);
+ MACReceiveDescriptor *max_lld_get_receive_descriptor(MACDriver *macp,
+ size_t *szp);
void mac_lld_release_receive_descriptor(MACDriver *macp,
MACReceiveDescriptor *rdp);
uint8_t *mac_lld_get_receive_buffer(MACReceiveDescriptor *rdp);
#ifdef __cplusplus
}
#endif
+/** @endcond*/
#endif /* _MAC_LLD_H_ */