MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / cme_m7_eth_init

Function cme_m7_eth_init

bsp/CME_M7/drivers/emac.c:369–421  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

367}
368
369int cme_m7_eth_init(void)
370{
371// /* PHY RESET: PA4 */
372// {
373// GPIO_ResetBits(GPIOA, GPIO_Pin_4);
374// rt_thread_delay(2);
375// GPIO_SetBits(GPIOA, GPIO_Pin_4);
376// rt_thread_delay(2);
377// }
378
379// GPIO_Configuration();
380 NVIC_Configuration();
381
382// cme_eth_device.ETH_Speed = ETH_Speed_100M;
383// cme_eth_device.ETH_Mode = ETH_Mode_FullDuplex;
384
385 /* OUI 00-80-E1 STMICROELECTRONICS. */
386 cme_eth_device.dev_addr[0] = 0x00;
387 cme_eth_device.dev_addr[1] = 0x80;
388 cme_eth_device.dev_addr[2] = 0xE1;
389 /* generate MAC addr from 96bit unique ID (only for test). */
390// cme_eth_device.dev_addr[3] = *(rt_uint8_t*)(0x1FFF7A10+4);
391// cme_eth_device.dev_addr[4] = *(rt_uint8_t*)(0x1FFF7A10+2);
392// cme_eth_device.dev_addr[5] = *(rt_uint8_t*)(0x1FFF7A10+0);
393 cme_eth_device.dev_addr[3] = 12;
394 cme_eth_device.dev_addr[4] = 34;
395 cme_eth_device.dev_addr[5] = 56;
396
397 cme_eth_device.parent.parent.init = rt_cme_eth_init;
398 cme_eth_device.parent.parent.open = rt_cme_eth_open;
399 cme_eth_device.parent.parent.close = rt_cme_eth_close;
400 cme_eth_device.parent.parent.read = rt_cme_eth_read;
401 cme_eth_device.parent.parent.write = rt_cme_eth_write;
402 cme_eth_device.parent.parent.control = rt_cme_eth_control;
403 cme_eth_device.parent.parent.user_data = RT_NULL;
404
405 cme_eth_device.parent.eth_rx = rt_cme_eth_rx;
406 cme_eth_device.parent.eth_tx = rt_cme_eth_tx;
407
408 /* init EMAC lock */
409 rt_mutex_init(&cme_eth_device.lock, "emac0", RT_IPC_FLAG_PRIO);
410
411 /* init tx buffer free semaphore */
412 rt_sem_init(&cme_eth_device.tx_buf_free,
413 "tx_buf",
414 ETH_TXBUFNB,
415 RT_IPC_FLAG_FIFO);
416
417 /* register eth device */
418 eth_device_init(&(cme_eth_device.parent), "e0");
419
420 return RT_EOK;
421}
422
423void ETH_IRQHandler(void)
424{

Callers 1

rt_init_thread_entryFunction · 0.85

Calls 4

rt_mutex_initFunction · 0.85
rt_sem_initFunction · 0.85
eth_device_initFunction · 0.85
NVIC_ConfigurationFunction · 0.70

Tested by

no test coverage detected