Merge tag 'kbuild-v6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
[linux-block.git] / include / linux / stmmac.h
index a2414c18748370f40c0e8d99c0056e56103a26af..225751a8fd8e39a3611e65178828d7e41843867f 100644 (file)
@@ -186,6 +186,24 @@ struct stmmac_safety_feature_cfg {
        u32 tmouten;
 };
 
+/* Addresses that may be customized by a platform */
+struct dwmac4_addrs {
+       u32 dma_chan;
+       u32 dma_chan_offset;
+       u32 mtl_chan;
+       u32 mtl_chan_offset;
+       u32 mtl_ets_ctrl;
+       u32 mtl_ets_ctrl_offset;
+       u32 mtl_txq_weight;
+       u32 mtl_txq_weight_offset;
+       u32 mtl_send_slp_cred;
+       u32 mtl_send_slp_cred_offset;
+       u32 mtl_high_cred;
+       u32 mtl_high_cred_offset;
+       u32 mtl_low_cred;
+       u32 mtl_low_cred_offset;
+};
+
 struct plat_stmmacenet_data {
        int bus_id;
        int phy_addr;
@@ -223,6 +241,7 @@ struct plat_stmmacenet_data {
        struct stmmac_rxq_cfg rx_queues_cfg[MTL_MAX_RX_QUEUES];
        struct stmmac_txq_cfg tx_queues_cfg[MTL_MAX_TX_QUEUES];
        void (*fix_mac_speed)(void *priv, unsigned int speed);
+       int (*fix_soc_reset)(void *priv, void __iomem *ioaddr);
        int (*serdes_powerup)(struct net_device *ndev, void *priv);
        void (*serdes_powerdown)(struct net_device *ndev, void *priv);
        void (*speed_mode_2500)(struct net_device *ndev, void *priv);
@@ -273,5 +292,6 @@ struct plat_stmmacenet_data {
        bool use_phy_wol;
        bool sph_disable;
        bool serdes_up_after_phy_linkup;
+       const struct dwmac4_addrs *dwmac4_addrs;
 };
 #endif