Jx 518l Ethernet Driver -

  • Implement EEE and power-down modes if supported.
  • /* allocate DMA-coherent memory for rings */
    tx_ring = dma_alloc_coherent(...);
    rx_ring = dma_alloc_coherent(...);
    /* program base addresses */
    write_reg(TX_DESC_BASE_LO, lower_32(tx_ring_dma));
    write_reg(TX_DESC_BASE_HI, upper_32(tx_ring_dma));
    write_reg(RX_DESC_BASE_LO, lower_32(rx_ring_dma));
    ...
    /* enable MAC */
    write_reg(MAC_CTRL, MAC_CTRL_RX_EN | MAC_CTRL_TX_EN);
    
    int jx518l_poll(struct napi_struct *napi, int budget) 
      struct queue *q = container_of(napi, struct queue, napi);
      int work = 0;
    while (work < budget && has_completed_rx(q)) 
        struct skb *skb = process_rx_desc(q);
        napi_gro_receive(&q->napi, skb, q->gro_list);
        work++;
    if (work < budget) 
        napi_complete(napi);
        unmask_irq(q->vector);
    return work;
    

    Issue: "Unidentified Network" or "No Internet Access"

    Issue: Driver install fails / "Hash for file is not present" Jx 518l Ethernet Driver

    Issue: Speed stuck at 10Mbps or 100Mbps

    | Parameter | Value | | :--- | :--- | | Model | JX 518L | | Bus Type | [e.g., 8-bit parallel / SPI] | | MAC Address | Pre-programmed (or EEPROM writable) | | LED Indicators | Link/Activity, Speed (100M) | | Power Consumption | < 300 mA (typical) | | Package | LQFP-48 / QFN-32 (as applicable) | | ESD Protection | ±8kV (Contact) / ±15kV (Air) | Implement EEE and power-down modes if supported