2022-09-07 10:11:02

by Wei Fang

[permalink] [raw]
Subject: [PATCH net-next 2/2] net: fec: Add initial s32v234 support

From: Wei Fang <[email protected]>

Update Kconfig to also check for ARCH_S32.
Add compatible string and quirks for fsl,s32v234

Signed-off-by: Wei Fang <[email protected]>
---
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


2022-09-14 02:22:13

by Wei Fang

[permalink] [raw]
Subject: RE: [PATCH net-next 2/2] net: fec: Add initial s32v234 support

Kindly Ping...

Best Regards,
Wei Fang

> -----Original Message-----
> From: Wei Fang
> Sent: 2022??9??7?? 17:57
> To: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]
> Subject: [PATCH net-next 2/2] net: fec: Add initial s32v234 support
>
> From: Wei Fang <[email protected]>
>
> Update Kconfig to also check for ARCH_S32.
> Add compatible string and quirks for fsl,s32v234
>
> Signed-off-by: Wei Fang <[email protected]>
> ---
> 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