hc
2024-05-09 b9d5c334faa47a75f1f28e72d203fc0334e8471d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __LINUX_XILINX_LL_TEMAC_H
#define __LINUX_XILINX_LL_TEMAC_H
 
#include <linux/if_ether.h>
#include <linux/phy.h>
#include <linux/spinlock.h>
 
struct ll_temac_platform_data {
   bool txcsum;        /* Enable/disable TX checksum */
   bool rxcsum;        /* Enable/disable RX checksum */
   u8 mac_addr[ETH_ALEN];    /* MAC address (6 bytes) */
   /* Clock frequency for input to MDIO clock generator */
   u32 mdio_clk_freq;
   unsigned long long mdio_bus_id; /* Unique id for MDIO bus */
   int phy_addr;        /* Address of the PHY to connect to */
   phy_interface_t phy_interface; /* PHY interface mode */
   bool reg_little_endian;    /* Little endian TEMAC register access  */
   bool dma_little_endian;    /* Little endian DMA register access  */
   /* Pre-initialized mutex to use for synchronizing indirect
    * register access.  When using both interfaces of a single
    * TEMAC IP block, the same mutex should be passed here, as
    * they share the same DCR bus bridge.
    */
   spinlock_t *indirect_lock;
   /* DMA channel control setup */
   u8 tx_irq_timeout;    /* TX Interrupt Delay Time-out */
   u8 tx_irq_count;    /* TX Interrupt Coalescing Threshold Count */
   u8 rx_irq_timeout;    /* RX Interrupt Delay Time-out */
   u8 rx_irq_count;    /* RX Interrupt Coalescing Threshold Count */
};
 
#endif /* __LINUX_XILINX_LL_TEMAC_H */