Download firmware/hal/ethernet.h from Snapkitty/phaser-ags: direct link, hf CLI and curl.
- Browser
- Download file 3.21 kB
-
https://huggingface.co/Snapkitty/phaser-ags/resolve/main/firmware/hal/ethernet.h
- Command line
-
hf download hf://Snapkitty/phaser-ags/firmware/hal/ethernet.h
-
curl -L -o ethernet.h https://huggingface.co/Snapkitty/phaser-ags/resolve/main/firmware/hal/ethernet.h
3.21 kB
| /* | |
| * OMAP3530 EMAC (Ethernet MAC) + MDIO driver | |
| * OMAP3530 has built-in EMAC (10/100) + MDIO for PHY management | |
| * Modeled on IMX6 Platinum platinum_setup_enet() pattern: | |
| * PHY in reset → pinmux → delay → release → MDIO ready → clock enable | |
| */ | |
| /* EMAC base addresses */ | |
| /* MDIO register offsets (within EMAC space) */ | |
| /* MDIO_CTRL bits */ | |
| /* MDIO_USERACCESS bits */ | |
| /* EMAC registers */ | |
| typedef struct { | |
| hw_reg32_t mdio_base; | |
| hw_reg32_t emac_base; | |
| uint8_t phy_addr; | |
| uint32_t link_speed; /* 10 or 100 */ | |
| int link_up; | |
| } eth_dev_t; | |
| int eth_init(eth_dev_t *dev, uint32_t mdio_base, uint32_t emac_base, uint8_t phy_addr); | |
| int mdio_read(eth_dev_t *dev, uint8_t phy, uint8_t reg); | |
| int mdio_write(eth_dev_t *dev, uint8_t phy, uint8_t reg, uint16_t val); | |
| int eth_phy_reset(eth_dev_t *dev, gpio_dev_t *gpio, uint8_t pin); | |
| int eth_phy_config(eth_dev_t *dev); | |
| int eth_link_check(eth_dev_t *dev); | |
| void eth_get_mac(eth_dev_t *dev, uint8_t mac[6]); | |
| void eth_set_mac(eth_dev_t *dev, const uint8_t mac[6]); | |
| /* Standard MII registers */ | |
| /* BMCR bits */ | |
| /* BMSR bits */ | |