diff mbox series

[net-next,2/2] net: fec: Add initial s32v234 support

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

Checks

Context Check Description
netdev/tree_selection success Clearly marked for net-next
netdev/fixes_present success Fixes tag not required for -next series
netdev/subject_prefix success Link
netdev/cover_letter success Series has a cover letter
netdev/patch_count success Link
netdev/header_inline success No static functions without inline keyword in header files
netdev/build_32bit success Errors and warnings before: 0 this patch: 0
netdev/cc_maintainers warning 1 maintainers not CCed: qiangqing.zhang@nxp.com
netdev/build_clang success Errors and warnings before: 0 this patch: 0
netdev/module_param success Was 0 now: 0
netdev/verify_signedoff success Signed-off-by tag matches author and committer
netdev/check_selftest success No net selftest shell script
netdev/verify_fixes success No Fixes tag
netdev/build_allmodconfig_warn success Errors and warnings before: 0 this patch: 0
netdev/checkpatch success total: 0 errors, 0 warnings, 0 checks, 60 lines checked
netdev/kdoc success Errors and warnings before: 0 this patch: 0
netdev/source_inline success Was 0 now: 0

Commit Message

Wei Fang Sept. 7, 2022, 9:56 a.m. UTC
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(-)

Comments

Wei Fang Sept. 14, 2022, 1:26 a.m. UTC | #1
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 mbox series

Patch

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);