Message ID | 20220907095649.3101484-3-wei.fang@nxp.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 167d5fe0f6c95b4a7da506f0485b500c4f533eb1 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | Add FEC support on s32v234 platform | expand |
Kindly Ping... Best Regards, Wei Fang > -----Original Message----- > From: Wei Fang > Sent: 2022年9月7日 17:57 > To: davem@davemloft.net; edumazet@google.com; kuba@kernel.org; > pabeni@redhat.com; robh+dt@kernel.org; krzysztof.kozlowski+dt@linaro.org; > netdev@vger.kernel.org; devicetree@vger.kernel.org; > linux-kernel@vger.kernel.org > Subject: [PATCH net-next 2/2] net: fec: Add initial s32v234 support > > From: Wei Fang <wei.fang@nxp.com> > > Update Kconfig to also check for ARCH_S32. > Add compatible string and quirks for fsl,s32v234 > > Signed-off-by: Wei Fang <wei.fang@nxp.com> > --- > drivers/net/ethernet/freescale/Kconfig | 6 +++--- > drivers/net/ethernet/freescale/fec_main.c | 12 ++++++++++++ > 2 files changed, 15 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/freescale/Kconfig > b/drivers/net/ethernet/freescale/Kconfig > index e04e1c5cb013..b7bf45cec29d 100644 > --- a/drivers/net/ethernet/freescale/Kconfig > +++ b/drivers/net/ethernet/freescale/Kconfig > @@ -9,7 +9,7 @@ config NET_VENDOR_FREESCALE > depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || > PPC_MPC512x || \ > M523x || M527x || M5272 || M528x || M520x || M532x || \ > ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && > PPC_BESTCOMM) || \ > - ARCH_LAYERSCAPE || COMPILE_TEST > + ARCH_LAYERSCAPE || ARCH_S32 || COMPILE_TEST > help > If you have a network (Ethernet) card belonging to this class, say Y. > > @@ -23,7 +23,7 @@ if NET_VENDOR_FREESCALE config FEC > tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)" > depends on (M523x || M527x || M5272 || M528x || M520x || M532x > || \ > - ARCH_MXC || SOC_IMX28 || COMPILE_TEST) > + ARCH_MXC || ARCH_S32 || SOC_IMX28 || COMPILE_TEST) > default ARCH_MXC || SOC_IMX28 if ARM > depends on PTP_1588_CLOCK_OPTIONAL > select CRC32 > @@ -31,7 +31,7 @@ config FEC > imply NET_SELFTESTS > help > Say Y here if you want to use the built-in 10/100 Fast ethernet > - controller on some Motorola ColdFire and Freescale i.MX processors. > + controller on some Motorola ColdFire and Freescale i.MX/S32 > processors. > > config FEC_MPC52xx > tristate "FEC MPC52xx driver" > diff --git a/drivers/net/ethernet/freescale/fec_main.c > b/drivers/net/ethernet/freescale/fec_main.c > index 8ba8eb340b92..705348879b0c 100644 > --- a/drivers/net/ethernet/freescale/fec_main.c > +++ b/drivers/net/ethernet/freescale/fec_main.c > @@ -155,6 +155,13 @@ static const struct fec_devinfo fec_imx8qm_info = { > FEC_QUIRK_DELAYED_CLKS_SUPPORT, > }; > > +static const struct fec_devinfo fec_s32v234_info = { > + .quirks = FEC_QUIRK_ENET_MAC | FEC_QUIRK_HAS_GBIT | > + FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM | > + FEC_QUIRK_HAS_VLAN | FEC_QUIRK_HAS_AVB | > + FEC_QUIRK_ERR007885 | FEC_QUIRK_BUG_CAPTURE, }; > + > static struct platform_device_id fec_devtype[] = { > { > /* keep it for coldfire */ > @@ -187,6 +194,9 @@ static struct platform_device_id fec_devtype[] = { > }, { > .name = "imx8qm-fec", > .driver_data = (kernel_ulong_t)&fec_imx8qm_info, > + }, { > + .name = "s32v234-fec", > + .driver_data = (kernel_ulong_t)&fec_s32v234_info, > }, { > /* sentinel */ > } > @@ -203,6 +213,7 @@ enum imx_fec_type { > IMX6UL_FEC, > IMX8MQ_FEC, > IMX8QM_FEC, > + S32V234_FEC, > }; > > static const struct of_device_id fec_dt_ids[] = { @@ -215,6 +226,7 @@ static > const struct of_device_id fec_dt_ids[] = { > { .compatible = "fsl,imx6ul-fec", .data = &fec_devtype[IMX6UL_FEC], }, > { .compatible = "fsl,imx8mq-fec", .data = &fec_devtype[IMX8MQ_FEC], }, > { .compatible = "fsl,imx8qm-fec", .data = &fec_devtype[IMX8QM_FEC], }, > + { .compatible = "fsl,s32v234-fec", .data = &fec_devtype[S32V234_FEC], > +}, > { /* sentinel */ } > }; > MODULE_DEVICE_TABLE(of, fec_dt_ids); > -- > 2.25.1
diff --git a/drivers/net/ethernet/freescale/Kconfig b/drivers/net/ethernet/freescale/Kconfig index e04e1c5cb013..b7bf45cec29d 100644 --- a/drivers/net/ethernet/freescale/Kconfig +++ b/drivers/net/ethernet/freescale/Kconfig @@ -9,7 +9,7 @@ config NET_VENDOR_FREESCALE depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \ M523x || M527x || M5272 || M528x || M520x || M532x || \ ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) || \ - ARCH_LAYERSCAPE || COMPILE_TEST + ARCH_LAYERSCAPE || ARCH_S32 || COMPILE_TEST help If you have a network (Ethernet) card belonging to this class, say Y. @@ -23,7 +23,7 @@ if NET_VENDOR_FREESCALE config FEC tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)" depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \ - ARCH_MXC || SOC_IMX28 || COMPILE_TEST) + ARCH_MXC || ARCH_S32 || SOC_IMX28 || COMPILE_TEST) default ARCH_MXC || SOC_IMX28 if ARM depends on PTP_1588_CLOCK_OPTIONAL select CRC32 @@ -31,7 +31,7 @@ config FEC imply NET_SELFTESTS help Say Y here if you want to use the built-in 10/100 Fast ethernet - controller on some Motorola ColdFire and Freescale i.MX processors. + controller on some Motorola ColdFire and Freescale i.MX/S32 processors. config FEC_MPC52xx tristate "FEC MPC52xx driver" diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 8ba8eb340b92..705348879b0c 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -155,6 +155,13 @@ static const struct fec_devinfo fec_imx8qm_info = { FEC_QUIRK_DELAYED_CLKS_SUPPORT, }; +static const struct fec_devinfo fec_s32v234_info = { + .quirks = FEC_QUIRK_ENET_MAC | FEC_QUIRK_HAS_GBIT | + FEC_QUIRK_HAS_BUFDESC_EX | FEC_QUIRK_HAS_CSUM | + FEC_QUIRK_HAS_VLAN | FEC_QUIRK_HAS_AVB | + FEC_QUIRK_ERR007885 | FEC_QUIRK_BUG_CAPTURE, +}; + static struct platform_device_id fec_devtype[] = { { /* keep it for coldfire */ @@ -187,6 +194,9 @@ static struct platform_device_id fec_devtype[] = { }, { .name = "imx8qm-fec", .driver_data = (kernel_ulong_t)&fec_imx8qm_info, + }, { + .name = "s32v234-fec", + .driver_data = (kernel_ulong_t)&fec_s32v234_info, }, { /* sentinel */ } @@ -203,6 +213,7 @@ enum imx_fec_type { IMX6UL_FEC, IMX8MQ_FEC, IMX8QM_FEC, + S32V234_FEC, }; static const struct of_device_id fec_dt_ids[] = { @@ -215,6 +226,7 @@ static const struct of_device_id fec_dt_ids[] = { { .compatible = "fsl,imx6ul-fec", .data = &fec_devtype[IMX6UL_FEC], }, { .compatible = "fsl,imx8mq-fec", .data = &fec_devtype[IMX8MQ_FEC], }, { .compatible = "fsl,imx8qm-fec", .data = &fec_devtype[IMX8QM_FEC], }, + { .compatible = "fsl,s32v234-fec", .data = &fec_devtype[S32V234_FEC], }, { /* sentinel */ } }; MODULE_DEVICE_TABLE(of, fec_dt_ids);