layerscape: update kernel patches
[openwrt/staging/mkresin.git] / target / linux / layerscape / patches-4.9 / 701-sdk_dpaa-support-layerscape.patch
index 56c07c5e6f2053d2bc712e5eee33202bbcf08d64..f048788165e6b44d8f2d8c6863b9c0797f1b4109 100644 (file)
@@ -1,4 +1,4 @@
-From 6fe4518adbbbab0404958db4aa95673d60174881 Mon Sep 17 00:00:00 2001
+From 3cd36deb674720ab34eabb9783648ed743e52121 Mon Sep 17 00:00:00 2001
 From: Yangbo Lu <yangbo.lu@nxp.com>
 Date: Mon, 25 Sep 2017 11:58:03 +0800
 Subject: [PATCH] sdk_dpaa: support layerscape
@@ -18,15 +18,15 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  .../net/ethernet/freescale/sdk_dpaa/dpaa_debugfs.c |  180 +
  .../net/ethernet/freescale/sdk_dpaa/dpaa_debugfs.h |   43 +
  drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.c | 1213 ++++
- drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h |  698 ++
+ drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h |  687 ++
  .../ethernet/freescale/sdk_dpaa/dpaa_eth_base.c    |  205 +
  .../ethernet/freescale/sdk_dpaa/dpaa_eth_base.h    |   49 +
  .../ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c   | 1992 +++++
  .../ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.h   |  237 +
- .../ethernet/freescale/sdk_dpaa/dpaa_eth_common.c  | 1811 +++++
+ .../ethernet/freescale/sdk_dpaa/dpaa_eth_common.c  | 1820 +++++
  .../ethernet/freescale/sdk_dpaa/dpaa_eth_common.h  |  225 +
  .../ethernet/freescale/sdk_dpaa/dpaa_eth_proxy.c   |  381 +
- .../net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c  | 1179 +++
+ .../net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c  | 1168 +++
  .../ethernet/freescale/sdk_dpaa/dpaa_eth_sysfs.c   |  278 +
  .../ethernet/freescale/sdk_dpaa/dpaa_eth_trace.h   |  144 +
  .../net/ethernet/freescale/sdk_dpaa/dpaa_ethtool.c |  544 ++
@@ -41,24 +41,24 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  .../freescale/sdk_fman/Peripherals/FM/HC/Makefile  |   15 +
  .../freescale/sdk_fman/Peripherals/FM/HC/hc.c      | 1232 ++++
  .../freescale/sdk_fman/Peripherals/FM/MAC/Makefile |   28 +
- .../freescale/sdk_fman/Peripherals/FM/MAC/dtsec.c  | 1464 ++++
+ .../freescale/sdk_fman/Peripherals/FM/MAC/dtsec.c  | 1465 ++++
  .../freescale/sdk_fman/Peripherals/FM/MAC/dtsec.h  |  228 +
  .../sdk_fman/Peripherals/FM/MAC/dtsec_mii_acc.c    |   97 +
  .../sdk_fman/Peripherals/FM/MAC/dtsec_mii_acc.h    |   42 +
- .../freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.c |  658 ++
- .../freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.h |  225 +
+ .../freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.c |  674 ++
+ .../freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.h |  226 +
  .../sdk_fman/Peripherals/FM/MAC/fman_crc32.c       |  119 +
  .../sdk_fman/Peripherals/FM/MAC/fman_crc32.h       |   43 +
  .../sdk_fman/Peripherals/FM/MAC/fman_dtsec.c       |  845 +++
  .../Peripherals/FM/MAC/fman_dtsec_mii_acc.c        |  163 +
- .../sdk_fman/Peripherals/FM/MAC/fman_memac.c       |  511 ++
+ .../sdk_fman/Peripherals/FM/MAC/fman_memac.c       |  532 ++
  .../Peripherals/FM/MAC/fman_memac_mii_acc.c        |  213 +
  .../sdk_fman/Peripherals/FM/MAC/fman_tgec.c        |  367 +
- .../freescale/sdk_fman/Peripherals/FM/MAC/memac.c  | 1096 +++
+ .../freescale/sdk_fman/Peripherals/FM/MAC/memac.c  | 1153 +++
  .../freescale/sdk_fman/Peripherals/FM/MAC/memac.h  |  110 +
  .../sdk_fman/Peripherals/FM/MAC/memac_mii_acc.c    |   78 +
  .../sdk_fman/Peripherals/FM/MAC/memac_mii_acc.h    |   73 +
- .../freescale/sdk_fman/Peripherals/FM/MAC/tgec.c   |  975 +++
+ .../freescale/sdk_fman/Peripherals/FM/MAC/tgec.c   | 1017 +++
  .../freescale/sdk_fman/Peripherals/FM/MAC/tgec.h   |  151 +
  .../sdk_fman/Peripherals/FM/MAC/tgec_mii_acc.c     |  139 +
  .../sdk_fman/Peripherals/FM/MAC/tgec_mii_acc.h     |   80 +
@@ -124,7 +124,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  .../sdk_fman/inc/Peripherals/crc_mac_addr_ext.h    |  364 +
  .../freescale/sdk_fman/inc/Peripherals/dpaa_ext.h  |  210 +
  .../freescale/sdk_fman/inc/Peripherals/fm_ext.h    | 1731 +++++
- .../sdk_fman/inc/Peripherals/fm_mac_ext.h          |  859 +++
+ .../sdk_fman/inc/Peripherals/fm_mac_ext.h          |  887 +++
  .../sdk_fman/inc/Peripherals/fm_macsec_ext.h       | 1271 ++++
  .../sdk_fman/inc/Peripherals/fm_muram_ext.h        |  170 +
  .../sdk_fman/inc/Peripherals/fm_pcd_ext.h          | 3974 ++++++++++
@@ -154,7 +154,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  .../freescale/sdk_fman/inc/flib/fsl_fman_dtsec.h   | 1096 +++
  .../sdk_fman/inc/flib/fsl_fman_dtsec_mii_acc.h     |  107 +
  .../freescale/sdk_fman/inc/flib/fsl_fman_kg.h      |  514 ++
- .../freescale/sdk_fman/inc/flib/fsl_fman_memac.h   |  427 ++
+ .../freescale/sdk_fman/inc/flib/fsl_fman_memac.h   |  434 ++
  .../sdk_fman/inc/flib/fsl_fman_memac_mii_acc.h     |   78 +
  .../freescale/sdk_fman/inc/flib/fsl_fman_port.h    |  593 ++
  .../freescale/sdk_fman/inc/flib/fsl_fman_prs.h     |  102 +
@@ -195,7 +195,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  .../freescale/sdk_fman/src/inc/system/sys_io_ext.h |   46 +
  .../freescale/sdk_fman/src/inc/types_linux.h       |  208 +
  .../sdk_fman/src/inc/wrapper/fsl_fman_test.h       |   84 +
- .../sdk_fman/src/inc/wrapper/lnxwrp_exp_sym.h      |  128 +
+ .../sdk_fman/src/inc/wrapper/lnxwrp_exp_sym.h      |  130 +
  .../sdk_fman/src/inc/wrapper/lnxwrp_fm_ext.h       |  163 +
  .../sdk_fman/src/inc/wrapper/lnxwrp_fsl_fman.h     |  921 +++
  .../ethernet/freescale/sdk_fman/src/inc/xx/xx.h    |   50 +
@@ -206,7 +206,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  .../freescale/sdk_fman/src/wrapper/lnxwrp_fm.c     | 2908 ++++++++
  .../freescale/sdk_fman/src/wrapper/lnxwrp_fm.h     |  294 +
  .../sdk_fman/src/wrapper/lnxwrp_fm_port.c          | 1480 ++++
- .../sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c        | 4813 +++++++++++++
+ .../sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c        | 4854 +++++++++++++
  .../sdk_fman/src/wrapper/lnxwrp_ioctls_fm_compat.c | 1297 ++++
  .../sdk_fman/src/wrapper/lnxwrp_ioctls_fm_compat.h |  755 ++
  .../sdk_fman/src/wrapper/lnxwrp_resources.h        |  121 +
@@ -262,13 +262,13 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  include/uapi/linux/fmd/Peripherals/Kbuild          |    4 +
  include/uapi/linux/fmd/Peripherals/fm_ioctls.h     |  628 ++
  include/uapi/linux/fmd/Peripherals/fm_pcd_ioctls.h | 3084 ++++++++
- .../uapi/linux/fmd/Peripherals/fm_port_ioctls.h    |  948 +++
+ .../uapi/linux/fmd/Peripherals/fm_port_ioctls.h    |  973 +++
  .../uapi/linux/fmd/Peripherals/fm_test_ioctls.h    |  208 +
  include/uapi/linux/fmd/integrations/Kbuild         |    1 +
  .../linux/fmd/integrations/integration_ioctls.h    |   56 +
  include/uapi/linux/fmd/ioctls.h                    |   96 +
  include/uapi/linux/fmd/net_ioctls.h                |  430 ++
- 257 files changed, 152931 insertions(+)
+ 257 files changed, 153159 insertions(+)
  create mode 100644 drivers/net/ethernet/freescale/sdk_dpaa/Kconfig
  create mode 100644 drivers/net/ethernet/freescale/sdk_dpaa/Makefile
  create mode 100644 drivers/net/ethernet/freescale/sdk_dpaa/dpaa_1588.c
@@ -527,6 +527,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
  create mode 100644 include/uapi/linux/fmd/ioctls.h
  create mode 100644 include/uapi/linux/fmd/net_ioctls.h
 
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/Kconfig b/drivers/net/ethernet/freescale/sdk_dpaa/Kconfig
+new file mode 100644
+index 00000000..92118b76
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/Kconfig
 @@ -0,0 +1,173 @@
@@ -703,6 +706,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +              # cat /sys/kernel/debug/powerpc/fsl_dpa/eth4_loop
 +                      4->5
 +endif # FSL_SDK_DPAA_ETH
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/Makefile b/drivers/net/ethernet/freescale/sdk_dpaa/Makefile
+new file mode 100644
+index 00000000..a0f4b190
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/Makefile
 @@ -0,0 +1,46 @@
@@ -752,6 +758,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +# Needed by the tracing framework
 +CFLAGS_dpaa_eth.o := -I$(src)
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_1588.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_1588.c
+new file mode 100644
+index 00000000..3bf8cbca
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_1588.c
 @@ -0,0 +1,580 @@
@@ -1335,6 +1344,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      kfree(tsu);
 +}
 +EXPORT_SYMBOL(dpa_ptp_cleanup);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_1588.h b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_1588.h
+new file mode 100644
+index 00000000..73390168
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_1588.h
 @@ -0,0 +1,138 @@
@@ -1476,6 +1488,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +                              struct sk_buff *skb, void *data);
 +extern int dpa_ioctl_1588(struct net_device *dev, struct ifreq *ifr, int cmd);
 +#endif
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_debugfs.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_debugfs.c
+new file mode 100644
+index 00000000..25d9f5f1
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_debugfs.c
 @@ -0,0 +1,180 @@
@@ -1659,6 +1674,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +{
 +      debugfs_remove(dpa_debugfs_root);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_debugfs.h b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_debugfs.h
+new file mode 100644
+index 00000000..63d35427
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_debugfs.h
 @@ -0,0 +1,43 @@
@@ -1705,6 +1723,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +void __exit dpa_debugfs_module_exit(void);
 +
 +#endif /* DPAA_DEBUGFS_H_ */
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.c
+new file mode 100644
+index 00000000..7026f916
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.c
 @@ -0,0 +1,1213 @@
@@ -2921,9 +2942,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +              KBUILD_BASENAME".c", __func__);
 +}
 +module_exit(dpa_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h
+new file mode 100644
+index 00000000..57c9bef4
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h
-@@ -0,0 +1,698 @@
+@@ -0,0 +1,687 @@
 +/* Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
 + * Redistribution and use in source and binary forms, with or without
@@ -3440,17 +3464,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return fd->offset;
 +}
 +
-+/* Verifies if the skb length is below the interface MTU */
-+static inline int dpa_check_rx_mtu(struct sk_buff *skb, int mtu)
-+{
-+      if (unlikely(skb->len > mtu))
-+              if ((skb->protocol != htons(ETH_P_8021Q))
-+                              || (skb->len > mtu + 4))
-+                      return -1;
-+
-+      return 0;
-+}
-+
 +static inline uint16_t dpa_get_headroom(struct dpa_buffer_layout_s *bl)
 +{
 +      uint16_t headroom;
@@ -3622,6 +3635,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif  /* !CONFIG_PPC */
 +
 +#endif        /* __DPA_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_base.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_base.c
+new file mode 100644
+index 00000000..507e77c3
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_base.c
 @@ -0,0 +1,205 @@
@@ -3830,6 +3846,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +}
 +module_exit(dpa_advanced_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_base.h b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_base.h
+new file mode 100644
+index 00000000..6ec68c3c
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_base.h
 @@ -0,0 +1,49 @@
@@ -3882,6 +3901,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +              size_t count);
 +
 +#endif /* __DPAA_ETH_BASE_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
+new file mode 100644
+index 00000000..cac613b7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.c
 @@ -0,0 +1,1992 @@
@@ -5877,6 +5899,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +module_init(ceetm_register);
 +module_exit(ceetm_unregister);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.h b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.h
+new file mode 100644
+index 00000000..63cc3475
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_ceetm.h
 @@ -0,0 +1,237 @@
@@ -6117,9 +6142,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +int __hot ceetm_tx(struct sk_buff *skb, struct net_device *net_dev);
 +#endif
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c
+new file mode 100644
+index 00000000..19a8a3c3
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c
-@@ -0,0 +1,1811 @@
+@@ -0,0 +1,1820 @@
 +/* Copyright 2008-2013 Freescale Semiconductor, Inc.
 + *
 + * Redistribution and use in source and binary forms, with or without
@@ -6385,7 +6413,16 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +int dpa_change_mtu(struct net_device *net_dev, int new_mtu)
 +{
-+      const int max_mtu = dpa_get_max_mtu();
++      int max_mtu = dpa_get_max_mtu();
++
++#ifndef CONFIG_PPC
++      /* Due to the A010022 FMan errata, we can not use contig frames larger
++       * than 4K, nor S/G frames. We need to prevent the user from setting a
++       * large MTU.
++       */
++      if (unlikely(dpaa_errata_a010022))
++              max_mtu = DPA_BP_RAW_SIZE;
++#endif
 +
 +      /* Make sure we don't exceed the Ethernet controller's MAXFRM */
 +      if (new_mtu < 68 || new_mtu > max_mtu) {
@@ -7931,6 +7968,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +}
 +EXPORT_SYMBOL(dpa_disable_ceetm);
 +#endif
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.h b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.h
+new file mode 100644
+index 00000000..41db4302
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.h
 @@ -0,0 +1,225 @@
@@ -8159,6 +8199,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +                    struct net_device *net_dev);
 +
 +#endif /* __DPAA_ETH_COMMON_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_proxy.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_proxy.c
