1 /* SPDX-License-Identifier: BSD-3-Clause
9 #include <rte_ethdev.h>
10 #include <rte_ethdev_vdev.h>
13 #define GEMAC_NO_PHY BIT(0)
15 #define PFE_SOC_ID_FILE "/sys/devices/soc0/soc_id"
16 extern unsigned int pfe_svr;
17 #define SVR_LS1012A_REV2 0x87040020
18 #define SVR_LS1012A_REV1 0x87040010
20 struct ls1012a_eth_platform_data {
21 /* device specific information */
25 /* board specific information */
32 u8 mac_addr[ETH_ALEN];
35 struct ls1012a_mdio_platform_data {
42 struct ls1012a_pfe_platform_data {
43 struct ls1012a_eth_platform_data ls1012a_eth_pdata[3];
44 struct ls1012a_mdio_platform_data ls1012a_mdio_pdata[3];
47 #define EMAC_TXQ_CNT 16
48 #define EMAC_TXQ_DEPTH (HIF_TX_DESC_NT)
50 #define JUMBO_FRAME_SIZE 10258
51 #define EMAC_RXQ_CNT 1
52 #define EMAC_RXQ_DEPTH HIF_RX_DESC_NT
54 struct pfe_eth_priv_s {
58 struct rte_eth_dev *ndev;
59 struct rte_eth_stats stats;
64 spinlock_t lock; /* protect member variables */
66 /* This points to the EMAC base from where we access PHY */
70 struct ls1012a_eth_platform_data *einfo;
73 #endif /* _PFE_ETH_H_ */