From 5159d71983e649a89568e46d9ff02731beedd571 Mon Sep 17 00:00:00 2001 From: Biwen Li Date: Mon, 6 May 2019 12:13:14 +0800 Subject: layerscape: update patches-4.14 to LSDK 19.03 All patches of LSDK 19.03 were ported to Openwrt kernel. We still used an all-in-one patch for each IP/feature for OpenWrt. Below are the changes this patch introduced. - Updated original IP/feature patches to LSDK 19.03. - Added new IP/feature patches for eTSEC/PTP/TMU. - Squashed scattered patches into IP/feature patches. - Updated config-4.14 correspondingly. - Refreshed all patches. More info about LSDK and the kernel: - https://lsdk.github.io/components.html - https://source.codeaurora.org/external/qoriq/qoriq-components/linux Signed-off-by: Biwen Li Signed-off-by: Yangbo Lu --- .../712-etsec-support-layerscape.patch | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 target/linux/layerscape/patches-4.14/712-etsec-support-layerscape.patch (limited to 'target/linux/layerscape/patches-4.14/712-etsec-support-layerscape.patch') diff --git a/target/linux/layerscape/patches-4.14/712-etsec-support-layerscape.patch b/target/linux/layerscape/patches-4.14/712-etsec-support-layerscape.patch new file mode 100644 index 0000000000..bb075d4d4f --- /dev/null +++ b/target/linux/layerscape/patches-4.14/712-etsec-support-layerscape.patch @@ -0,0 +1,77 @@ +From f0f6e88696957d376d8875f675c1caf75a33fd67 Mon Sep 17 00:00:00 2001 +From: Biwen Li +Date: Wed, 17 Apr 2019 18:58:34 +0800 +Subject: [PATCH] etsec: support layerscape + +This is an integrated patch of etsec for layerscape + +Signed-off-by: Biwen Li +Signed-off-by: David S. Miller +Signed-off-by: Yangbo Lu +--- + drivers/net/ethernet/freescale/gianfar.h | 3 --- + .../net/ethernet/freescale/gianfar_ethtool.c | 23 +++++++++++++++---- + 2 files changed, 18 insertions(+), 8 deletions(-) + +--- a/drivers/net/ethernet/freescale/gianfar.h ++++ b/drivers/net/ethernet/freescale/gianfar.h +@@ -1372,7 +1372,4 @@ struct filer_table { + struct gfar_filer_entry fe[MAX_FILER_CACHE_IDX + 20]; + }; + +-/* The gianfar_ptp module will set this variable */ +-extern int gfar_phc_index; +- + #endif /* __GIANFAR_H */ +--- a/drivers/net/ethernet/freescale/gianfar_ethtool.c ++++ b/drivers/net/ethernet/freescale/gianfar_ethtool.c +@@ -41,6 +41,8 @@ + #include + #include + #include ++#include ++#include + + #include "gianfar.h" + +@@ -1509,24 +1511,35 @@ static int gfar_get_nfc(struct net_devic + return ret; + } + +-int gfar_phc_index = -1; +-EXPORT_SYMBOL(gfar_phc_index); +- + static int gfar_get_ts_info(struct net_device *dev, + struct ethtool_ts_info *info) + { + struct gfar_private *priv = netdev_priv(dev); ++ struct platform_device *ptp_dev; ++ struct device_node *ptp_node; ++ struct qoriq_ptp *ptp = NULL; ++ ++ info->phc_index = -1; + + if (!(priv->device_flags & FSL_GIANFAR_DEV_HAS_TIMER)) { + info->so_timestamping = SOF_TIMESTAMPING_RX_SOFTWARE | + SOF_TIMESTAMPING_SOFTWARE; +- info->phc_index = -1; + return 0; + } ++ ++ ptp_node = of_find_compatible_node(NULL, NULL, "fsl,etsec-ptp"); ++ if (ptp_node) { ++ ptp_dev = of_find_device_by_node(ptp_node); ++ if (ptp_dev) ++ ptp = platform_get_drvdata(ptp_dev); ++ } ++ ++ if (ptp) ++ info->phc_index = ptp->phc_index; ++ + info->so_timestamping = SOF_TIMESTAMPING_TX_HARDWARE | + SOF_TIMESTAMPING_RX_HARDWARE | + SOF_TIMESTAMPING_RAW_HARDWARE; +- info->phc_index = gfar_phc_index; + info->tx_types = (1 << HWTSTAMP_TX_OFF) | + (1 << HWTSTAMP_TX_ON); + info->rx_filters = (1 << HWTSTAMP_FILTER_NONE) | -- cgit v1.2.3