+new file mode 100644
+index 00000000..994d38cd
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_proxy.c
 @@ -0,0 +1,381 @@
@@ -8543,9 +8586,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +              KBUILD_BASENAME".c", __func__);
 +}
 +module_exit(dpa_proxy_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
+new file mode 100644
+index 00000000..32e62e6d
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
-@@ -0,0 +1,1179 @@
+@@ -0,0 +1,1168 @@
 +/* Copyright 2012 Freescale Semiconductor Inc.
 + *
 + * Redistribution and use in source and binary forms, with or without
@@ -9164,13 +9210,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      (*count_ptr)--;
 +      skb->protocol = eth_type_trans(skb, net_dev);
 +
-+      /* IP Reassembled frames are allowed to be larger than MTU */
-+      if (unlikely(dpa_check_rx_mtu(skb, net_dev->mtu) &&
-+              !(fd_status & FM_FD_IPR))) {
-+              percpu_stats->rx_dropped++;
-+              goto drop_bad_frame;
-+      }
-+
 +      skb_len = skb->len;
 +
 +#ifdef CONFIG_FSL_DPAA_DBG_LOOP
@@ -9203,10 +9242,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +packet_dropped:
 +      return;
 +
-+drop_bad_frame:
-+      dev_kfree_skb(skb);
-+      return;
-+
 +_release_frame:
 +      dpa_fd_release(net_dev, fd);
 +}
@@ -9725,6 +9760,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return NETDEV_TX_OK;
 +}
 +EXPORT_SYMBOL(dpa_tx_extended);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sysfs.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sysfs.c
+new file mode 100644
+index 00000000..3542d0b2
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sysfs.c
 @@ -0,0 +1,278 @@
@@ -10006,6 +10044,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      for (i = 0; i < ARRAY_SIZE(dpaa_eth_attrs); i++)
 +              device_remove_file(dev, &dpaa_eth_attrs[i]);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_trace.h b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_trace.h
+new file mode 100644
+index 00000000..30069ef9
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_trace.h
 @@ -0,0 +1,144 @@
@@ -10153,6 +10194,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#undef TRACE_INCLUDE_FILE
 +#define TRACE_INCLUDE_FILE    dpaa_eth_trace
 +#include <trace/define_trace.h>
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ethtool.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ethtool.c
+new file mode 100644
+index 00000000..4b784662
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ethtool.c
 @@ -0,0 +1,544 @@
@@ -10700,6 +10744,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      .set_wol = dpa_set_wol,
 +#endif
 +};
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ptp.c b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ptp.c
+new file mode 100644
+index 00000000..f54a3d67
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ptp.c
 @@ -0,0 +1,291 @@
@@ -10994,6 +11041,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      ptp_clock_unregister(clock);
 +}
 +module_exit(dpa_ptp_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/mac-api.c b/drivers/net/ethernet/freescale/sdk_dpaa/mac-api.c
+new file mode 100644
+index 00000000..2c5652d9
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/mac-api.c
 @@ -0,0 +1,907 @@
@@ -11904,6 +11954,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      [XGMAC] = setup_xgmac,
 +      [MEMAC] = setup_memac
 +};
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/mac.c b/drivers/net/ethernet/freescale/sdk_dpaa/mac.c
+new file mode 100644
+index 00000000..60133b02
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/mac.c
 @@ -0,0 +1,489 @@
@@ -12396,6 +12449,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +              KBUILD_BASENAME".c", __func__);
 +}
 +module_exit(mac_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/mac.h b/drivers/net/ethernet/freescale/sdk_dpaa/mac.h
+new file mode 100644
+index 00000000..b5288f2a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/mac.h
 @@ -0,0 +1,135 @@
@@ -12534,6 +12590,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +void get_pause_cfg(struct mac_device *mac_dev, bool *rx_pause, bool *tx_pause);
 +
 +#endif        /* __MAC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/offline_port.c b/drivers/net/ethernet/freescale/sdk_dpaa/offline_port.c
+new file mode 100644
+index 00000000..fb084af5
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/offline_port.c
 @@ -0,0 +1,848 @@
@@ -13385,6 +13444,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +              KBUILD_BASENAME".c", __func__);
 +}
 +module_exit(oh_port_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_dpaa/offline_port.h b/drivers/net/ethernet/freescale/sdk_dpaa/offline_port.h
+new file mode 100644
+index 00000000..432ee88d
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_dpaa/offline_port.h
 @@ -0,0 +1,59 @@
@@ -13447,6 +13509,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +};
 +
 +#endif /* __OFFLINE_PORT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Kconfig b/drivers/net/ethernet/freescale/sdk_fman/Kconfig
+new file mode 100644
+index 00000000..d98c0989
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Kconfig
 @@ -0,0 +1,153 @@
@@ -13603,6 +13668,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +endif # FSL_SDK_FMAN
 +
 +endmenu
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Makefile
+new file mode 100644
+index 00000000..25ce7e6a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Makefile
 @@ -0,0 +1,11 @@
@@ -13617,6 +13685,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += etc/
 +obj-y         += Peripherals/FM/
 +obj-y         += src/
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/HC/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/HC/Makefile
+new file mode 100644
+index 00000000..d0e76727
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/HC/Makefile
 @@ -0,0 +1,15 @@
@@ -13635,6 +13706,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += fsl-ncsw-Hc.o
 +
 +fsl-ncsw-Hc-objs      :=   hc.o
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/HC/hc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/HC/hc.c
+new file mode 100644
+index 00000000..363c8f95
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/HC/hc.c
 @@ -0,0 +1,1232 @@
@@ -14870,6 +14944,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    t_FmHc *p_FmHc = (t_FmHc*)h_FmHc;
 +    return p_FmHc->h_HcPortDev;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/Makefile
+new file mode 100644
+index 00000000..f6b090da
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/Makefile
 @@ -0,0 +1,28 @@
@@ -14901,9 +14978,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +fsl-ncsw-MAC-objs       +=  memac.o memac_mii_acc.o fman_memac_mii_acc.o
 +endif
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec.c
+new file mode 100644
+index 00000000..38948f97
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec.c
-@@ -0,0 +1,1464 @@
+@@ -0,0 +1,1465 @@
 +/*
 + * Copyright 2008-2013 Freescale Semiconductor Inc.
 + *
@@ -16295,6 +16375,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    p_FmMacControllerDriver->f_FM_MAC_ResetCounters             = DtsecResetCounters;
 +    p_FmMacControllerDriver->f_FM_MAC_GetStatistics             = DtsecGetStatistics;
++    p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters            = NULL;
 +
 +    p_FmMacControllerDriver->f_FM_MAC_ModifyMacAddr             = DtsecModifyMacAddress;
 +    p_FmMacControllerDriver->f_FM_MAC_AddHashMacAddr            = DtsecAddHashMacAddress;
@@ -16368,6 +16449,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return p_Dtsec;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec.h
+new file mode 100644
+index 00000000..c26f40cc
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec.h
 @@ -0,0 +1,228 @@
@@ -16599,6 +16683,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __DTSEC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec_mii_acc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec_mii_acc.c
+new file mode 100644
+index 00000000..87da25ff
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec_mii_acc.c
 @@ -0,0 +1,97 @@
@@ -16699,6 +16786,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    return E_OK;
 +}
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec_mii_acc.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec_mii_acc.h
+new file mode 100644
+index 00000000..75cc658a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/dtsec_mii_acc.h
 @@ -0,0 +1,42 @@
@@ -16744,9 +16834,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +t_Error DTSEC_MII_ReadPhyReg(t_Handle  h_Dtsec, uint8_t phyAddr, uint8_t reg, uint16_t *p_Data);
 +
 +#endif /* __DTSEC_MII_ACC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.c
+new file mode 100644
+index 00000000..caf3940a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.c
-@@ -0,0 +1,658 @@
+@@ -0,0 +1,674 @@
 +/*
 + * Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
@@ -17210,6 +17303,22 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +/* ......................................................................... */
 +
++t_Error FM_MAC_GetFrameSizeCounters(t_Handle h_FmMac, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type)
++{
++    t_FmMacControllerDriver *p_FmMacControllerDriver = (t_FmMacControllerDriver *)h_FmMac;
++
++    SANITY_CHECK_RETURN_ERROR(p_FmMacControllerDriver, E_INVALID_HANDLE);
++
++    memset(p_FrameSizeCounters, 0, sizeof(t_FmMacFrameSizeCounters));
++
++    if (p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters)
++        return p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters(h_FmMac, p_FrameSizeCounters, type);
++
++    RETURN_ERROR(MINOR, E_NOT_SUPPORTED, NO_MSG);
++}
++
++/* ......................................................................... */
++
 +t_Error FM_MAC_ModifyMacAddr (t_Handle h_FmMac, t_EnetAddr *p_EnetAddr)
 +{
 +    t_FmMacControllerDriver *p_FmMacControllerDriver = (t_FmMacControllerDriver *)h_FmMac;
@@ -17405,9 +17514,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    RETURN_ERROR(MINOR, E_NOT_SUPPORTED, NO_MSG);
 +}
 +#endif /* (defined(DEBUG_ERRORS) && ... */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.h
+new file mode 100644
+index 00000000..ba3b9133
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fm_mac.h
-@@ -0,0 +1,225 @@
+@@ -0,0 +1,226 @@
 +/*
 + * Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
@@ -17516,6 +17628,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    t_Error (*f_FM_MAC_ResetCounters) (t_Handle h_FmMac);
 +    t_Error (*f_FM_MAC_GetStatistics) (t_Handle h_FmMac, t_FmMacStatistics *p_Statistics);
++    t_Error (*f_FM_MAC_GetFrameSizeCounters) (t_Handle h_FmMac, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type);
 +
 +    t_Error (*f_FM_MAC_ModifyMacAddr) (t_Handle h_FmMac, t_EnetAddr *p_EnetAddr);
 +    t_Error (*f_FM_MAC_AddHashMacAddr) (t_Handle h_FmMac, t_EnetAddr *p_EnetAddr);
@@ -17633,6 +17746,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_MAC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_crc32.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_crc32.c
+new file mode 100644
+index 00000000..b6a4ca25
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_crc32.c
 @@ -0,0 +1,119 @@
@@ -17755,6 +17871,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      crc = get_mirror32(crc);
 +      return crc;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_crc32.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_crc32.h
+new file mode 100644
+index 00000000..6e32fdc6
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_crc32.h
 @@ -0,0 +1,43 @@
@@ -17801,6 +17920,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FMAN_CRC32_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_dtsec.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_dtsec.c
+new file mode 100644
+index 00000000..5b092865
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_dtsec.c
 @@ -0,0 +1,845 @@
@@ -18649,6 +18771,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +      return ret_val;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_dtsec_mii_acc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_dtsec_mii_acc.c
+new file mode 100644
+index 00000000..8819f8fc
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_dtsec_mii_acc.c
 @@ -0,0 +1,163 @@
@@ -18815,9 +18940,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return 0;
 +}
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_memac.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_memac.c
+new file mode 100644
+index 00000000..f31a92a2
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_memac.c
-@@ -0,0 +1,511 @@
+@@ -0,0 +1,532 @@
 +/*
 + * Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
@@ -19180,24 +19308,45 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    case E_MEMAC_COUNTER_R64:
 +        ret_val = GET_MEMAC_CNTR_64(r64);
 +        break;
++    case E_MEMAC_COUNTER_T64:
++        ret_val = GET_MEMAC_CNTR_64(t64);
++        break;
 +    case E_MEMAC_COUNTER_R127:
 +        ret_val = GET_MEMAC_CNTR_64(r127);
 +        break;
++    case E_MEMAC_COUNTER_T127:
++        ret_val = GET_MEMAC_CNTR_64(t127);
++        break;
 +    case E_MEMAC_COUNTER_R255:
 +        ret_val = GET_MEMAC_CNTR_64(r255);
 +        break;
++    case E_MEMAC_COUNTER_T255:
++        ret_val = GET_MEMAC_CNTR_64(t255);
++        break;
 +    case E_MEMAC_COUNTER_R511:
 +        ret_val = GET_MEMAC_CNTR_64(r511);
 +        break;
++    case E_MEMAC_COUNTER_T511:
++        ret_val = GET_MEMAC_CNTR_64(t511);
++        break;
 +    case E_MEMAC_COUNTER_R1023:
 +        ret_val = GET_MEMAC_CNTR_64(r1023);
 +        break;
++    case E_MEMAC_COUNTER_T1023:
++        ret_val = GET_MEMAC_CNTR_64(t1023);
++        break;
 +    case E_MEMAC_COUNTER_R1518:
 +        ret_val = GET_MEMAC_CNTR_64(r1518);
 +        break;
++    case E_MEMAC_COUNTER_T1518:
++        ret_val = GET_MEMAC_CNTR_64(t1518);
++        break;
 +    case E_MEMAC_COUNTER_R1519X:
 +        ret_val = GET_MEMAC_CNTR_64(r1519x);
 +        break;
++    case E_MEMAC_COUNTER_T1519X:
++        ret_val = GET_MEMAC_CNTR_64(t1519x);
++        break;
 +    case E_MEMAC_COUNTER_RFRG:
 +        ret_val = GET_MEMAC_CNTR_64(rfrg);
 +        break;
@@ -19329,6 +19478,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    cfg->debug_mode                   = FALSE;
 +    cfg->wake_on_lan        = FALSE;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_memac_mii_acc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_memac_mii_acc.c
+new file mode 100755
+index 00000000..ccda11ec
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_memac_mii_acc.c
 @@ -0,0 +1,213 @@
@@ -19545,6 +19697,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +/* ......................................................................... */
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_tgec.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_tgec.c
+new file mode 100644
+index 00000000..fff9d5de
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/fman_tgec.c
 @@ -0,0 +1,367 @@
