stmmac.h (5acac83bf2e42f51ab9fd315d657798754bf0bb8) stmmac.h (8532f613bc78b6e0e32b486e720848d3f5569287)
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*******************************************************************************
3
4 Header file for stmmac platform data
5
6 Copyright (C) 2009 STMicroelectronics Ltd
7
8

--- 67 unchanged lines hidden (view full) ---

76 | DMA_AXI_BLEN_32 | DMA_AXI_BLEN_64 \
77 | DMA_AXI_BLEN_128 | DMA_AXI_BLEN_256)
78
79/* Platfrom data for platform device structure's platform_data field */
80
81struct stmmac_mdio_bus_data {
82 unsigned int phy_mask;
83 unsigned int has_xpcs;
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*******************************************************************************
3
4 Header file for stmmac platform data
5
6 Copyright (C) 2009 STMicroelectronics Ltd
7
8

--- 67 unchanged lines hidden (view full) ---

76 | DMA_AXI_BLEN_32 | DMA_AXI_BLEN_64 \
77 | DMA_AXI_BLEN_128 | DMA_AXI_BLEN_256)
78
79/* Platfrom data for platform device structure's platform_data field */
80
81struct stmmac_mdio_bus_data {
82 unsigned int phy_mask;
83 unsigned int has_xpcs;
84 unsigned int xpcs_an_inband;
84 int *irqs;
85 int probed_phy_irq;
86 bool needs_reset;
87};
88
89struct stmmac_dma_cfg {
90 int pbl;
91 int txpbl;

--- 46 unchanged lines hidden (view full) ---

138 u32 idle_slope;
139 u32 high_credit;
140 u32 low_credit;
141 bool use_prio;
142 u32 prio;
143 int tbs_en;
144};
145
85 int *irqs;
86 int probed_phy_irq;
87 bool needs_reset;
88};
89
90struct stmmac_dma_cfg {
91 int pbl;
92 int txpbl;

--- 46 unchanged lines hidden (view full) ---

139 u32 idle_slope;
140 u32 high_credit;
141 u32 low_credit;
142 bool use_prio;
143 u32 prio;
144 int tbs_en;
145};
146
147/* FPE link state */
148enum stmmac_fpe_state {
149 FPE_STATE_OFF = 0,
150 FPE_STATE_CAPABLE = 1,
151 FPE_STATE_ENTERING_ON = 2,
152 FPE_STATE_ON = 3,
153};
154
155/* FPE link-partner hand-shaking mPacket type */
156enum stmmac_mpacket_type {
157 MPACKET_VERIFY = 0,
158 MPACKET_RESPONSE = 1,
159};
160
161enum stmmac_fpe_task_state_t {
162 __FPE_REMOVING,
163 __FPE_TASK_SCHED,
164};
165
166struct stmmac_fpe_cfg {
167 bool enable; /* FPE enable */
168 bool hs_enable; /* FPE handshake enable */
169 enum stmmac_fpe_state lp_fpe_state; /* Link Partner FPE state */
170 enum stmmac_fpe_state lo_fpe_state; /* Local station FPE state */
171};
172
146struct plat_stmmacenet_data {
147 int bus_id;
148 int phy_addr;
149 int interface;
150 phy_interface_t phy_interface;
151 struct stmmac_mdio_bus_data *mdio_bus_data;
152 struct device_node *phy_node;
153 struct device_node *phylink_node;
154 struct device_node *mdio_node;
155 struct stmmac_dma_cfg *dma_cfg;
156 struct stmmac_est *est;
173struct plat_stmmacenet_data {
174 int bus_id;
175 int phy_addr;
176 int interface;
177 phy_interface_t phy_interface;
178 struct stmmac_mdio_bus_data *mdio_bus_data;
179 struct device_node *phy_node;
180 struct device_node *phylink_node;
181 struct device_node *mdio_node;
182 struct stmmac_dma_cfg *dma_cfg;
183 struct stmmac_est *est;
184 struct stmmac_fpe_cfg *fpe_cfg;
157 int clk_csr;
158 int has_gmac;
159 int enh_desc;
160 int tx_coe;
161 int rx_coe;
162 int bugged_jumbo;
163 int pmt;
164 int force_sf_dma_mode;

--- 10 unchanged lines hidden (view full) ---

175 u32 tx_queues_to_use;
176 u8 rx_sched_algorithm;
177 u8 tx_sched_algorithm;
178 struct stmmac_rxq_cfg rx_queues_cfg[MTL_MAX_RX_QUEUES];
179 struct stmmac_txq_cfg tx_queues_cfg[MTL_MAX_TX_QUEUES];
180 void (*fix_mac_speed)(void *priv, unsigned int speed);
181 int (*serdes_powerup)(struct net_device *ndev, void *priv);
182 void (*serdes_powerdown)(struct net_device *ndev, void *priv);
185 int clk_csr;
186 int has_gmac;
187 int enh_desc;
188 int tx_coe;
189 int rx_coe;
190 int bugged_jumbo;
191 int pmt;
192 int force_sf_dma_mode;

--- 10 unchanged lines hidden (view full) ---

203 u32 tx_queues_to_use;
204 u8 rx_sched_algorithm;
205 u8 tx_sched_algorithm;
206 struct stmmac_rxq_cfg rx_queues_cfg[MTL_MAX_RX_QUEUES];
207 struct stmmac_txq_cfg tx_queues_cfg[MTL_MAX_TX_QUEUES];
208 void (*fix_mac_speed)(void *priv, unsigned int speed);
209 int (*serdes_powerup)(struct net_device *ndev, void *priv);
210 void (*serdes_powerdown)(struct net_device *ndev, void *priv);
211 void (*ptp_clk_freq_config)(void *priv);
183 int (*init)(struct platform_device *pdev, void *priv);
184 void (*exit)(struct platform_device *pdev, void *priv);
185 struct mac_device_info *(*setup)(void *priv);
212 int (*init)(struct platform_device *pdev, void *priv);
213 void (*exit)(struct platform_device *pdev, void *priv);
214 struct mac_device_info *(*setup)(void *priv);
215 int (*clks_config)(void *priv, bool enabled);
216 int (*crosststamp)(ktime_t *device, struct system_counterval_t *system,
217 void *ctx);
186 void *bsp_priv;
187 struct clk *stmmac_clk;
188 struct clk *pclk;
189 struct clk *clk_ptp_ref;
190 unsigned int clk_ptp_rate;
191 unsigned int clk_ref_rate;
192 s32 ptp_max_adj;
193 struct reset_control *stmmac_rst;

--- 4 unchanged lines hidden (view full) ---

198 int rss_en;
199 int mac_port_sel_speed;
200 bool en_tx_lpi_clockgating;
201 int has_xgmac;
202 bool vlan_fail_q_en;
203 u8 vlan_fail_q;
204 unsigned int eee_usecs_rate;
205 struct pci_dev *pdev;
218 void *bsp_priv;
219 struct clk *stmmac_clk;
220 struct clk *pclk;
221 struct clk *clk_ptp_ref;
222 unsigned int clk_ptp_rate;
223 unsigned int clk_ref_rate;
224 s32 ptp_max_adj;
225 struct reset_control *stmmac_rst;

--- 4 unchanged lines hidden (view full) ---

230 int rss_en;
231 int mac_port_sel_speed;
232 bool en_tx_lpi_clockgating;
233 int has_xgmac;
234 bool vlan_fail_q_en;
235 u8 vlan_fail_q;
236 unsigned int eee_usecs_rate;
237 struct pci_dev *pdev;
238 bool has_crossts;
239 int int_snapshot_num;
240 bool multi_msi_en;
241 int msi_mac_vec;
242 int msi_wol_vec;
243 int msi_lpi_vec;
244 int msi_sfty_ce_vec;
245 int msi_sfty_ue_vec;
246 int msi_rx_base_vec;
247 int msi_tx_base_vec;
206};
207#endif
248};
249#endif