123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- From a1c9f7d1d24e90294f6a6755b137fcf306851e93 Mon Sep 17 00:00:00 2001
- From: Daniel Golle <[email protected]>
- Date: Tue, 25 Jul 2023 01:53:28 +0100
- Subject: [PATCH 104/250] net: ethernet: mtk_eth_soc: convert clock bitmap to
- u64
- The to-be-added MT7988 SoC adds many new clocks which need to be
- controlled by the Ethernet driver, which will result in their total
- number exceeding 32.
- Prepare by converting clock bitmaps into 64-bit types.
- Signed-off-by: Daniel Golle <[email protected]>
- Link: https://lore.kernel.org/r/6960a39bb0078cf84d7642a9558e6a91c6cc9df3.1690246066.git.daniel@makrotopia.org
- Signed-off-by: Jakub Kicinski <[email protected]>
- ---
- drivers/net/ethernet/mediatek/mtk_eth_soc.h | 96 +++++++++++----------
- 1 file changed, 49 insertions(+), 47 deletions(-)
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
- @@ -663,54 +663,56 @@ enum mtk_clks_map {
- MTK_CLK_MAX
- };
-
- -#define MT7623_CLKS_BITMAP (BIT(MTK_CLK_ETHIF) | BIT(MTK_CLK_ESW) | \
- - BIT(MTK_CLK_GP1) | BIT(MTK_CLK_GP2) | \
- - BIT(MTK_CLK_TRGPLL))
- -#define MT7622_CLKS_BITMAP (BIT(MTK_CLK_ETHIF) | BIT(MTK_CLK_ESW) | \
- - BIT(MTK_CLK_GP0) | BIT(MTK_CLK_GP1) | \
- - BIT(MTK_CLK_GP2) | \
- - BIT(MTK_CLK_SGMII_TX_250M) | \
- - BIT(MTK_CLK_SGMII_RX_250M) | \
- - BIT(MTK_CLK_SGMII_CDR_REF) | \
- - BIT(MTK_CLK_SGMII_CDR_FB) | \
- - BIT(MTK_CLK_SGMII_CK) | \
- - BIT(MTK_CLK_ETH2PLL))
- +#define MT7623_CLKS_BITMAP (BIT_ULL(MTK_CLK_ETHIF) | BIT_ULL(MTK_CLK_ESW) | \
- + BIT_ULL(MTK_CLK_GP1) | BIT_ULL(MTK_CLK_GP2) | \
- + BIT_ULL(MTK_CLK_TRGPLL))
- +#define MT7622_CLKS_BITMAP (BIT_ULL(MTK_CLK_ETHIF) | BIT_ULL(MTK_CLK_ESW) | \
- + BIT_ULL(MTK_CLK_GP0) | BIT_ULL(MTK_CLK_GP1) | \
- + BIT_ULL(MTK_CLK_GP2) | \
- + BIT_ULL(MTK_CLK_SGMII_TX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII_RX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII_CDR_REF) | \
- + BIT_ULL(MTK_CLK_SGMII_CDR_FB) | \
- + BIT_ULL(MTK_CLK_SGMII_CK) | \
- + BIT_ULL(MTK_CLK_ETH2PLL))
- #define MT7621_CLKS_BITMAP (0)
- #define MT7628_CLKS_BITMAP (0)
- -#define MT7629_CLKS_BITMAP (BIT(MTK_CLK_ETHIF) | BIT(MTK_CLK_ESW) | \
- - BIT(MTK_CLK_GP0) | BIT(MTK_CLK_GP1) | \
- - BIT(MTK_CLK_GP2) | BIT(MTK_CLK_FE) | \
- - BIT(MTK_CLK_SGMII_TX_250M) | \
- - BIT(MTK_CLK_SGMII_RX_250M) | \
- - BIT(MTK_CLK_SGMII_CDR_REF) | \
- - BIT(MTK_CLK_SGMII_CDR_FB) | \
- - BIT(MTK_CLK_SGMII2_TX_250M) | \
- - BIT(MTK_CLK_SGMII2_RX_250M) | \
- - BIT(MTK_CLK_SGMII2_CDR_REF) | \
- - BIT(MTK_CLK_SGMII2_CDR_FB) | \
- - BIT(MTK_CLK_SGMII_CK) | \
- - BIT(MTK_CLK_ETH2PLL) | BIT(MTK_CLK_SGMIITOP))
- -#define MT7981_CLKS_BITMAP (BIT(MTK_CLK_FE) | BIT(MTK_CLK_GP2) | BIT(MTK_CLK_GP1) | \
- - BIT(MTK_CLK_WOCPU0) | \
- - BIT(MTK_CLK_SGMII_TX_250M) | \
- - BIT(MTK_CLK_SGMII_RX_250M) | \
- - BIT(MTK_CLK_SGMII_CDR_REF) | \
- - BIT(MTK_CLK_SGMII_CDR_FB) | \
- - BIT(MTK_CLK_SGMII2_TX_250M) | \
- - BIT(MTK_CLK_SGMII2_RX_250M) | \
- - BIT(MTK_CLK_SGMII2_CDR_REF) | \
- - BIT(MTK_CLK_SGMII2_CDR_FB) | \
- - BIT(MTK_CLK_SGMII_CK))
- -#define MT7986_CLKS_BITMAP (BIT(MTK_CLK_FE) | BIT(MTK_CLK_GP2) | BIT(MTK_CLK_GP1) | \
- - BIT(MTK_CLK_WOCPU1) | BIT(MTK_CLK_WOCPU0) | \
- - BIT(MTK_CLK_SGMII_TX_250M) | \
- - BIT(MTK_CLK_SGMII_RX_250M) | \
- - BIT(MTK_CLK_SGMII_CDR_REF) | \
- - BIT(MTK_CLK_SGMII_CDR_FB) | \
- - BIT(MTK_CLK_SGMII2_TX_250M) | \
- - BIT(MTK_CLK_SGMII2_RX_250M) | \
- - BIT(MTK_CLK_SGMII2_CDR_REF) | \
- - BIT(MTK_CLK_SGMII2_CDR_FB))
- +#define MT7629_CLKS_BITMAP (BIT_ULL(MTK_CLK_ETHIF) | BIT_ULL(MTK_CLK_ESW) | \
- + BIT_ULL(MTK_CLK_GP0) | BIT_ULL(MTK_CLK_GP1) | \
- + BIT_ULL(MTK_CLK_GP2) | BIT_ULL(MTK_CLK_FE) | \
- + BIT_ULL(MTK_CLK_SGMII_TX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII_RX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII_CDR_REF) | \
- + BIT_ULL(MTK_CLK_SGMII_CDR_FB) | \
- + BIT_ULL(MTK_CLK_SGMII2_TX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII2_RX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII2_CDR_REF) | \
- + BIT_ULL(MTK_CLK_SGMII2_CDR_FB) | \
- + BIT_ULL(MTK_CLK_SGMII_CK) | \
- + BIT_ULL(MTK_CLK_ETH2PLL) | BIT_ULL(MTK_CLK_SGMIITOP))
- +#define MT7981_CLKS_BITMAP (BIT_ULL(MTK_CLK_FE) | BIT_ULL(MTK_CLK_GP2) | \
- + BIT_ULL(MTK_CLK_GP1) | \
- + BIT_ULL(MTK_CLK_WOCPU0) | \
- + BIT_ULL(MTK_CLK_SGMII_TX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII_RX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII_CDR_REF) | \
- + BIT_ULL(MTK_CLK_SGMII_CDR_FB) | \
- + BIT_ULL(MTK_CLK_SGMII2_TX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII2_RX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII2_CDR_REF) | \
- + BIT_ULL(MTK_CLK_SGMII2_CDR_FB) | \
- + BIT_ULL(MTK_CLK_SGMII_CK))
- +#define MT7986_CLKS_BITMAP (BIT_ULL(MTK_CLK_FE) | BIT_ULL(MTK_CLK_GP2) | \
- + BIT_ULL(MTK_CLK_GP1) | \
- + BIT_ULL(MTK_CLK_WOCPU1) | BIT_ULL(MTK_CLK_WOCPU0) | \
- + BIT_ULL(MTK_CLK_SGMII_TX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII_RX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII_CDR_REF) | \
- + BIT_ULL(MTK_CLK_SGMII_CDR_FB) | \
- + BIT_ULL(MTK_CLK_SGMII2_TX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII2_RX_250M) | \
- + BIT_ULL(MTK_CLK_SGMII2_CDR_REF) | \
- + BIT_ULL(MTK_CLK_SGMII2_CDR_FB))
-
- enum mtk_dev_state {
- MTK_HW_INIT,
- @@ -1043,7 +1045,7 @@ struct mtk_soc_data {
- const struct mtk_reg_map *reg_map;
- u32 ana_rgc3;
- u64 caps;
- - u32 required_clks;
- + u64 required_clks;
- bool required_pctl;
- u8 offload_version;
- u8 hash_offset;
|