@@ -19915,9 +20070,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +      iowrite32be(tmp, &regs->tx_ipg_len);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c
+new file mode 100644
+index 00000000..0f299e72
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c
-@@ -0,0 +1,1096 @@
+@@ -0,0 +1,1153 @@
 +/*
 + * Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
@@ -20513,6 +20671,62 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +/* ......................................................................... */
 +
++static t_Error MemacGetFrameSizeCounters(t_Handle h_Memac, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type)
++{
++    t_Memac     *p_Memac = (t_Memac *)h_Memac;
++
++    SANITY_CHECK_RETURN_ERROR(p_Memac, E_NULL_POINTER);
++    SANITY_CHECK_RETURN_ERROR(!p_Memac->p_MemacDriverParam, E_INVALID_STATE);
++    SANITY_CHECK_RETURN_ERROR(p_FrameSizeCounters, E_NULL_POINTER);
++
++    switch (type)
++    {
++    case e_COMM_MODE_NONE:
++      break;
++
++    case e_COMM_MODE_RX:
++        p_FrameSizeCounters->count_pkts_64             = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R64);
++        p_FrameSizeCounters->count_pkts_65_to_127      = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R127);
++        p_FrameSizeCounters->count_pkts_128_to_255     = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R255);
++        p_FrameSizeCounters->count_pkts_256_to_511     = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R511);
++        p_FrameSizeCounters->count_pkts_512_to_1023    = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1023);
++        p_FrameSizeCounters->count_pkts_1024_to_1518   = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1518);
++        p_FrameSizeCounters->count_pkts_1519_to_1522   = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1519X);
++      break;
++
++    case e_COMM_MODE_TX:
++        p_FrameSizeCounters->count_pkts_64             = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T64);
++        p_FrameSizeCounters->count_pkts_65_to_127      = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T127);
++        p_FrameSizeCounters->count_pkts_128_to_255     = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T255);
++        p_FrameSizeCounters->count_pkts_256_to_511     = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T511);
++        p_FrameSizeCounters->count_pkts_512_to_1023    = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1023);
++        p_FrameSizeCounters->count_pkts_1024_to_1518   = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1518);
++        p_FrameSizeCounters->count_pkts_1519_to_1522   = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1519X);
++      break;
++
++    case e_COMM_MODE_RX_AND_TX:
++        p_FrameSizeCounters->count_pkts_64             = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R64)
++                                                       + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T64);
++        p_FrameSizeCounters->count_pkts_65_to_127      = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R127)
++                                                       + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T127);
++        p_FrameSizeCounters->count_pkts_128_to_255     = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R255)
++                                                       + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T255);
++        p_FrameSizeCounters->count_pkts_256_to_511     = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R511)
++                                                       + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T511);
++        p_FrameSizeCounters->count_pkts_512_to_1023    = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1023)
++                                                       + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1023);
++        p_FrameSizeCounters->count_pkts_1024_to_1518   = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1518)
++                                                       + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1518);
++        p_FrameSizeCounters->count_pkts_1519_to_1522   = fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_R1519X)
++                                                       + fman_memac_get_counter(p_Memac->p_MemMap, E_MEMAC_COUNTER_T1519X);
++      break;
++    }
++
++    return E_OK;
++}
++
++/* ......................................................................... */
++
 +static t_Error MemacModifyMacAddress (t_Handle h_Memac, t_EnetAddr *p_EnetAddr)
 +{
 +    t_Memac     *p_Memac = (t_Memac *)h_Memac;
@@ -20945,6 +21159,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    p_FmMacControllerDriver->f_FM_MAC_ResetCounters             = MemacResetCounters;
 +    p_FmMacControllerDriver->f_FM_MAC_GetStatistics             = MemacGetStatistics;
++    p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters      = MemacGetFrameSizeCounters;
 +
 +    p_FmMacControllerDriver->f_FM_MAC_ModifyMacAddr             = MemacModifyMacAddress;
 +    p_FmMacControllerDriver->f_FM_MAC_AddHashMacAddr            = MemacAddHashMacAddress;
@@ -21014,6 +21229,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return p_Memac;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.h
+new file mode 100644
+index 00000000..2fd89dae
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.h
 @@ -0,0 +1,110 @@
@@ -21127,6 +21345,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __MEMAC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac_mii_acc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac_mii_acc.c
+new file mode 100644
+index 00000000..56eaffbc
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac_mii_acc.c
 @@ -0,0 +1,78 @@
@@ -21208,6 +21429,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +                                       p_Data,
 +                                       (enum enet_speed)ENET_SPEED_FROM_MODE(p_Memac->enetMode));
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac_mii_acc.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac_mii_acc.h
+new file mode 100644
+index 00000000..325ec082
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac_mii_acc.h
 @@ -0,0 +1,73 @@
@@ -21284,9 +21508,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __MEMAC_MII_ACC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec.c
+new file mode 100644
+index 00000000..eb00759f
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec.c
-@@ -0,0 +1,975 @@
+@@ -0,0 +1,1017 @@
 +/*
 + * Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
@@ -21727,6 +21954,47 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +/* ......................................................................... */
 +
++static t_Error TgecGetFrameSizeCounters(t_Handle h_Tgec, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type)
++{
++    t_Tgec              *p_Tgec = (t_Tgec *)h_Tgec;
++    struct tgec_regs    *p_TgecMemMap;
++
++    SANITY_CHECK_RETURN_ERROR(p_Tgec, E_NULL_POINTER);
++    SANITY_CHECK_RETURN_ERROR(!p_Tgec->p_TgecDriverParam, E_INVALID_STATE);
++    SANITY_CHECK_RETURN_ERROR(p_FrameSizeCounters, E_NULL_POINTER);
++
++    p_TgecMemMap = p_Tgec->p_MemMap;
++
++    switch (type)
++    {
++    case e_COMM_MODE_NONE:
++      break;
++
++    case e_COMM_MODE_RX:
++        p_FrameSizeCounters->count_pkts_64             = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R64);
++        p_FrameSizeCounters->count_pkts_65_to_127      = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R127);
++        p_FrameSizeCounters->count_pkts_128_to_255     = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R255);
++        p_FrameSizeCounters->count_pkts_256_to_511     = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R511);
++        p_FrameSizeCounters->count_pkts_512_to_1023    = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R1023);
++        p_FrameSizeCounters->count_pkts_1024_to_1518   = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R1518);
++        p_FrameSizeCounters->count_pkts_1519_to_1522   = fman_tgec_get_counter(p_TgecMemMap, E_TGEC_COUNTER_R1519X);
++      break;
++
++    case e_COMM_MODE_TX:
++      //Tx counters not supported
++      break;
++
++    case e_COMM_MODE_RX_AND_TX:
++      //Tx counters not supported
++      break;
++    }
++
++    return E_OK;
++}
++
++
++/* ......................................................................... */
++
 +static t_Error TgecEnable1588TimeStamp(t_Handle h_Tgec)
 +{
 +    t_Tgec      *p_Tgec = (t_Tgec *)h_Tgec;
@@ -22194,6 +22462,7 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    p_FmMacControllerDriver->f_FM_MAC_ResetCounters             = TgecResetCounters;
 +    p_FmMacControllerDriver->f_FM_MAC_GetStatistics             = TgecGetStatistics;
++    p_FmMacControllerDriver->f_FM_MAC_GetFrameSizeCounters      = TgecGetFrameSizeCounters;
 +
 +    p_FmMacControllerDriver->f_FM_MAC_ModifyMacAddr             = TgecModifyMacAddress;
 +    p_FmMacControllerDriver->f_FM_MAC_AddHashMacAddr            = TgecAddHashMacAddress;
@@ -22262,6 +22531,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return p_Tgec;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec.h
+new file mode 100644
+index 00000000..2aa39238
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec.h
 @@ -0,0 +1,151 @@
@@ -22416,6 +22688,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __TGEC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec_mii_acc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec_mii_acc.c
+new file mode 100644
+index 00000000..e0fafd1d
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec_mii_acc.c
 @@ -0,0 +1,139 @@
@@ -22558,6 +22833,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return E_OK;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec_mii_acc.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec_mii_acc.h
+new file mode 100644
+index 00000000..645cdde5
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/tgec_mii_acc.h
 @@ -0,0 +1,80 @@
@@ -22641,6 +22919,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __TGEC_MII_ACC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/Makefile
+new file mode 100644
+index 00000000..bfa02f5e
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/Makefile
 @@ -0,0 +1,15 @@
@@ -22659,6 +22940,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += fsl-ncsw-macsec.o
 +
 +fsl-ncsw-macsec-objs  := fm_macsec.o fm_macsec_guest.o fm_macsec_master.o fm_macsec_secy.o
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec.c
+new file mode 100644
+index 00000000..0a1b31f1
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec.c
 @@ -0,0 +1,237 @@
@@ -22899,6 +23183,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    RETURN_ERROR(MINOR, E_NOT_SUPPORTED, NO_MSG);
 +}
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec.h
+new file mode 100644
+index 00000000..fbe51875
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec.h
 @@ -0,0 +1,203 @@
@@ -23105,6 +23392,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_MACSEC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_guest.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_guest.c
+new file mode 100644
+index 00000000..31d789d0
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_guest.c
 @@ -0,0 +1,59 @@
@@ -23167,6 +23457,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    UNUSED(p_FmMacsecParam);
 +    return NULL;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_master.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_master.c
+new file mode 100644
+index 00000000..623612ac
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_master.c
 @@ -0,0 +1,1031 @@
@@ -24201,6 +24494,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    }
 +    return p_FmMacsec;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_master.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_master.h
+new file mode 100644
+index 00000000..2296a0f1
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_master.h
 @@ -0,0 +1,479 @@
@@ -24683,6 +24979,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_MACSEC_MASTER_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_secy.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_secy.c
+new file mode 100644
+index 00000000..7c72dc98
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_secy.c
 @@ -0,0 +1,883 @@
@@ -25569,6 +25868,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    RETURN_ERROR(MINOR, E_NOT_SUPPORTED, NO_MSG);
 +}
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_secy.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_secy.h
+new file mode 100644
+index 00000000..0cf624e6
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MACSEC/fm_macsec_secy.h
 @@ -0,0 +1,144 @@
@@ -25716,6 +26018,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_MACSEC_SECY_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Makefile
+new file mode 100644
+index 00000000..619f6608
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Makefile
 @@ -0,0 +1,23 @@
@@ -25742,6 +26047,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += HC/
 +obj-y         += Rtc/
 +obj-y         += MACSEC/
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/Makefile
+new file mode 100644
+index 00000000..62fbd73c
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/Makefile
 @@ -0,0 +1,26 @@
@@ -25771,6 +26079,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +fsl-ncsw-Pcd-objs     += fm_replic.o
 +endif
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/crc64.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/crc64.h
+new file mode 100644
+index 00000000..335ee681
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/crc64.h
 @@ -0,0 +1,360 @@
@@ -26134,6 +26445,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __CRC64_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_cc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_cc.c
+new file mode 100644
+index 00000000..17c933b4
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_cc.c
 @@ -0,0 +1,7582 @@
@@ -33719,6 +34033,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return FM_PCD_MatchTableGetMissStatistics(h_HashBucket, p_MissStatistics);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_cc.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_cc.h
+new file mode 100644
+index 00000000..3456bb56
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_cc.h
 @@ -0,0 +1,399 @@
@@ -34121,6 +34438,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_CC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c
+new file mode 100644
+index 00000000..f183d2f9
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.c
 @@ -0,0 +1,3242 @@
@@ -37366,6 +37686,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +        WRITE_UINT32(p_Regs->fmkg_gdv1r,value);
 +    return E_OK;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.h
+new file mode 100644
+index 00000000..cb7521a1
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_kg.h
 @@ -0,0 +1,206 @@
@@ -37575,6 +37898,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_KG_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_manip.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_manip.c
+new file mode 100644
+index 00000000..113777e5
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_manip.c
 @@ -0,0 +1,5571 @@
@@ -43149,6 +43475,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    return p_Manip;
 +}
 +#endif /* (defined(FM_CAPWAP_SUPPORT) && (DPAA_VERSION == 10)) */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_manip.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_manip.h
+new file mode 100644
+index 00000000..853bb834
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_manip.h
 @@ -0,0 +1,555 @@
@@ -43707,6 +44036,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_MANIP_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd.c
+new file mode 100644
+index 00000000..91f70a1a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd.c
 @@ -0,0 +1,2095 @@
@@ -45805,6 +46137,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    return FmHcGetPort(p_FmPcd->h_Hc);
 +}
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd.h
+new file mode 100644
+index 00000000..27ec9c5b
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd.h
 @@ -0,0 +1,543 @@
@@ -46351,6 +46686,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_PCD_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd_ipc.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd_ipc.h
+new file mode 100644
+index 00000000..325d3e33
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_pcd_ipc.h
 @@ -0,0 +1,280 @@
@@ -46634,6 +46972,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_PCD_IPC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_plcr.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_plcr.c
+new file mode 100644
+index 00000000..e3753305
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_plcr.c
 @@ -0,0 +1,1847 @@
@@ -48484,6 +48825,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return E_OK;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_plcr.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_plcr.h
+new file mode 100644
+index 00000000..2bb8b969
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_plcr.h
 @@ -0,0 +1,165 @@
@@ -48652,6 +48996,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_PLCR_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_prs.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_prs.c
+new file mode 100644
+index 00000000..ff4f0a2f
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_prs.c
 @@ -0,0 +1,423 @@
@@ -49078,6 +49425,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return E_OK;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_prs.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_prs.h
+new file mode 100644
+index 00000000..056f225e
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_prs.h
 @@ -0,0 +1,316 @@
@@ -49397,6 +49747,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    bitMask = 0x80000000>>prsPortId
 +
 +#endif /* __FM_PRS_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_replic.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_replic.c
+new file mode 100644
+index 00000000..ee82f730
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_replic.c
 @@ -0,0 +1,984 @@
@@ -50384,6 +50737,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +/*********************** End of API routines ************************/
 +
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_replic.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_replic.h
+new file mode 100644
+index 00000000..0e8e8bc0
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fm_replic.h
 @@ -0,0 +1,101 @@
@@ -50488,6 +50844,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_REPLIC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fman_kg.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fman_kg.c
+new file mode 100644
+index 00000000..49b86e8e
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fman_kg.c
 @@ -0,0 +1,888 @@
@@ -51379,6 +51738,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      err = fman_kg_write_ar_wait(regs, tmp_reg);
 +      return err;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fman_prs.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fman_prs.c
+new file mode 100644
+index 00000000..108779db
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Pcd/fman_prs.c
 @@ -0,0 +1,129 @@
@@ -51511,6 +51873,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      else
 +              iowrite32be(0, &regs->fmpr_ppsc);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/Makefile
+new file mode 100644
+index 00000000..7d928e0a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/Makefile
 @@ -0,0 +1,15 @@
@@ -51529,6 +51894,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += fsl-ncsw-Pcd.o
 +
 +fsl-ncsw-Pcd-objs     :=   fm_port.o fm_port_im.o fman_port.o
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port.c
+new file mode 100644
+index 00000000..ec6e0ed5
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port.c
 @@ -0,0 +1,6436 @@
@@ -57968,6 +58336,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    stats->snmpGetNextCnt = snmp_stats->snmpGetNextReqCnt;
 +    return E_OK;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port.h
+new file mode 100644
+index 00000000..85986f55
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port.h
 @@ -0,0 +1,999 @@
@@ -58970,6 +59341,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_PORT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port_dsar.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port_dsar.h
+new file mode 100755
+index 00000000..95619eff
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port_dsar.h
 @@ -0,0 +1,494 @@
@@ -59467,6 +59841,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_PORT_DSAR_H_ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port_im.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port_im.c
+new file mode 100644
+index 00000000..8de8f5fd
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fm_port_im.c
 @@ -0,0 +1,753 @@
@@ -60223,6 +60600,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return FmPortImRx(p_FmPort);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fman_port.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fman_port.c
+new file mode 100755
+index 00000000..60acbf34
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Port/fman_port.c
 @@ -0,0 +1,1568 @@
@@ -61794,6 +62174,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    }
 +    return 0;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/Makefile
+new file mode 100644
+index 00000000..d2c21d34
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/Makefile
 @@ -0,0 +1,15 @@
@@ -61812,6 +62195,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += fsl-ncsw-RTC.o
 +
 +fsl-ncsw-RTC-objs     :=   fm_rtc.o fman_rtc.o
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fm_rtc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fm_rtc.c
+new file mode 100644
+index 00000000..99de427b
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fm_rtc.c
 @@ -0,0 +1,692 @@
@@ -62507,6 +62893,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return E_OK;
 +}
 +#endif
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fm_rtc.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fm_rtc.h
+new file mode 100644
+index 00000000..843ca008
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fm_rtc.h
 @@ -0,0 +1,96 @@
@@ -62606,6 +62995,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_RTC_H__ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fman_rtc.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fman_rtc.c
+new file mode 100755
+index 00000000..acdf507e
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/Rtc/fman_rtc.c
 @@ -0,0 +1,334 @@
@@ -62943,6 +63335,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +              fman_rtc_set_timer_ctrl(regs, fman_rtc_get_timer_ctrl(regs) | tmpReg);
 +      }
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/Makefile b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/Makefile
+new file mode 100644
+index 00000000..fae50ce4
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/Makefile
 @@ -0,0 +1,15 @@
@@ -62961,6 +63356,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += fsl-ncsw-sp.o
 +
 +fsl-ncsw-sp-objs      := fm_sp.o fman_sp.o
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fm_sp.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fm_sp.c
+new file mode 100644
+index 00000000..0994f34d
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fm_sp.c
 @@ -0,0 +1,757 @@
@@ -63721,6 +64119,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +}
 +
 +#endif /* (DPAA_VERSION >= 11) */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fm_sp.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fm_sp.h
+new file mode 100644
+index 00000000..9c171d85
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fm_sp.h
 @@ -0,0 +1,85 @@
@@ -63809,6 +64210,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_SP_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fman_sp.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fman_sp.c
+new file mode 100755
+index 00000000..0f772e91
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/SP/fman_sp.c
 @@ -0,0 +1,197 @@
@@ -64009,6 +64413,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    /* buffer margins - fill spliodn register */
 +    iowrite32be(liodn_offset, &sp_regs->fm_sp_spliodn);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm.c
+new file mode 100644
+index 00000000..a870b47e
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm.c
 @@ -0,0 +1,5216 @@
@@ -69228,6 +69635,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      WRITE_UINT32(p_Fm->p_FmFpmRegs->fm_rcr, rcr);
 +}
 +#endif
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm.h
+new file mode 100644
+index 00000000..0bded75d
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm.h
 @@ -0,0 +1,648 @@
@@ -69879,6 +70289,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm_ipc.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm_ipc.h
+new file mode 100644
+index 00000000..7ce36a76
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm_ipc.h
 @@ -0,0 +1,465 @@
@@ -70347,6 +70760,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_IPC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm_muram.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm_muram.c
+new file mode 100644
+index 00000000..0bc67cb7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fm_muram.c
 @@ -0,0 +1,174 @@
@@ -70524,6 +70940,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return MM_GetFreeMemSize(p_FmMuram->h_Mem);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fman.c b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fman.c
+new file mode 100755
+index 00000000..a41ecd04
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/fman.c
 @@ -0,0 +1,1398 @@
@@ -71925,6 +72344,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +      iowrite32be(tmp, &fpm_rg->fmfp_ee);
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_common.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_common.h
+new file mode 100644
+index 00000000..204840c9
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_common.h
 @@ -0,0 +1,1214 @@
@@ -73142,6 +73564,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_COMMON_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_hc.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_hc.h
+new file mode 100644
+index 00000000..492aa8a3
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_hc.h
 @@ -0,0 +1,93 @@
@@ -73238,6 +73663,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_HC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_sp_common.h b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_sp_common.h
+new file mode 100644
+index 00000000..f9dd384b
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/inc/fm_sp_common.h
 @@ -0,0 +1,117 @@
@@ -73358,6 +73786,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_SP_COMMON_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/etc/Makefile b/drivers/net/ethernet/freescale/sdk_fman/etc/Makefile
+new file mode 100644
+index 00000000..d03a519c
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/etc/Makefile
 @@ -0,0 +1,12 @@
@@ -73373,6 +73804,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += fsl-ncsw-etc.o
 +
 +fsl-ncsw-etc-objs     := mm.o memcpy.o sprint.o list.o error.o
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/etc/error.c b/drivers/net/ethernet/freescale/sdk_fman/etc/error.c
+new file mode 100644
+index 00000000..fead7f50
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/etc/error.c
 @@ -0,0 +1,95 @@
@@ -73471,6 +73905,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    return NULL;
 +}
 +#endif /* (defined(DEBUG_ERRORS) && (DEBUG_ERRORS > 0)) */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/etc/list.c b/drivers/net/ethernet/freescale/sdk_fman/etc/list.c
+new file mode 100644
+index 00000000..2d044be2
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/etc/list.c
 @@ -0,0 +1,71 @@
@@ -73545,6 +73982,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +    return numOfObjs;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/etc/memcpy.c b/drivers/net/ethernet/freescale/sdk_fman/etc/memcpy.c
+new file mode 100644
+index 00000000..fa203ec7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/etc/memcpy.c
 @@ -0,0 +1,620 @@
@@ -74168,6 +74608,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +        XX_Print("\r\n");
 +    }
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/etc/mm.c b/drivers/net/ethernet/freescale/sdk_fman/etc/mm.c
+new file mode 100644
+index 00000000..9fcc46e0
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/etc/mm.c
 @@ -0,0 +1,1155 @@
@@ -75326,6 +75769,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +        XX_Print("\n");
 +    }
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/etc/mm.h b/drivers/net/ethernet/freescale/sdk_fman/etc/mm.h
+new file mode 100644
+index 00000000..43b2298f
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/etc/mm.h
 @@ -0,0 +1,105 @@
@@ -75434,6 +75880,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __MM_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/etc/sprint.c b/drivers/net/ethernet/freescale/sdk_fman/etc/sprint.c
+new file mode 100644
+index 00000000..46d2956a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/etc/sprint.c
 @@ -0,0 +1,81 @@
@@ -75518,6 +75967,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    return i;
 +}
 +#endif /* NCSW_VXWORKS */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/fmanv3h_dflags.h b/drivers/net/ethernet/freescale/sdk_fman/fmanv3h_dflags.h
+new file mode 100644
+index 00000000..435b0d2b
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/fmanv3h_dflags.h
 @@ -0,0 +1,57 @@
@@ -75578,6 +76030,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define EVENT_GLOBAL_LEVEL  REPORT_LEVEL_MINOR
 +
 +#endif /* __dflags_h */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/fmanv3l_dflags.h b/drivers/net/ethernet/freescale/sdk_fman/fmanv3l_dflags.h
+new file mode 100644
+index 00000000..789eb879
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/fmanv3l_dflags.h
 @@ -0,0 +1,56 @@
@@ -75637,6 +76092,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define EVENT_GLOBAL_LEVEL  REPORT_LEVEL_MINOR
 +
 +#endif /* __dflags_h */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/crc_mac_addr_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/crc_mac_addr_ext.h
+new file mode 100644
+index 00000000..a84d5631
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/crc_mac_addr_ext.h
 @@ -0,0 +1,364 @@
@@ -76004,6 +76462,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __crc_mac_addr_ext_h */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/dpaa_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/dpaa_ext.h
+new file mode 100644
+index 00000000..e6d9e932
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/dpaa_ext.h
 @@ -0,0 +1,210 @@
@@ -76217,6 +76678,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __DPAA_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_ext.h
+new file mode 100644
+index 00000000..a8a64386
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_ext.h
 @@ -0,0 +1,1731 @@
@@ -77951,9 +78415,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_EXT */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_mac_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_mac_ext.h
+new file mode 100644
+index 00000000..be99b7c9
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_mac_ext.h
-@@ -0,0 +1,859 @@
+@@ -0,0 +1,887 @@
 +/*
 + * Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
@@ -78153,6 +78620,19 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +                                               - Other */
 +} t_FmMacStatistics;
 +
++/**************************************************************************//**
++ @Description   FM MAC Frame Size Counters
++*//***************************************************************************/
++typedef struct t_FmMacFrameSizeCounters {
++
++        uint64_t  count_pkts_64;            /**< 64 byte frame counter */
++        uint64_t  count_pkts_65_to_127;     /**< 65 to 127 byte frame counter */
++        uint64_t  count_pkts_128_to_255;    /**< 128 to 255 byte frame counter */
++        uint64_t  count_pkts_256_to_511;    /**< 256 to 511 byte frame counter */
++        uint64_t  count_pkts_512_to_1023;   /**< 512 to 1023 byte frame counter */
++        uint64_t  count_pkts_1024_to_1518;  /**< 1024 to 1518 byte frame counter */
++        uint64_t  count_pkts_1519_to_1522;  /**< 1519 to 1522 byte good frame count */
++} t_FmMacFrameSizeCounters;
 +
 +/**************************************************************************//**
 + @Group         FM_mac_init_grp FM MAC Initialization Unit
@@ -78610,6 +79090,21 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +t_Error FM_MAC_GetStatistics(t_Handle h_FmMac, t_FmMacStatistics *p_Statistics);
 +
 +/**************************************************************************//**
++ @Function      FM_MAC_GetFrameSizeCounters
++
++ @Description   get MAC statistics counters for different frame size
++
++ @Param[in]     h_FmMac       -  A handle to a FM MAC Module.
++ @Param[in]     p_FrameSizeCounters  -  Structure with counters
++ @Param[in]     type                                  -  Type of counters to be read
++
++ @Return        E_OK on success; Error code otherwise.
++
++ @Cautions      Allowed only following FM_Init().
++*//***************************************************************************/
++t_Error FM_MAC_GetFrameSizeCounters(t_Handle h_FmMac, t_FmMacFrameSizeCounters *p_FrameSizeCounters, e_CommMode type);
++
++/**************************************************************************//**
 + @Function      FM_MAC_ModifyMacAddr
 +
 + @Description   Replace the main MAC Address
@@ -78813,6 +79308,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_MAC_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_macsec_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_macsec_ext.h
+new file mode 100644
+index 00000000..57925f10
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_macsec_ext.h
 @@ -0,0 +1,1271 @@
@@ -80087,6 +80585,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_MACSEC_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_muram_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_muram_ext.h
+new file mode 100644
+index 00000000..ef62c8ef
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_muram_ext.h
 @@ -0,0 +1,170 @@
@@ -80260,6 +80761,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_MURAM_EXT */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_pcd_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_pcd_ext.h
+new file mode 100644
+index 00000000..8d1c3d88
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_pcd_ext.h
 @@ -0,0 +1,3974 @@
@@ -84237,6 +84741,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_PCD_EXT */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_port_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_port_ext.h
+new file mode 100644
+index 00000000..08a5aa59
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_port_ext.h
 @@ -0,0 +1,2608 @@
@@ -86848,6 +87355,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_PORT_EXT */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_rtc_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_rtc_ext.h
+new file mode 100644
+index 00000000..72078ac4
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_rtc_ext.h
 @@ -0,0 +1,619 @@
@@ -87470,6 +87980,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_RTC_EXT_H__ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_vsp_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_vsp_ext.h
+new file mode 100644
+index 00000000..f9aed036
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/fm_vsp_ext.h
 @@ -0,0 +1,411 @@
@@ -87884,6 +88397,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_VSP_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/mii_acc_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/mii_acc_ext.h
+new file mode 100644
+index 00000000..f635d3c2
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/Peripherals/mii_acc_ext.h
 @@ -0,0 +1,76 @@
@@ -87963,6 +88479,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __MII_ACC_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/core_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/core_ext.h
+new file mode 100644
+index 00000000..ec89a6dd
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/core_ext.h
 @@ -0,0 +1,90 @@
@@ -88056,6 +88575,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define fsl_mem_core_barrier() CORE_MemoryBarrier()
 +
 +#endif /* __CORE_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/cores/arm_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/cores/arm_ext.h
+new file mode 100644
+index 00000000..e63444a7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/cores/arm_ext.h
 @@ -0,0 +1,55 @@
@@ -88114,6 +88636,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +}
 +
 +#endif /* __PPC_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/cores/e500v2_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/cores/e500v2_ext.h
+new file mode 100644
+index 00000000..e79b1ddf
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/cores/e500v2_ext.h
 @@ -0,0 +1,476 @@
@@ -88593,6 +89118,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __E500V2_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/cores/ppc_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/cores/ppc_ext.h
+new file mode 100644
+index 00000000..9344b3a1
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/cores/ppc_ext.h
 @@ -0,0 +1,141 @@
@@ -88737,6 +89265,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PPC_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/ddr_std_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/ddr_std_ext.h
+new file mode 100644
+index 00000000..8bb343fc
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/ddr_std_ext.h
 @@ -0,0 +1,77 @@
@@ -88817,6 +89348,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +#endif /* __DDR_SDT_EXT_H */
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/debug_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/debug_ext.h
+new file mode 100644
+index 00000000..57db0a14
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/debug_ext.h
 @@ -0,0 +1,233 @@
@@ -89053,6 +89587,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +#endif /* __DEBUG_EXT_H */
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/endian_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/endian_ext.h
+new file mode 100644
+index 00000000..5cdec668
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/endian_ext.h
 @@ -0,0 +1,447 @@
@@ -89503,6 +90040,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +#endif /* __ENDIAN_EXT_H */
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/enet_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/enet_ext.h
+new file mode 100644
+index 00000000..ef3bee55
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/enet_ext.h
 @@ -0,0 +1,205 @@
@@ -89711,6 +90251,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __ENET_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/error_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/error_ext.h
+new file mode 100644
+index 00000000..2a5ad67b
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/error_ext.h
 @@ -0,0 +1,529 @@
@@ -90243,6 +90786,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif /* __ERROR_EXT_H */
 +
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/etc/list_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/list_ext.h
+new file mode 100644
+index 00000000..ee6b9f29
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/list_ext.h
 @@ -0,0 +1,358 @@
@@ -90604,6 +91150,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __LIST_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/etc/mem_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/mem_ext.h
+new file mode 100644
+index 00000000..d0565d41
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/mem_ext.h
 @@ -0,0 +1,318 @@
@@ -90925,6 +91474,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __MEM_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/etc/memcpy_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/memcpy_ext.h
+new file mode 100644
+index 00000000..1b3a2fac
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/memcpy_ext.h
 @@ -0,0 +1,208 @@
@@ -91136,6 +91688,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __MEMCPY_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/etc/mm_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/mm_ext.h
+new file mode 100644
+index 00000000..fa7c85e3
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/mm_ext.h
 @@ -0,0 +1,310 @@
@@ -91449,6 +92004,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +/** @} */ /* end of etc_id group */
 +
 +#endif /* __MM_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/etc/sprint_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/sprint_ext.h
+new file mode 100644
+index 00000000..52f7a9dc
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/etc/sprint_ext.h
 @@ -0,0 +1,118 @@
@@ -91570,6 +92128,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __SPRINT_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/common/arch/ppc_access.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/common/arch/ppc_access.h
+new file mode 100644
+index 00000000..c7b9b46f
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/common/arch/ppc_access.h
 @@ -0,0 +1,37 @@
@@ -91610,6 +92171,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +#endif /* FL_E500_MACROS_H */
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/common/general.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/common/general.h
+new file mode 100644
+index 00000000..b3f516fb
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/common/general.h
 @@ -0,0 +1,52 @@
@@ -91665,6 +92229,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __GENERAL_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fman_common.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fman_common.h
+new file mode 100755
+index 00000000..8b194e99
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fman_common.h
 @@ -0,0 +1,78 @@
@@ -91746,6 +92313,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define NIA_BMI_AC_FETCH_ALL_FRAME              0x0000020c
 +
 +#endif /* __FMAN_COMMON_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_enet.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_enet.h
+new file mode 100644
+index 00000000..caa87fc6
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_enet.h
 @@ -0,0 +1,273 @@
@@ -92022,6 +92592,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      } while (0)
 +
 +#endif /* __FSL_ENET_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman.h
+new file mode 100755
+index 00000000..96a63fa7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman.h
 @@ -0,0 +1,825 @@
@@ -92850,6 +93423,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FSL_FMAN_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_dtsec.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_dtsec.h
+new file mode 100644
+index 00000000..6004e478
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_dtsec.h
 @@ -0,0 +1,1096 @@
@@ -93949,6 +94525,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FSL_FMAN_DTSEC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_dtsec_mii_acc.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_dtsec_mii_acc.h
+new file mode 100644
+index 00000000..0dda09c3
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_dtsec_mii_acc.h
 @@ -0,0 +1,107 @@
@@ -94059,6 +94638,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +                      uint16_t dtsec_freq);
 +
 +#endif /* __FSL_FMAN_DTSEC_MII_ACC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_kg.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_kg.h
+new file mode 100644
+index 00000000..010e4b70
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_kg.h
 @@ -0,0 +1,514 @@
@@ -94576,9 +95158,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +}
 +
 +#endif /* __FSL_FMAN_KG_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_memac.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_memac.h
+new file mode 100644
+index 00000000..058da159
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_memac.h
-@@ -0,0 +1,427 @@
+@@ -0,0 +1,434 @@
 +/*
 + * Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
@@ -94727,12 +95312,19 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +enum memac_counters {
 +      E_MEMAC_COUNTER_R64,
++      E_MEMAC_COUNTER_T64,
 +      E_MEMAC_COUNTER_R127,
++      E_MEMAC_COUNTER_T127,
 +      E_MEMAC_COUNTER_R255,
++      E_MEMAC_COUNTER_T255,
 +      E_MEMAC_COUNTER_R511,
++      E_MEMAC_COUNTER_T511,
 +      E_MEMAC_COUNTER_R1023,
++      E_MEMAC_COUNTER_T1023,
 +      E_MEMAC_COUNTER_R1518,
++      E_MEMAC_COUNTER_T1518,
 +      E_MEMAC_COUNTER_R1519X,
++      E_MEMAC_COUNTER_T1519X,
 +      E_MEMAC_COUNTER_RFRG,
 +      E_MEMAC_COUNTER_RJBR,
 +      E_MEMAC_COUNTER_RDRP,
@@ -95006,6 +95598,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /*__FSL_FMAN_MEMAC_H*/
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_memac_mii_acc.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_memac_mii_acc.h
+new file mode 100755
+index 00000000..b4304450
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_memac_mii_acc.h
 @@ -0,0 +1,78 @@
@@ -95087,6 +95682,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      enum enet_speed enet_speed);
 +
 +#endif /* __MAC_API_MEMAC_MII_ACC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_port.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_port.h
+new file mode 100755
+index 00000000..080a23e9
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_port.h
 @@ -0,0 +1,593 @@
@@ -95683,6 +96281,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FSL_FMAN_PORT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_prs.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_prs.h
+new file mode 100644
+index 00000000..b18997dc
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_prs.h
 @@ -0,0 +1,102 @@
@@ -95788,6 +96389,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +void fman_prs_set_stst_port_msk(struct fman_prs_regs *regs, uint32_t pid_msk);
 +void fman_prs_set_stst(struct fman_prs_regs *regs, bool enable);
 +#endif /* __FSL_FMAN_PRS_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_rtc.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_rtc.h
+new file mode 100755
+index 00000000..f6b69a1f
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_rtc.h
 @@ -0,0 +1,449 @@
@@ -96240,6 +96844,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +};
 +
 +#endif /* __FSL_FMAN_RTC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_sp.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_sp.h
+new file mode 100755
+index 00000000..f8ef7d56
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_sp.h
 @@ -0,0 +1,138 @@
@@ -96381,6 +96988,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FSL_FMAN_SP_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_tgec.h b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_tgec.h
+new file mode 100644
+index 00000000..a0373141
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/flib/fsl_fman_tgec.h
 @@ -0,0 +1,479 @@
@@ -96863,6 +97473,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FSL_FMAN_TGEC_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/dpaa_integration_ext.h
+new file mode 100644
+index 00000000..0346cf60
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/dpaa_integration_ext.h
 @@ -0,0 +1,291 @@
@@ -97157,6 +97770,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define NUM_OF_SA_PER_TX_SC         2
 +
 +#endif /* __DPAA_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/part_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/part_ext.h
+new file mode 100644
+index 00000000..0d62dd15
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/part_ext.h
 @@ -0,0 +1,71 @@
@@ -97231,6 +97847,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/part_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/part_integration_ext.h
+new file mode 100644
+index 00000000..3254c766
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3H/part_integration_ext.h
 @@ -0,0 +1,304 @@
@@ -97538,6 +98157,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/dpaa_integration_ext.h
+new file mode 100644
+index 00000000..f7f8eb07
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/dpaa_integration_ext.h
 @@ -0,0 +1,293 @@
@@ -97834,6 +98456,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define NUM_OF_SA_PER_TX_SC         2
 +
 +#endif /* __DPAA_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/part_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/part_ext.h
+new file mode 100644
+index 00000000..ba9732ee
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/part_ext.h
 @@ -0,0 +1,59 @@
@@ -97896,6 +98521,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/part_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/part_integration_ext.h
+new file mode 100644
+index 00000000..3254c766
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/FMANV3L/part_integration_ext.h
 @@ -0,0 +1,304 @@
@@ -98203,6 +98831,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/dpaa_integration_ext.h
+new file mode 100644
+index 00000000..5a8f3583
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/dpaa_integration_ext.h
 @@ -0,0 +1,291 @@
@@ -98497,6 +99128,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define NUM_OF_SA_PER_TX_SC         2
 +
 +#endif /* __DPAA_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/part_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/part_ext.h
+new file mode 100644
+index 00000000..4787e19c
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/part_ext.h
 @@ -0,0 +1,64 @@
@@ -98564,6 +99198,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/part_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/part_integration_ext.h
+new file mode 100644
+index 00000000..85ba2a47
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/LS1043/part_integration_ext.h
 @@ -0,0 +1,185 @@
@@ -98752,6 +99389,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/dpaa_integration_ext.h
+new file mode 100644
+index 00000000..7b5390de
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/dpaa_integration_ext.h
 @@ -0,0 +1,213 @@
@@ -98968,6 +99608,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __DPAA_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/part_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/part_ext.h
+new file mode 100644
+index 00000000..6814d5fb
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/part_ext.h
 @@ -0,0 +1,82 @@
@@ -99053,6 +99696,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/part_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/part_integration_ext.h
+new file mode 100644
+index 00000000..e838283d
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P1023/part_integration_ext.h
 @@ -0,0 +1,635 @@
@@ -99691,6 +100337,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h
+new file mode 100644
+index 00000000..6e2b925f
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/dpaa_integration_ext.h
 @@ -0,0 +1,276 @@
@@ -99970,6 +100619,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __DPAA_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/part_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/part_ext.h
+new file mode 100644
+index 00000000..512f0baf
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/part_ext.h
 @@ -0,0 +1,83 @@
@@ -100056,6 +100708,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __PART_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/part_integration_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/part_integration_ext.h
+new file mode 100644
+index 00000000..03c59b8b
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/integrations/P3040_P4080_P5020/part_integration_ext.h
 @@ -0,0 +1,336 @@
@@ -100395,6 +101050,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    { /* Port A */ 0xFFFFFFFF }
 +
 +#endif /* __PART_INTEGRATION_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/math_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/math_ext.h
+new file mode 100644
+index 00000000..4ecfc6ed
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/math_ext.h
 @@ -0,0 +1,100 @@
@@ -100498,6 +101156,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __MATH_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/ncsw_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/ncsw_ext.h
+new file mode 100644
+index 00000000..dc32e249
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/ncsw_ext.h
 @@ -0,0 +1,435 @@
@@ -100936,6 +101597,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __NCSW_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/net_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/net_ext.h
+new file mode 100644
+index 00000000..8f3bc369
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/net_ext.h
 @@ -0,0 +1,430 @@
@@ -101369,6 +102033,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __NET_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/std_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/std_ext.h
+new file mode 100644
+index 00000000..d91e6fdd
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/std_ext.h
 @@ -0,0 +1,48 @@
@@ -101420,6 +102087,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __STD_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/stdarg_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/stdarg_ext.h
+new file mode 100644
+index 00000000..3c8bb0a0
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/stdarg_ext.h
 @@ -0,0 +1,49 @@
@@ -101472,6 +102142,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __STDARG_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/stdlib_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/stdlib_ext.h
+new file mode 100644
+index 00000000..a47860cf
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/stdlib_ext.h
 @@ -0,0 +1,162 @@
@@ -101637,6 +102310,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __STDLIB_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/string_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/string_ext.h
+new file mode 100644
+index 00000000..a5c6c7e0
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/string_ext.h
 @@ -0,0 +1,56 @@
@@ -101696,6 +102372,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __STRING_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/types_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/types_ext.h
+new file mode 100644
+index 00000000..8c87edb7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/types_ext.h
 @@ -0,0 +1,62 @@
@@ -101761,6 +102440,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif /* defined (__ROCOO__) */
 +
 +#endif /* __TYPES_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/xx_common.h b/drivers/net/ethernet/freescale/sdk_fman/inc/xx_common.h
+new file mode 100644
+index 00000000..8e81094b
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/xx_common.h
 @@ -0,0 +1,56 @@
@@ -101820,6 +102502,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define MODULE_FM_SP            0x00080000
 +#define MODULE_FM_MACSEC        0x00090000
 +#endif /* __XX_COMMON_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/inc/xx_ext.h b/drivers/net/ethernet/freescale/sdk_fman/inc/xx_ext.h
+new file mode 100644
+index 00000000..21b62d0a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/inc/xx_ext.h
 @@ -0,0 +1,791 @@
@@ -102614,6 +103299,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __XX_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/ls1043_dflags.h b/drivers/net/ethernet/freescale/sdk_fman/ls1043_dflags.h
+new file mode 100644
+index 00000000..c3a5a623
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/ls1043_dflags.h
 @@ -0,0 +1,56 @@
@@ -102673,6 +103361,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define EVENT_GLOBAL_LEVEL  REPORT_LEVEL_MINOR
 +
 +#endif /* __dflags_h */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/ncsw_config.mk b/drivers/net/ethernet/freescale/sdk_fman/ncsw_config.mk
+new file mode 100644
+index 00000000..586f9c79
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/ncsw_config.mk
 @@ -0,0 +1,53 @@
@@ -102729,6 +103420,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +ccflags-y += -I$(srctree)/include/uapi/linux/fmd
 +ccflags-y += -I$(srctree)/include/uapi/linux/fmd/Peripherals
 +ccflags-y += -I$(srctree)/include/uapi/linux/fmd/integrations
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/p1023_dflags.h b/drivers/net/ethernet/freescale/sdk_fman/p1023_dflags.h
+new file mode 100644
+index 00000000..b48819d7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/p1023_dflags.h
 @@ -0,0 +1,65 @@
@@ -102797,6 +103491,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __dflags_h */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/p3040_4080_5020_dflags.h b/drivers/net/ethernet/freescale/sdk_fman/p3040_4080_5020_dflags.h
+new file mode 100644
+index 00000000..74389742
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/p3040_4080_5020_dflags.h
 @@ -0,0 +1,62 @@
@@ -102862,6 +103559,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __dflags_h */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/Makefile b/drivers/net/ethernet/freescale/sdk_fman/src/Makefile
+new file mode 100644
+index 00000000..49405d0e
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/Makefile
 @@ -0,0 +1,11 @@
@@ -102876,6 +103576,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +obj-y         += system/
 +obj-y         += wrapper/
 +obj-y         += xx/
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/inc/system/sys_ext.h b/drivers/net/ethernet/freescale/sdk_fman/src/inc/system/sys_ext.h
+new file mode 100644
+index 00000000..20f27d29
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/system/sys_ext.h
 @@ -0,0 +1,118 @@
@@ -102997,6 +103700,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +        } else
 +
 +#endif /* __SYS_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/inc/system/sys_io_ext.h b/drivers/net/ethernet/freescale/sdk_fman/src/inc/system/sys_io_ext.h
+new file mode 100644
+index 00000000..d6aa9d41
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/system/sys_io_ext.h
 @@ -0,0 +1,46 @@
@@ -103046,6 +103752,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __SYS_IO_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/inc/types_linux.h b/drivers/net/ethernet/freescale/sdk_fman/src/inc/types_linux.h
+new file mode 100644
+index 00000000..201ad699
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/types_linux.h
 @@ -0,0 +1,208 @@
@@ -103257,6 +103966,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __TYPES_LINUX_H__ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/fsl_fman_test.h b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/fsl_fman_test.h
+new file mode 100644
+index 00000000..0466a473
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/fsl_fman_test.h
 @@ -0,0 +1,84 @@
@@ -103344,9 +104056,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define FMAN_TEST_MAX_TX_FQS 8
 +
 +#endif /* __FSL_FMAN_TEST_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_exp_sym.h b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_exp_sym.h
+new file mode 100644
+index 00000000..dd0f03ac
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_exp_sym.h
-@@ -0,0 +1,128 @@
+@@ -0,0 +1,130 @@
 +/* Copyright (c) 2008-2012 Freescale Semiconductor, Inc.
 + * All rights reserved.
 + *
@@ -103472,9 +104187,14 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +/* FMAN MAC exported routines */
 +EXPORT_SYMBOL(FM_MAC_GetStatistics);
 +
++EXPORT_SYMBOL(FM_MAC_GetFrameSizeCounters);
++
 +EXPORT_SYMBOL(FM_GetSpecialOperationCoding);
 +
 +#endif /* __LNXWRP_EXP_SYM_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_fm_ext.h b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_fm_ext.h
+new file mode 100644
+index 00000000..a72c8670
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_fm_ext.h
 @@ -0,0 +1,163 @@
@@ -103641,6 +104361,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __LNXWRP_FM_EXT_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_fsl_fman.h b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_fsl_fman.h
+new file mode 100644
+index 00000000..c50031cf
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/wrapper/lnxwrp_fsl_fman.h
 @@ -0,0 +1,921 @@
@@ -104565,6 +105288,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define DPA_PTP_NOMINAL_FREQ_PERIOD_NS (1 << DPA_PTP_NOMINAL_FREQ_PERIOD_SHIFT) /* 4ns,250MHz */
 +
 +#endif /* __LNXWRP_FSL_FMAN_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/inc/xx/xx.h b/drivers/net/ethernet/freescale/sdk_fman/src/inc/xx/xx.h
+new file mode 100644
+index 00000000..b183c86d
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/inc/xx/xx.h
 @@ -0,0 +1,50 @@
@@ -104618,6 +105344,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __XX_H */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/system/Makefile b/drivers/net/ethernet/freescale/sdk_fman/src/system/Makefile
+new file mode 100644
+index 00000000..667cd859
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/system/Makefile
 @@ -0,0 +1,10 @@
@@ -104631,6 +105360,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#
 +
 +obj-y         += sys_io.o
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/system/sys_io.c b/drivers/net/ethernet/freescale/sdk_fman/src/system/sys_io.c
+new file mode 100644
+index 00000000..c106a8b7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/system/sys_io.c
 @@ -0,0 +1,171 @@
@@ -104805,6 +105537,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +        return (uint64_t)(addr - p_IoMap->virtAddr + p_IoMap->physAddr);
 +    return (uint64_t)virt_to_phys(UINT_TO_PTR(addr));
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/Makefile b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/Makefile
+new file mode 100644
+index 00000000..62713d62
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/Makefile
 @@ -0,0 +1,19 @@
@@ -104827,6 +105562,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +fsl-ncsw-PFM-objs     :=      lnxwrp_fm.o lnxwrp_fm_port.o lnxwrp_ioctls_fm.o \
 +                              lnxwrp_sysfs.o lnxwrp_sysfs_fm.o lnxwrp_sysfs_fm_port.o 
 +obj-$(CONFIG_COMPAT)     +=   lnxwrp_ioctls_fm_compat.o
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/fman_test.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/fman_test.c
+new file mode 100644
+index 00000000..270d07b8
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/fman_test.c
 @@ -0,0 +1,1665 @@
@@ -106495,6 +107233,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +module_init(fmt_load);
 +module_exit(fmt_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.c
+new file mode 100755
+index 00000000..31f654b4
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.c
 @@ -0,0 +1,2908 @@
@@ -109406,6 +110147,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +module_init (fm_load);
 +module_exit (fm_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.h b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.h
+new file mode 100644
+index 00000000..09832563
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm.h
 @@ -0,0 +1,294 @@
@@ -109703,6 +110447,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +void LnxWrpPCDIOCTLEnumChecking(void);
 +
 +#endif /* __LNXWRP_FM_H__ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm_port.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm_port.c
+new file mode 100644
+index 00000000..00ab4bcb
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_fm_port.c
 @@ -0,0 +1,1480 @@
@@ -111186,9 +111933,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +module_init(fm_port_load);
 +module_exit(fm_port_unload);
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c
+new file mode 100644
+index 00000000..06833ba8
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm.c
-@@ -0,0 +1,4813 @@
+@@ -0,0 +1,4854 @@
 +/*
 + * Copyright 2008-2012 Freescale Semiconductor Inc.
 + *
@@ -115799,6 +116549,47 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +            break;
 +        }
 +
++        case FM_PORT_IOC_GET_MAC_FRAME_SIZE_COUNTERS:
++        {
++            t_LnxWrpFmDev *p_LnxWrpFmDev =
++                    (t_LnxWrpFmDev *)p_LnxWrpFmPortDev->h_LnxWrpFmDev;
++            ioc_fm_port_mac_frame_size_counters_t param;
++            t_FmMacFrameSizeCounters frameSizeCounters;
++            int mac_id = p_LnxWrpFmPortDev->id;
++
++            if (!p_LnxWrpFmDev)
++                RETURN_ERROR(MINOR, E_NOT_AVAILABLE, ("Port not initialized or other error!"));
++
++            if (&p_LnxWrpFmDev->txPorts[mac_id] != p_LnxWrpFmPortDev &&
++                &p_LnxWrpFmDev->rxPorts[mac_id] != p_LnxWrpFmPortDev)
++                mac_id += FM_MAX_NUM_OF_1G_MACS; /* 10G port */
++
++            if (!p_LnxWrpFmDev->macs[mac_id].h_Dev)
++                RETURN_ERROR(MINOR, E_NOT_AVAILABLE, ("Port not initialized or other error!"));
++
++            if (copy_from_user(&param, (ioc_fm_port_mac_frame_size_counters_t *)arg,
++                        sizeof(ioc_fm_port_mac_frame_size_counters_t)))
++                RETURN_ERROR(MINOR, E_WRITE_FAILED, NO_MSG);
++
++            if (FM_MAC_GetFrameSizeCounters(p_LnxWrpFmDev->macs[mac_id].h_Dev,
++                        &frameSizeCounters, param.type))
++                RETURN_ERROR(MINOR, E_WRITE_FAILED, NO_MSG);
++
++            param.count_pkts_64 = frameSizeCounters.count_pkts_64;
++            param.count_pkts_65_to_127 = frameSizeCounters.count_pkts_65_to_127;
++            param.count_pkts_128_to_255 = frameSizeCounters.count_pkts_128_to_255;
++            param.count_pkts_256_to_511 = frameSizeCounters.count_pkts_256_to_511;
++            param.count_pkts_512_to_1023 = frameSizeCounters.count_pkts_512_to_1023;
++            param.count_pkts_1024_to_1518 = frameSizeCounters.count_pkts_1024_to_1518;
++            param.count_pkts_1519_to_1522 = frameSizeCounters.count_pkts_1519_to_1522;
++
++            if (copy_to_user((ioc_fm_port_mac_frame_size_counters_t *)arg, &param,
++                        sizeof(ioc_fm_port_mac_frame_size_counters_t)))
++                RETURN_ERROR(MINOR, E_WRITE_FAILED, NO_MSG);
++
++            break;
++        }
++
 +        case FM_PORT_IOC_GET_BMI_COUNTERS:
 +        {
 +            t_LnxWrpFmDev *p_LnxWrpFmDev =
@@ -116002,6 +116793,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    .open =             fm_open,
 +    .release =          fm_close,
 +};
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm_compat.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm_compat.c
+new file mode 100644
+index 00000000..322ae9ef
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm_compat.c
 @@ -0,0 +1,1297 @@
@@ -117302,6 +118096,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    _fm_cpt_dbg (compat, " ...->}\n");
 +}
 +#endif /* (DPAA_VERSION >= 11) */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm_compat.h b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm_compat.h
+new file mode 100644
+index 00000000..187011f7
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_ioctls_fm_compat.h
 @@ -0,0 +1,755 @@
@@ -118060,6 +118857,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +/* } pcd compat functions */
 +#endif
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources.h b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources.h
+new file mode 100644
+index 00000000..1b72e1d5
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources.h
 @@ -0,0 +1,121 @@
@@ -118184,6 +118984,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif
 +
 +#endif /* LNXWRP_RESOURCES_H_ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.c
+new file mode 100644
+index 00000000..6c06a5a6
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.c
 @@ -0,0 +1,191 @@
@@ -118378,6 +119181,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +      return 0;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.h b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.h
+new file mode 100644
+index 00000000..063946eb
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.h
 @@ -0,0 +1,144 @@
@@ -118525,6 +119331,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +} _PackedType t_FmPrsResult;
 +
 +#endif
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.make b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.make
+new file mode 100644
+index 00000000..58009cd8
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_resources_ut.make
 @@ -0,0 +1,28 @@
@@ -118556,6 +119365,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +clean:
 +      rm -f *.o
 +      rm -f $(LNXWRP_RESS_UT)
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs.c
+new file mode 100644
+index 00000000..813771bf
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs.c
 @@ -0,0 +1,60 @@
@@ -118619,6 +119431,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      WARN(1, "FMD: Should never get here!");
 +      return 0;
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs.h b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs.h
+new file mode 100644
+index 00000000..2098b244
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs.h
 @@ -0,0 +1,60 @@
@@ -118682,6 +119497,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +                              uint8_t *offset);
 +
 +#endif /* LNXWRP_SYSFS_H_ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm.c
+new file mode 100644
+index 00000000..1badbf98
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm.c
 @@ -0,0 +1,1855 @@
@@ -120540,6 +121358,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      /* should never get here */
 +      return -EINVAL; /* counter not available */
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm.h b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm.h
+new file mode 100644
+index 00000000..137653e9
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm.h
 @@ -0,0 +1,136 @@
@@ -120679,6 +121500,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      } while (0)
 +
 +#endif /* LNXWRP_SYSFS_FM_H_ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm_port.c b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm_port.c
+new file mode 100644
+index 00000000..db8e824c
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm_port.c
 @@ -0,0 +1,1268 @@
@@ -121950,6 +122774,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return n;
 +}
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm_port.h b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm_port.h
+new file mode 100644
+index 00000000..1e7636f4
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/wrapper/lnxwrp_sysfs_fm_port.h
 @@ -0,0 +1,56 @@
@@ -122009,6 +122836,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif
 +
 +#endif /* LNXWRP_SYSFS_FM_PORT_H_ */
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/xx/Makefile b/drivers/net/ethernet/freescale/sdk_fman/src/xx/Makefile
+new file mode 100644
+index 00000000..1071c22a
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/xx/Makefile
 @@ -0,0 +1,18 @@
@@ -122030,6 +122860,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +                              module_strings.o
 +endif
 +
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/xx/module_strings.c b/drivers/net/ethernet/freescale/sdk_fman/src/xx/module_strings.c
+new file mode 100644
+index 00000000..d7fed170
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/xx/module_strings.c
 @@ -0,0 +1,46 @@
@@ -122079,6 +122912,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +    "FM-SP",                    /* MODULE_FM_SP */
 +    "FM-MACSEC"                 /* MODULE_FM_MACSEC */
 +};
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/xx/xx_arm_linux.c b/drivers/net/ethernet/freescale/sdk_fman/src/xx/xx_arm_linux.c
+new file mode 100644
+index 00000000..dd3e376e
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/xx/xx_arm_linux.c
 @@ -0,0 +1,905 @@
@@ -122987,6 +123823,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +{
 +    xx_Free((void*)(*((uintptr_t *)(p) - 1)));
 +}
+diff --git a/drivers/net/ethernet/freescale/sdk_fman/src/xx/xx_linux.c b/drivers/net/ethernet/freescale/sdk_fman/src/xx/xx_linux.c
+new file mode 100644
+index 00000000..992757d4
 --- /dev/null
 +++ b/drivers/net/ethernet/freescale/sdk_fman/src/xx/xx_linux.c
 @@ -0,0 +1,918 @@
@@ -123908,6 +124747,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +{
 +    xx_Free((void*)(*((uintptr_t *)(p) - 1)));
 +}
+diff --git a/drivers/staging/fsl_qbman/Kconfig b/drivers/staging/fsl_qbman/Kconfig
+new file mode 100644
+index 00000000..93dcb7d3
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/Kconfig
 @@ -0,0 +1,228 @@
@@ -124139,6 +124981,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +endmenu
+diff --git a/drivers/staging/fsl_qbman/Makefile b/drivers/staging/fsl_qbman/Makefile
+new file mode 100644
+index 00000000..777d7d34
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/Makefile
 @@ -0,0 +1,28 @@
@@ -124170,6 +125015,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +# USDPAA
 +obj-$(CONFIG_FSL_USDPAA)      += fsl_usdpaa.o fsl_usdpaa_irq.o
+diff --git a/drivers/staging/fsl_qbman/bman_config.c b/drivers/staging/fsl_qbman/bman_config.c
+new file mode 100644
+index 00000000..bb397730
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_config.c
 @@ -0,0 +1,720 @@
@@ -124893,6 +125741,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +module_exit(bman_ctrl_exit);
 +
 +#endif /* CONFIG_SYSFS */
+diff --git a/drivers/staging/fsl_qbman/bman_debugfs.c b/drivers/staging/fsl_qbman/bman_debugfs.c
+new file mode 100644
+index 00000000..96909348
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_debugfs.c
 @@ -0,0 +1,119 @@
@@ -125015,6 +125866,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +module_init(bman_debugfs_module_init);
 +module_exit(bman_debugfs_module_exit);
 +MODULE_LICENSE("Dual BSD/GPL");
+diff --git a/drivers/staging/fsl_qbman/bman_driver.c b/drivers/staging/fsl_qbman/bman_driver.c
+new file mode 100644
+index 00000000..86fabef6
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_driver.c
 @@ -0,0 +1,575 @@
@@ -125593,6 +126447,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return;
 +}
 +#endif
+diff --git a/drivers/staging/fsl_qbman/bman_high.c b/drivers/staging/fsl_qbman/bman_high.c
+new file mode 100644
+index 00000000..c066602d
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_high.c
 @@ -0,0 +1,1145 @@
@@ -126741,6 +127598,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +{
 +      return portal->sharing_redirect ? NULL : portal->config;
 +}
+diff --git a/drivers/staging/fsl_qbman/bman_low.h b/drivers/staging/fsl_qbman/bman_low.h
+new file mode 100644
+index 00000000..3da70571
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_low.h
 @@ -0,0 +1,565 @@
@@ -127309,6 +128169,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      }
 +      return 0;
 +}
+diff --git a/drivers/staging/fsl_qbman/bman_private.h b/drivers/staging/fsl_qbman/bman_private.h
+new file mode 100644
+index 00000000..64eefe7d
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_private.h
 @@ -0,0 +1,166 @@
@@ -127478,6 +128341,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif
 +
 +#endif /* CONFIG_FSL_BMAN_CONFIG */
+diff --git a/drivers/staging/fsl_qbman/bman_test.c b/drivers/staging/fsl_qbman/bman_test.c
+new file mode 100644
+index 00000000..db5b7fd3
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_test.c
 @@ -0,0 +1,56 @@
@@ -127537,6 +128403,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +module_init(test_init);
 +module_exit(test_exit);
+diff --git a/drivers/staging/fsl_qbman/bman_test.h b/drivers/staging/fsl_qbman/bman_test.h
+new file mode 100644
+index 00000000..fcd65056
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_test.h
 @@ -0,0 +1,44 @@
@@ -127584,6 +128453,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +void bman_test_high(void);
 +void bman_test_thresh(void);
+diff --git a/drivers/staging/fsl_qbman/bman_test_high.c b/drivers/staging/fsl_qbman/bman_test_high.c
+new file mode 100644
+index 00000000..1617a531
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_test_high.c
 @@ -0,0 +1,183 @@
@@ -127770,6 +128642,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      bman_free_pool(pool);
 +      pr_info("BMAN:  --- finished high-level test ---\n");
 +}
+diff --git a/drivers/staging/fsl_qbman/bman_test_thresh.c b/drivers/staging/fsl_qbman/bman_test_thresh.c
+new file mode 100644
+index 00000000..67093693
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/bman_test_thresh.c
 @@ -0,0 +1,196 @@
@@ -127969,6 +128844,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +      pr_info("bman_test_thresh: done\n");
 +}
+diff --git a/drivers/staging/fsl_qbman/dpa_alloc.c b/drivers/staging/fsl_qbman/dpa_alloc.c
+new file mode 100644
+index 00000000..44db3e1e
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/dpa_alloc.c
 @@ -0,0 +1,706 @@
@@ -128678,6 +129556,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      spin_unlock_irq(&list_head->lock);
 +      return res;
 +}
+diff --git a/drivers/staging/fsl_qbman/dpa_sys.h b/drivers/staging/fsl_qbman/dpa_sys.h
+new file mode 100644
+index 00000000..e144f5a4
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/dpa_sys.h
 @@ -0,0 +1,259 @@
@@ -128940,6 +129821,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +                           void **iir_reg);
 +#endif
 +#endif /* DPA_SYS_H */
+diff --git a/drivers/staging/fsl_qbman/dpa_sys_arm.h b/drivers/staging/fsl_qbman/dpa_sys_arm.h
+new file mode 100644
+index 00000000..17c5500e
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/dpa_sys_arm.h
 @@ -0,0 +1,95 @@
@@ -129038,6 +129922,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +#define hard_smp_processor_id() raw_smp_processor_id()
 +#endif
+diff --git a/drivers/staging/fsl_qbman/dpa_sys_arm64.h b/drivers/staging/fsl_qbman/dpa_sys_arm64.h
+new file mode 100644
+index 00000000..247c8d97
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/dpa_sys_arm64.h
 @@ -0,0 +1,102 @@
@@ -129143,6 +130030,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif
+diff --git a/drivers/staging/fsl_qbman/dpa_sys_ppc32.h b/drivers/staging/fsl_qbman/dpa_sys_ppc32.h
+new file mode 100644
+index 00000000..874616df
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/dpa_sys_ppc32.h
 @@ -0,0 +1,70 @@
@@ -129216,6 +130106,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +}
 +
 +#endif
+diff --git a/drivers/staging/fsl_qbman/dpa_sys_ppc64.h b/drivers/staging/fsl_qbman/dpa_sys_ppc64.h
+new file mode 100644
+index 00000000..d9803199
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/dpa_sys_ppc64.h
 @@ -0,0 +1,79 @@
@@ -129298,6 +130191,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +}
 +
 +#endif
+diff --git a/drivers/staging/fsl_qbman/fsl_usdpaa.c b/drivers/staging/fsl_qbman/fsl_usdpaa.c
+new file mode 100644
+index 00000000..3a6d3722
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/fsl_usdpaa.c
 @@ -0,0 +1,1983 @@
@@ -131284,6 +132180,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Freescale Semiconductor");
 +MODULE_DESCRIPTION("Freescale USDPAA process driver");
+diff --git a/drivers/staging/fsl_qbman/fsl_usdpaa_irq.c b/drivers/staging/fsl_qbman/fsl_usdpaa_irq.c
+new file mode 100644
+index 00000000..914c7471
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/fsl_usdpaa_irq.c
 @@ -0,0 +1,289 @@
@@ -131576,6 +132475,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +MODULE_LICENSE("GPL");
 +MODULE_AUTHOR("Freescale Semiconductor");
 +MODULE_DESCRIPTION("Freescale USDPAA process IRQ driver");
+diff --git a/drivers/staging/fsl_qbman/qbman_driver.c b/drivers/staging/fsl_qbman/qbman_driver.c
+new file mode 100644
+index 00000000..ab487d5f
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qbman_driver.c
 @@ -0,0 +1,88 @@
@@ -131667,6 +132569,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return 0;
 +}
 +subsys_initcall(qbman_init);
+diff --git a/drivers/staging/fsl_qbman/qman_config.c b/drivers/staging/fsl_qbman/qman_config.c
+new file mode 100644
+index 00000000..9bb1e11a
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_config.c
 @@ -0,0 +1,1224 @@
@@ -132894,6 +133799,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +module_exit(qman_ctrl_exit);
 +
 +#endif /* CONFIG_SYSFS */
+diff --git a/drivers/staging/fsl_qbman/qman_debugfs.c b/drivers/staging/fsl_qbman/qman_debugfs.c
+new file mode 100644
+index 00000000..fb8ecba1
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_debugfs.c
 @@ -0,0 +1,1594 @@
@@ -134491,6 +135399,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +module_init(qman_debugfs_module_init);
 +module_exit(qman_debugfs_module_exit);
 +MODULE_LICENSE("Dual BSD/GPL");
+diff --git a/drivers/staging/fsl_qbman/qman_driver.c b/drivers/staging/fsl_qbman/qman_driver.c
+new file mode 100644
+index 00000000..857ecd62
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_driver.c
 @@ -0,0 +1,977 @@
@@ -135471,6 +136382,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return;
 +}
 +#endif
+diff --git a/drivers/staging/fsl_qbman/qman_high.c b/drivers/staging/fsl_qbman/qman_high.c
+new file mode 100644
+index 00000000..1651e62c
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_high.c
 @@ -0,0 +1,5669 @@
@@ -141143,6 +142057,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +{
 +      return portal->sharing_redirect ? NULL : portal->config;
 +}
+diff --git a/drivers/staging/fsl_qbman/qman_low.h b/drivers/staging/fsl_qbman/qman_low.h
+new file mode 100644
+index 00000000..547b5fa2
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_low.h
 @@ -0,0 +1,1427 @@
@@ -142573,6 +143490,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      }
 +      return -1;
 +}
+diff --git a/drivers/staging/fsl_qbman/qman_private.h b/drivers/staging/fsl_qbman/qman_private.h
+new file mode 100644
+index 00000000..ee025cff
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_private.h
 @@ -0,0 +1,398 @@
@@ -142974,6 +143894,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +void suspend_unused_qportal(void);
 +void resume_unused_qportal(void);
 +#endif
+diff --git a/drivers/staging/fsl_qbman/qman_test.c b/drivers/staging/fsl_qbman/qman_test.c
+new file mode 100644
+index 00000000..7995dd8c
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_test.c
 @@ -0,0 +1,57 @@
@@ -143034,6 +143957,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +module_init(test_init);
 +module_exit(test_exit);
+diff --git a/drivers/staging/fsl_qbman/qman_test.h b/drivers/staging/fsl_qbman/qman_test.h
+new file mode 100644
+index 00000000..8c4181c7
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_test.h
 @@ -0,0 +1,45 @@
@@ -143082,6 +144008,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +void qman_test_hotpotato(void);
 +void qman_test_high(void);
 +
+diff --git a/drivers/staging/fsl_qbman/qman_test_high.c b/drivers/staging/fsl_qbman/qman_test_high.c
+new file mode 100644
+index 00000000..65ee270e
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_test_high.c
 @@ -0,0 +1,216 @@
@@ -143301,6 +144230,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      retire_complete = 1;
 +      wake_up(&waitqueue);
 +}
+diff --git a/drivers/staging/fsl_qbman/qman_test_hotpotato.c b/drivers/staging/fsl_qbman/qman_test_hotpotato.c
+new file mode 100644
+index 00000000..899d2aa9
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_test_hotpotato.c
 @@ -0,0 +1,502 @@
@@ -143806,6 +144738,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      kmem_cache_destroy(hp_handler_slab);
 +      pr_info("qman_test_hotpotato finished\n");
 +}
+diff --git a/drivers/staging/fsl_qbman/qman_utility.c b/drivers/staging/fsl_qbman/qman_utility.c
+new file mode 100644
+index 00000000..f1e39023
 --- /dev/null
 +++ b/drivers/staging/fsl_qbman/qman_utility.c
 @@ -0,0 +1,129 @@
@@ -143938,6 +144873,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +      return pool->used;
 +}
 +EXPORT_SYMBOL(qman_fqid_pool_used);
+diff --git a/include/linux/fsl_bman.h b/include/linux/fsl_bman.h
+new file mode 100644
+index 00000000..43942221
 --- /dev/null
 +++ b/include/linux/fsl_bman.h
 @@ -0,0 +1,532 @@
@@ -144473,6 +145411,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif
 +
 +#endif /* FSL_BMAN_H */
+diff --git a/include/linux/fsl_qman.h b/include/linux/fsl_qman.h
+new file mode 100644
+index 00000000..4e4b21d5
 --- /dev/null
 +++ b/include/linux/fsl_qman.h
 @@ -0,0 +1,3888 @@
@@ -148364,6 +149305,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif
 +
 +#endif /* FSL_QMAN_H */
+diff --git a/include/linux/fsl_usdpaa.h b/include/linux/fsl_usdpaa.h
+new file mode 100644
+index 00000000..381853de
 --- /dev/null
 +++ b/include/linux/fsl_usdpaa.h
 @@ -0,0 +1,372 @@
@@ -148739,6 +149683,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif
 +
 +#endif /* FSL_USDPAA_H */
+diff --git a/include/uapi/linux/fmd/Kbuild b/include/uapi/linux/fmd/Kbuild
+new file mode 100644
+index 00000000..56a20401
 --- /dev/null
 +++ b/include/uapi/linux/fmd/Kbuild
 @@ -0,0 +1,5 @@
@@ -148747,6 +149694,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +header-y += ioctls.h
 +header-y += net_ioctls.h
+diff --git a/include/uapi/linux/fmd/Peripherals/Kbuild b/include/uapi/linux/fmd/Peripherals/Kbuild
+new file mode 100644
+index 00000000..43883efe
 --- /dev/null
 +++ b/include/uapi/linux/fmd/Peripherals/Kbuild
 @@ -0,0 +1,4 @@
@@ -148754,6 +149704,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +header-y += fm_port_ioctls.h
 +header-y += fm_pcd_ioctls.h
 +header-y += fm_test_ioctls.h
+diff --git a/include/uapi/linux/fmd/Peripherals/fm_ioctls.h b/include/uapi/linux/fmd/Peripherals/fm_ioctls.h
+new file mode 100644
+index 00000000..e0c2dd31
 --- /dev/null
 +++ b/include/uapi/linux/fmd/Peripherals/fm_ioctls.h
 @@ -0,0 +1,628 @@
@@ -149385,6 +150338,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#define FMD_API_VERSION_RESPIN 0
 +
 +#endif /* __FM_IOCTLS_H */
+diff --git a/include/uapi/linux/fmd/Peripherals/fm_pcd_ioctls.h b/include/uapi/linux/fmd/Peripherals/fm_pcd_ioctls.h
+new file mode 100644
+index 00000000..d13e878d
 --- /dev/null
 +++ b/include/uapi/linux/fmd/Peripherals/fm_pcd_ioctls.h
 @@ -0,0 +1,3084 @@
@@ -152472,9 +153428,12 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +/** @} */ /* end of lnx_ioctl_FM_PCD_Runtime_grp group */
 +/** @} */ /* end of lnx_ioctl_FM_PCD_grp group */
 +/** @} */ /* end of lnx_ioctl_FM_grp group */
+diff --git a/include/uapi/linux/fmd/Peripherals/fm_port_ioctls.h b/include/uapi/linux/fmd/Peripherals/fm_port_ioctls.h
+new file mode 100644
+index 00000000..eb9bd9a7
 --- /dev/null
 +++ b/include/uapi/linux/fmd/Peripherals/fm_port_ioctls.h
-@@ -0,0 +1,948 @@
+@@ -0,0 +1,973 @@
 +/* Copyright (c) 2008-2012 Freescale Semiconductor, Inc.
 + * All rights reserved.
 + *
@@ -153416,6 +154375,31 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +#define FM_PORT_IOC_GET_BMI_COUNTERS _IOR(FM_IOC_TYPE_BASE, FM_PORT_IOC_NUM(42), ioc_fm_port_bmi_stats_t)
 +
++typedef struct ioc_fm_port_mac_frame_size_counters_t {
++
++        e_CommMode type;
++        uint64_t  count_pkts_64;            /**< 64 byte frame counter */
++        uint64_t  count_pkts_65_to_127;     /**< 65 to 127 byte frame counter */
++        uint64_t  count_pkts_128_to_255;    /**< 128 to 255 byte frame counter */
++        uint64_t  count_pkts_256_to_511;    /**< 256 to 511 byte frame counter */
++        uint64_t  count_pkts_512_to_1023;   /**< 512 to 1023 byte frame counter */
++        uint64_t  count_pkts_1024_to_1518;  /**< 1024 to 1518 byte frame counter */
++        uint64_t  count_pkts_1519_to_1522;  /**< 1519 to 1522 byte good frame count */
++} ioc_fm_port_mac_frame_size_counters_t;
++
++/**************************************************************************//**
++ @Function      FM_MAC_GetFrameSizeCounters
++
++ @Description   get MAC statistics counters for different frame size
++
++ @Param[out]    ioc_fm_port_mac_frame_size_counters_t    A structure holding the counters
++
++ @Return        E_OK on success; Error code otherwise.
++
++ @Cautions      Allowed only following FM_Init().
++*//***************************************************************************/
++#define FM_PORT_IOC_GET_MAC_FRAME_SIZE_COUNTERS        _IOR(FM_IOC_TYPE_BASE, FM_PORT_IOC_NUM(43), ioc_fm_port_mac_frame_size_counters_t)
++
 +
 +/** @} */ /* end of lnx_ioctl_FM_PORT_pcd_runtime_control_grp group */
 +/** @} */ /* end of lnx_ioctl_FM_PORT_runtime_control_grp group */
@@ -153423,6 +154407,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +/** @} */ /* end of lnx_ioctl_FM_PORT_grp group */
 +/** @} */ /* end of lnx_ioctl_FM_grp group */
 +#endif /* __FM_PORT_IOCTLS_H */
+diff --git a/include/uapi/linux/fmd/Peripherals/fm_test_ioctls.h b/include/uapi/linux/fmd/Peripherals/fm_test_ioctls.h
+new file mode 100644
+index 00000000..207ed1eb
 --- /dev/null
 +++ b/include/uapi/linux/fmd/Peripherals/fm_test_ioctls.h
 @@ -0,0 +1,208 @@
@@ -153634,10 +154621,16 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __FM_TEST_IOCTLS_H */
+diff --git a/include/uapi/linux/fmd/integrations/Kbuild b/include/uapi/linux/fmd/integrations/Kbuild
+new file mode 100644
+index 00000000..e548d676
 --- /dev/null
 +++ b/include/uapi/linux/fmd/integrations/Kbuild
 @@ -0,0 +1 @@
 +header-y += integration_ioctls.h
+diff --git a/include/uapi/linux/fmd/integrations/integration_ioctls.h b/include/uapi/linux/fmd/integrations/integration_ioctls.h
+new file mode 100644
+index 00000000..61d696e2
 --- /dev/null
 +++ b/include/uapi/linux/fmd/integrations/integration_ioctls.h
 @@ -0,0 +1,56 @@
@@ -153697,6 +154690,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +#endif
 +
 +#endif /* __INTG_IOCTLS_H */
+diff --git a/include/uapi/linux/fmd/ioctls.h b/include/uapi/linux/fmd/ioctls.h
+new file mode 100644
+index 00000000..4f36cb05
 --- /dev/null
 +++ b/include/uapi/linux/fmd/ioctls.h
 @@ -0,0 +1,96 @@
@@ -153796,6 +154792,9 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __IOCTLS_H__ */
+diff --git a/include/uapi/linux/fmd/net_ioctls.h b/include/uapi/linux/fmd/net_ioctls.h
+new file mode 100644
+index 00000000..c99d64cf
 --- /dev/null
 +++ b/include/uapi/linux/fmd/net_ioctls.h
 @@ -0,0 +1,430 @@
@@ -154229,3 +155228,6 @@ Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
 +
 +
 +#endif /* __NET_IOCTLS_H */
+-- 
+2.14.1
+