projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add definitions for 24C32, 24C64 and 24C128 eeproms. Use the right eeprom type.
[bertos.git]
/
bertos
/
drv
/
eth.h
diff --git
a/bertos/drv/eth.h
b/bertos/drv/eth.h
index 3caacb59c725f7ac0d65433a896976985e3ae7ca..ed2413839b02c508875c8e2cf6ed90187b50a424 100644
(file)
--- a/
bertos/drv/eth.h
+++ b/
bertos/drv/eth.h
@@
-36,20
+36,26
@@
*
* $WIZ$ module_name = "eth"
* $WIZ$ module_configuration = "bertos/cfg/cfg_eth.h"
*
* $WIZ$ module_name = "eth"
* $WIZ$ module_configuration = "bertos/cfg/cfg_eth.h"
- * $WIZ$ module_supports = "at91sam7x"
+ * $WIZ$ module_supports = "at91sam7x or sam3x"
+ * $WIZ$ module_hw = "bertos/hw/hw_eth.h", "bertos/hw/hw_eth.c"
*/
#ifndef DRV_ETH_H
#define DRV_ETH_H
*/
#ifndef DRV_ETH_H
#define DRV_ETH_H
+#include "hw/hw_eth.h"
+#include "cfg/cfg_eth.h"
+
+#include <drv/phy.h>
+
#include <cpu/types.h>
#include <cpu/types.h>
+
#define ETH_ADDR_LEN 6
#define ETH_HEAD_LEN 14
#define ETH_DATA_LEN 1500
#define ETH_FRAME_LEN (ETH_HEAD_LEN + ETH_DATA_LEN)
#define ETH_ADDR_LEN 6
#define ETH_HEAD_LEN 14
#define ETH_DATA_LEN 1500
#define ETH_FRAME_LEN (ETH_HEAD_LEN + ETH_DATA_LEN)
-
-#define ETH_TYPE_IP 0x0800
+#define ETH_TYPE_IP 0x0800
typedef union Ethernet
{
typedef union Ethernet
{
@@
-119,10
+125,15
@@
INLINE bool eth_addrCmp(const uint8_t *addr1, const uint8_t *addr2)
(addr1[5] ^ addr2[5]));
}
(addr1[5] ^ addr2[5]));
}
+ssize_t eth_putFrame(const uint8_t *buf, size_t len);
+void eth_sendFrame(void);
+
+size_t eth_getFrameLen(void);
+ssize_t eth_getFrame(uint8_t *buf, size_t len);
+
ssize_t eth_send(const uint8_t *buf, size_t len);
ssize_t eth_recv(uint8_t *buf, size_t len);
ssize_t eth_send(const uint8_t *buf, size_t len);
ssize_t eth_recv(uint8_t *buf, size_t len);
-int eth_init(void);
-
extern uint8_t mac_addr[ETH_ADDR_LEN]
;
+
int eth_init(void)
;
#endif /* DRV_ETH_H */
#endif /* DRV_ETH_H */