Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net: fec: add necessary defines to work on ARM64

The i.MX8 is a ARMv8 based SoC, that uses the same FEC IP as the
earlier, ARMv7 based, i.MX SoCs. Allow the driver to work on ARM64.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Acked-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Lucas Stach and committed by
David S. Miller
3f1dcc6a d7dfc5cf

+8 -5
+3 -2
drivers/net/ethernet/freescale/fec.h
··· 20 20 #include <linux/timecounter.h> 21 21 22 22 #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ 23 - defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) 23 + defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) || \ 24 + defined(CONFIG_ARM64) 24 25 /* 25 26 * Just figures, Motorola would have to change the offsets for 26 27 * registers in the same peripheral device on different models ··· 196 195 * Evidently, ARM SoCs have the FEC block generated in a 197 196 * little endian mode so adjust endianness accordingly. 198 197 */ 199 - #if defined(CONFIG_ARM) 198 + #if defined(CONFIG_ARM) || defined(CONFIG_ARM64) 200 199 #define fec32_to_cpu le32_to_cpu 201 200 #define fec16_to_cpu le16_to_cpu 202 201 #define cpu_to_fec32 cpu_to_le32
+5 -3
drivers/net/ethernet/freescale/fec_main.c
··· 195 195 * account when setting it. 196 196 */ 197 197 #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ 198 - defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) 198 + defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) || \ 199 + defined(CONFIG_ARM64) 199 200 #define OPT_FRAME_SIZE (PKT_MAXBUF_SIZE << 16) 200 201 #else 201 202 #define OPT_FRAME_SIZE 0 ··· 2110 2109 2111 2110 /* List of registers that can be safety be read to dump them with ethtool */ 2112 2111 #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ 2113 - defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) 2112 + defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) || \ 2113 + defined(CONFIG_ARM64) 2114 2114 static u32 fec_enet_register_offset[] = { 2115 2115 FEC_IEVENT, FEC_IMASK, FEC_R_DES_ACTIVE_0, FEC_X_DES_ACTIVE_0, 2116 2116 FEC_ECNTRL, FEC_MII_DATA, FEC_MII_SPEED, FEC_MIB_CTRLSTAT, FEC_R_CNTRL, ··· 3141 3139 unsigned dsize_log2 = __fls(dsize); 3142 3140 3143 3141 WARN_ON(dsize != (1 << dsize_log2)); 3144 - #if defined(CONFIG_ARM) 3142 + #if defined(CONFIG_ARM) || defined(CONFIG_ARM64) 3145 3143 fep->rx_align = 0xf; 3146 3144 fep->tx_align = 0xf; 3147 3145 #else