Commit 517ff3ce authored by Jakub Kicinski's avatar Jakub Kicinski

Merge branch 'add-fec-support-on-s32v234-platform'

Wei Fang says:

====================
Add FEC support on s32v234 platform

This series patches are to add FEC support on s32v234 platfom.
1. Add compatible string and quirks for fsl,s32v234
2. Update Kconfig to also check for ARCH_S32.
====================

Link: https://lore.kernel.org/r/20220907095649.3101484-1-wei.fang@nxp.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 2bd178c5 167d5fe0
...@@ -21,6 +21,7 @@ properties: ...@@ -21,6 +21,7 @@ properties:
- fsl,imx28-fec - fsl,imx28-fec
- fsl,imx6q-fec - fsl,imx6q-fec
- fsl,mvf600-fec - fsl,mvf600-fec
- fsl,s32v234-fec
- items: - items:
- enum: - enum:
- fsl,imx53-fec - fsl,imx53-fec
......
...@@ -9,7 +9,7 @@ config NET_VENDOR_FREESCALE ...@@ -9,7 +9,7 @@ config NET_VENDOR_FREESCALE
depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \ depends on FSL_SOC || QUICC_ENGINE || CPM1 || CPM2 || PPC_MPC512x || \
M523x || M527x || M5272 || M528x || M520x || M532x || \ M523x || M527x || M5272 || M528x || M520x || M532x || \
ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) || \ ARCH_MXC || ARCH_MXS || (PPC_MPC52xx && PPC_BESTCOMM) || \
ARCH_LAYERSCAPE || COMPILE_TEST ARCH_LAYERSCAPE || ARCH_S32 || COMPILE_TEST
help help
If you have a network (Ethernet) card belonging to this class, say Y. If you have a network (Ethernet) card belonging to this class, say Y.
...@@ -23,7 +23,7 @@ if NET_VENDOR_FREESCALE ...@@ -23,7 +23,7 @@ if NET_VENDOR_FREESCALE
config FEC config FEC
tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)" tristate "FEC ethernet controller (of ColdFire and some i.MX CPUs)"
depends on (M523x || M527x || M5272 || M528x || M520x || M532x || \ 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 default ARCH_MXC || SOC_IMX28 if ARM
depends on PTP_1588_CLOCK_OPTIONAL depends on PTP_1588_CLOCK_OPTIONAL
select CRC32 select CRC32
...@@ -31,7 +31,7 @@ config FEC ...@@ -31,7 +31,7 @@ config FEC
imply NET_SELFTESTS imply NET_SELFTESTS
help help
Say Y here if you want to use the built-in 10/100 Fast ethernet 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 config FEC_MPC52xx
tristate "FEC MPC52xx driver" tristate "FEC MPC52xx driver"
......
...@@ -156,6 +156,13 @@ static const struct fec_devinfo fec_imx8qm_info = { ...@@ -156,6 +156,13 @@ static const struct fec_devinfo fec_imx8qm_info = {
FEC_QUIRK_DELAYED_CLKS_SUPPORT, 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[] = { static struct platform_device_id fec_devtype[] = {
{ {
/* keep it for coldfire */ /* keep it for coldfire */
...@@ -188,6 +195,9 @@ static struct platform_device_id fec_devtype[] = { ...@@ -188,6 +195,9 @@ static struct platform_device_id fec_devtype[] = {
}, { }, {
.name = "imx8qm-fec", .name = "imx8qm-fec",
.driver_data = (kernel_ulong_t)&fec_imx8qm_info, .driver_data = (kernel_ulong_t)&fec_imx8qm_info,
}, {
.name = "s32v234-fec",
.driver_data = (kernel_ulong_t)&fec_s32v234_info,
}, { }, {
/* sentinel */ /* sentinel */
} }
...@@ -204,6 +214,7 @@ enum imx_fec_type { ...@@ -204,6 +214,7 @@ enum imx_fec_type {
IMX6UL_FEC, IMX6UL_FEC,
IMX8MQ_FEC, IMX8MQ_FEC,
IMX8QM_FEC, IMX8QM_FEC,
S32V234_FEC,
}; };
static const struct of_device_id fec_dt_ids[] = { static const struct of_device_id fec_dt_ids[] = {
...@@ -216,6 +227,7 @@ static const struct of_device_id fec_dt_ids[] = { ...@@ -216,6 +227,7 @@ static const struct of_device_id fec_dt_ids[] = {
{ .compatible = "fsl,imx6ul-fec", .data = &fec_devtype[IMX6UL_FEC], }, { .compatible = "fsl,imx6ul-fec", .data = &fec_devtype[IMX6UL_FEC], },
{ .compatible = "fsl,imx8mq-fec", .data = &fec_devtype[IMX8MQ_FEC], }, { .compatible = "fsl,imx8mq-fec", .data = &fec_devtype[IMX8MQ_FEC], },
{ .compatible = "fsl,imx8qm-fec", .data = &fec_devtype[IMX8QM_FEC], }, { .compatible = "fsl,imx8qm-fec", .data = &fec_devtype[IMX8QM_FEC], },
{ .compatible = "fsl,s32v234-fec", .data = &fec_devtype[S32V234_FEC], },
{ /* sentinel */ } { /* sentinel */ }
}; };
MODULE_DEVICE_TABLE(of, fec_dt_ids); MODULE_DEVICE_TABLE(of, fec_dt_ids);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment