diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0098-sdk_dpaa-remove-ptp-clock-driver.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0098-sdk_dpaa-remove-ptp-clock-driver.patch | 392 |
1 files changed, 0 insertions, 392 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0098-sdk_dpaa-remove-ptp-clock-driver.patch b/target/linux/layerscape/patches-5.4/701-net-0098-sdk_dpaa-remove-ptp-clock-driver.patch deleted file mode 100644 index a34d952f7e..0000000000 --- a/target/linux/layerscape/patches-5.4/701-net-0098-sdk_dpaa-remove-ptp-clock-driver.patch +++ /dev/null @@ -1,392 +0,0 @@ -From 0738b02f733717693226db401784e884a0714d41 Mon Sep 17 00:00:00 2001 -From: Yangbo Lu <yangbo.lu@nxp.com> -Date: Wed, 31 Oct 2018 16:59:01 +0800 -Subject: [PATCH] sdk_dpaa: remove ptp clock driver - -Removed dpaa_ptp driver since we could use common -ptp_qoriq driver in drivers/ptp/ instead. - -Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com> ---- - drivers/net/ethernet/freescale/sdk_dpaa/Makefile | 1 - - drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h | 10 - - .../ethernet/freescale/sdk_dpaa/dpaa_eth_common.c | 21 -- - drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ptp.c | 291 --------------------- - drivers/net/ethernet/freescale/sdk_dpaa/mac.h | 3 +- - 5 files changed, 1 insertion(+), 325 deletions(-) - delete mode 100644 drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ptp.c - ---- a/drivers/net/ethernet/freescale/sdk_dpaa/Makefile -+++ b/drivers/net/ethernet/freescale/sdk_dpaa/Makefile -@@ -9,7 +9,6 @@ include $(srctree)/drivers/net/ethernet/ - ccflags-y += -I$(NET_DPA) - - obj-$(CONFIG_FSL_SDK_DPAA_ETH) += fsl_mac.o fsl_dpa.o --obj-$(CONFIG_PTP_1588_CLOCK_DPAA) += dpaa_ptp.o - - fsl_dpa-objs += dpaa_ethtool.o dpaa_eth_sysfs.o dpaa_eth.o dpaa_eth_sg.o dpaa_eth_common.o - ifeq ($(CONFIG_FSL_DPAA_DBG_LOOP),y) ---- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h -+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h -@@ -646,16 +646,6 @@ static inline void _dpa_assign_wq(struct - #define dpa_get_queue_mapping(skb) skb_get_queue_mapping(skb) - #endif - --#ifdef CONFIG_PTP_1588_CLOCK_DPAA --struct ptp_priv_s { -- struct device_node *node; -- struct platform_device *of_dev; -- struct ptp_clock *clock; -- struct mac_device *mac_dev; --}; --extern struct ptp_priv_s ptp_priv; --#endif -- - static inline void _dpa_bp_free_pf(void *addr) - { - put_page(virt_to_head_page(addr)); ---- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c -+++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_common.c -@@ -55,10 +55,6 @@ - /* Size in bytes of the FQ taildrop threshold */ - #define DPA_FQ_TD 0x200000 - --#ifdef CONFIG_PTP_1588_CLOCK_DPAA --struct ptp_priv_s ptp_priv; --#endif -- - static struct dpa_bp *dpa_bp_array[64]; - - int dpa_max_frm; -@@ -579,23 +575,6 @@ dpa_mac_probe(struct platform_device *_o - } - #endif - --#ifdef CONFIG_PTP_1588_CLOCK_DPAA -- if ((mac_dev->phy_if != PHY_INTERFACE_MODE_SGMII) || -- ((mac_dev->phy_if == PHY_INTERFACE_MODE_SGMII) && -- (mac_dev->speed == SPEED_1000))) { -- ptp_priv.node = of_parse_phandle(mac_node, "ptp-timer", 0); -- if (ptp_priv.node) { -- ptp_priv.of_dev = of_find_device_by_node(ptp_priv.node); -- if (unlikely(ptp_priv.of_dev == NULL)) { -- dev_err(dpa_dev, -- "Cannot find device represented by timer_node\n"); -- of_node_put(ptp_priv.node); -- return ERR_PTR(-EINVAL); -- } -- ptp_priv.mac_dev = mac_dev; -- } -- } --#endif - return mac_dev; - } - EXPORT_SYMBOL(dpa_mac_probe); ---- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_ptp.c -+++ /dev/null -@@ -1,291 +0,0 @@ --/* -- * DPAA Ethernet Driver -- PTP 1588 clock using the dTSEC -- * -- * Author: Yangbo Lu <yangbo.lu@freescale.com> -- * -- * Copyright 2014 Freescale Semiconductor, Inc. -- * -- * This program is free software; you can redistribute it and/or modify it -- * under the terms of the GNU General Public License as published by the -- * Free Software Foundation; either version 2 of the License, or (at your -- * option) any later version. --*/ -- --#include <linux/device.h> --#include <linux/hrtimer.h> --#include <linux/init.h> --#include <linux/interrupt.h> --#include <linux/kernel.h> --#include <linux/module.h> --#include <linux/of.h> --#include <linux/of_platform.h> --#include <linux/timex.h> --#include <linux/io.h> -- --#include <linux/ptp_clock_kernel.h> -- --#include "dpaa_eth.h" --#include "mac.h" -- --static struct mac_device *mac_dev; --static u32 freqCompensation; -- --/* Bit definitions for the TMR_CTRL register */ --#define ALM1P (1<<31) /* Alarm1 output polarity */ --#define ALM2P (1<<30) /* Alarm2 output polarity */ --#define FS (1<<28) /* FIPER start indication */ --#define PP1L (1<<27) /* Fiper1 pulse loopback mode enabled. */ --#define PP2L (1<<26) /* Fiper2 pulse loopback mode enabled. */ --#define TCLK_PERIOD_SHIFT (16) /* 1588 timer reference clock period. */ --#define TCLK_PERIOD_MASK (0x3ff) --#define RTPE (1<<15) /* Record Tx Timestamp to PAL Enable. */ --#define FRD (1<<14) /* FIPER Realignment Disable */ --#define ESFDP (1<<11) /* External Tx/Rx SFD Polarity. */ --#define ESFDE (1<<10) /* External Tx/Rx SFD Enable. */ --#define ETEP2 (1<<9) /* External trigger 2 edge polarity */ --#define ETEP1 (1<<8) /* External trigger 1 edge polarity */ --#define COPH (1<<7) /* Generated clock output phase. */ --#define CIPH (1<<6) /* External oscillator input clock phase */ --#define TMSR (1<<5) /* Timer soft reset. */ --#define BYP (1<<3) /* Bypass drift compensated clock */ --#define TE (1<<2) /* 1588 timer enable. */ --#define CKSEL_SHIFT (0) /* 1588 Timer reference clock source */ --#define CKSEL_MASK (0x3) -- --/* Bit definitions for the TMR_TEVENT register */ --#define ETS2 (1<<25) /* External trigger 2 timestamp sampled */ --#define ETS1 (1<<24) /* External trigger 1 timestamp sampled */ --#define ALM2 (1<<17) /* Current time = alarm time register 2 */ --#define ALM1 (1<<16) /* Current time = alarm time register 1 */ --#define PP1 (1<<7) /* periodic pulse generated on FIPER1 */ --#define PP2 (1<<6) /* periodic pulse generated on FIPER2 */ --#define PP3 (1<<5) /* periodic pulse generated on FIPER3 */ -- --/* Bit definitions for the TMR_TEMASK register */ --#define ETS2EN (1<<25) /* External trigger 2 timestamp enable */ --#define ETS1EN (1<<24) /* External trigger 1 timestamp enable */ --#define ALM2EN (1<<17) /* Timer ALM2 event enable */ --#define ALM1EN (1<<16) /* Timer ALM1 event enable */ --#define PP1EN (1<<7) /* Periodic pulse event 1 enable */ --#define PP2EN (1<<6) /* Periodic pulse event 2 enable */ -- --/* Bit definitions for the TMR_PEVENT register */ --#define TXP2 (1<<9) /* PTP transmitted timestamp im TXTS2 */ --#define TXP1 (1<<8) /* PTP transmitted timestamp in TXTS1 */ --#define RXP (1<<0) /* PTP frame has been received */ -- --/* Bit definitions for the TMR_PEMASK register */ --#define TXP2EN (1<<9) /* Transmit PTP packet event 2 enable */ --#define TXP1EN (1<<8) /* Transmit PTP packet event 1 enable */ --#define RXPEN (1<<0) /* Receive PTP packet event enable */ -- --/* Bit definitions for the TMR_STAT register */ --#define STAT_VEC_SHIFT (0) /* Timer general purpose status vector */ --#define STAT_VEC_MASK (0x3f) -- --/* Bit definitions for the TMR_PRSC register */ --#define PRSC_OCK_SHIFT (0) /* Output clock division/prescale factor. */ --#define PRSC_OCK_MASK (0xffff) -- -- --#define N_EXT_TS 2 -- --static void set_alarm(void) --{ -- u64 ns; -- -- if (mac_dev->fm_rtc_get_cnt) -- mac_dev->fm_rtc_get_cnt(mac_dev->fm_dev, &ns); -- ns += 1500000000ULL; -- ns = div_u64(ns, 1000000000UL) * 1000000000ULL; -- ns -= DPA_PTP_NOMINAL_FREQ_PERIOD_NS; -- if (mac_dev->fm_rtc_set_alarm) -- mac_dev->fm_rtc_set_alarm(mac_dev->fm_dev, 0, ns); --} -- --static void set_fipers(void) --{ -- u64 fiper; -- -- if (mac_dev->fm_rtc_disable) -- mac_dev->fm_rtc_disable(mac_dev->fm_dev); -- -- set_alarm(); -- fiper = 1000000000ULL - DPA_PTP_NOMINAL_FREQ_PERIOD_NS; -- if (mac_dev->fm_rtc_set_fiper) -- mac_dev->fm_rtc_set_fiper(mac_dev->fm_dev, 0, fiper); -- -- if (mac_dev->fm_rtc_enable) -- mac_dev->fm_rtc_enable(mac_dev->fm_dev); --} -- --/* PTP clock operations */ -- --static int ptp_dpa_adjfreq(struct ptp_clock_info *ptp, s32 ppb) --{ -- u64 adj; -- u32 diff, tmr_add; -- int neg_adj = 0; -- -- if (ppb < 0) { -- neg_adj = 1; -- ppb = -ppb; -- } -- -- tmr_add = freqCompensation; -- adj = tmr_add; -- adj *= ppb; -- diff = div_u64(adj, 1000000000ULL); -- -- tmr_add = neg_adj ? tmr_add - diff : tmr_add + diff; -- -- if (mac_dev->fm_rtc_set_drift) -- mac_dev->fm_rtc_set_drift(mac_dev->fm_dev, tmr_add); -- -- return 0; --} -- --static int ptp_dpa_adjtime(struct ptp_clock_info *ptp, s64 delta) --{ -- s64 now; -- -- if (mac_dev->fm_rtc_get_cnt) -- mac_dev->fm_rtc_get_cnt(mac_dev->fm_dev, &now); -- -- now += delta; -- -- if (mac_dev->fm_rtc_set_cnt) -- mac_dev->fm_rtc_set_cnt(mac_dev->fm_dev, now); -- set_fipers(); -- -- return 0; --} -- --static int ptp_dpa_gettime(struct ptp_clock_info *ptp, struct timespec64 *ts) --{ -- u64 ns; -- u32 remainder; -- -- if (mac_dev->fm_rtc_get_cnt) -- mac_dev->fm_rtc_get_cnt(mac_dev->fm_dev, &ns); -- -- ts->tv_sec = div_u64_rem(ns, 1000000000, &remainder); -- ts->tv_nsec = remainder; -- return 0; --} -- --static int ptp_dpa_settime(struct ptp_clock_info *ptp, -- const struct timespec64 *ts) --{ -- u64 ns; -- -- ns = ts->tv_sec * 1000000000ULL; -- ns += ts->tv_nsec; -- -- if (mac_dev->fm_rtc_set_cnt) -- mac_dev->fm_rtc_set_cnt(mac_dev->fm_dev, ns); -- set_fipers(); -- return 0; --} -- --static int ptp_dpa_enable(struct ptp_clock_info *ptp, -- struct ptp_clock_request *rq, int on) --{ -- u32 bit; -- -- switch (rq->type) { -- case PTP_CLK_REQ_EXTTS: -- switch (rq->extts.index) { -- case 0: -- bit = ETS1EN; -- break; -- case 1: -- bit = ETS2EN; -- break; -- default: -- return -EINVAL; -- } -- if (on) { -- if (mac_dev->fm_rtc_enable_interrupt) -- mac_dev->fm_rtc_enable_interrupt( -- mac_dev->fm_dev, bit); -- } else { -- if (mac_dev->fm_rtc_disable_interrupt) -- mac_dev->fm_rtc_disable_interrupt( -- mac_dev->fm_dev, bit); -- } -- return 0; -- -- case PTP_CLK_REQ_PPS: -- if (on) { -- if (mac_dev->fm_rtc_enable_interrupt) -- mac_dev->fm_rtc_enable_interrupt( -- mac_dev->fm_dev, PP1EN); -- } else { -- if (mac_dev->fm_rtc_disable_interrupt) -- mac_dev->fm_rtc_disable_interrupt( -- mac_dev->fm_dev, PP1EN); -- } -- return 0; -- -- default: -- break; -- } -- -- return -EOPNOTSUPP; --} -- --static struct ptp_clock_info ptp_dpa_caps = { -- .owner = THIS_MODULE, -- .name = "dpaa clock", -- .max_adj = 512000, -- .n_alarm = 0, -- .n_ext_ts = N_EXT_TS, -- .n_per_out = 0, -- .pps = 1, -- .adjfreq = ptp_dpa_adjfreq, -- .adjtime = ptp_dpa_adjtime, -- .gettime64 = ptp_dpa_gettime, -- .settime64 = ptp_dpa_settime, -- .enable = ptp_dpa_enable, --}; -- --static int __init __cold dpa_ptp_load(void) --{ -- struct device *ptp_dev; -- struct timespec64 now; -- struct ptp_clock *clock = ptp_priv.clock; -- int dpa_phc_index; -- int err; -- -- if (!(ptp_priv.of_dev && ptp_priv.mac_dev)) -- return -ENODEV; -- -- ptp_dev = &ptp_priv.of_dev->dev; -- mac_dev = ptp_priv.mac_dev; -- -- if (mac_dev->fm_rtc_get_drift) -- mac_dev->fm_rtc_get_drift(mac_dev->fm_dev, &freqCompensation); -- -- getnstimeofday64(&now); -- ptp_dpa_settime(&ptp_dpa_caps, &now); -- -- clock = ptp_clock_register(&ptp_dpa_caps, ptp_dev); -- if (IS_ERR(clock)) { -- err = PTR_ERR(clock); -- return err; -- } -- dpa_phc_index = ptp_clock_index(clock); -- return 0; --} --module_init(dpa_ptp_load); -- --static void __exit __cold dpa_ptp_unload(void) --{ -- struct ptp_clock *clock = ptp_priv.clock; -- -- if (mac_dev->fm_rtc_disable_interrupt) -- mac_dev->fm_rtc_disable_interrupt(mac_dev->fm_dev, 0xffffffff); -- ptp_clock_unregister(clock); --} --module_exit(dpa_ptp_unload); ---- a/drivers/net/ethernet/freescale/sdk_dpaa/mac.h -+++ b/drivers/net/ethernet/freescale/sdk_dpaa/mac.h -@@ -97,10 +97,9 @@ struct mac_device { - int (*fm_rtc_set_alarm)(struct fm *fm_dev, uint32_t id, uint64_t time); - int (*fm_rtc_set_fiper)(struct fm *fm_dev, uint32_t id, - uint64_t fiper); --#ifdef CONFIG_PTP_1588_CLOCK_DPAA - int (*fm_rtc_enable_interrupt)(struct fm *fm_dev, uint32_t events); - int (*fm_rtc_disable_interrupt)(struct fm *fm_dev, uint32_t events); --#endif -+ - int (*set_wol)(struct fm_port *port, struct fm_mac_dev *fm_mac_dev, - bool en); - int (*dump_mac_regs)(struct mac_device *h_mac, char *buf, int nn); |