| /linux/Documentation/devicetree/bindings/net/ |
| H A D | intel,ixp46x-ptp-timer.yaml | 1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 4 --- 5 $id: http://devicetree.org/schemas/net/intel,ixp46x-ptp-timer.yaml# 6 $schema: http://devicetree.org/meta-schemas/core.yaml# 8 title: Intel IXP46x PTP Timer (TSYNC) 11 - Linus Walleij <linusw@kernel.org> 14 The Intel IXP46x PTP timer is known in the manual as IEEE1588 Hardware 15 Assist and Time Synchronization Hardware Assist TSYNC provides a PTP 16 timer. It exists in the Intel IXP45x and IXP46x XScale SoCs. 20 const: intel,ixp46x-ptp-timer [all …]
|
| H A D | fsl,fman.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Frank Li <Frank.Li@nxp.com> 13 Due to the fact that the FMan is an aggregation of sub-engines (ports, MACs, 19 - fsl,fman 26 cell-index: 31 The cell-index value may be used by the SoC, to identify the 33 there's a description of the cell-index use in each SoC: 35 - P1023: [all …]
|
| /linux/drivers/ptp/ |
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 # PTP clock support configuration 6 menu "PTP clock support" 9 tristate "PTP clock support" 17 standard defines a Precision Time Protocol (PTP), which can 23 This driver adds support for PTP clocks as character 24 devices. If you want to use a PTP clock, then you should 28 will be called ptp. 37 into vmlinux while the PTP support itself is in a loadable 39 If PTP support is disabled, this dependency will still be [all …]
|
| H A D | ptp_qoriq.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * PTP 1588 clock for Freescale QorIQ 1588 timer 26 /* Caller must hold ptp_qoriq->lock. */ 29 struct ptp_qoriq_registers *regs = &ptp_qoriq->regs; in tmr_cnt_read() 33 lo = ptp_qoriq->read(®s->ctrl_regs->tmr_cnt_l); in tmr_cnt_read() 34 hi = ptp_qoriq->read(®s->ctrl_regs->tmr_cnt_h); in tmr_cnt_read() 40 /* Caller must hold ptp_qoriq->lock. */ 43 struct ptp_qoriq_registers *regs = &ptp_qoriq->regs; in tmr_cnt_write() 47 ptp_qoriq->write(®s->ctrl_regs->tmr_cnt_l, lo); in tmr_cnt_write() 48 ptp_qoriq->write(®s->ctrl_regs->tmr_cnt_h, hi); in tmr_cnt_write() [all …]
|
| H A D | ptp_dte.c | 1 // SPDX-License-Identifier: GPL-2.0-only 39 /* ptp dte priv structure */ 90 ns = dte_read_nco(ptp_dte->regs); in dte_write_nco_delta() 94 if (ptp_dte->ts_wrap_cnt) { in dte_write_nco_delta() 96 ptp_dte->ts_wrap_cnt--; in dte_write_nco_delta() 103 ptp_dte->ts_wrap_cnt++; in dte_write_nco_delta() 104 ns -= DTE_NCO_MAX_NS; in dte_write_nco_delta() 108 dte_write_nco(ptp_dte->regs, ns); in dte_write_nco_delta() 110 ptp_dte->ts_ovf_last = (ns >> DTE_NCO_TS_WRAP_LSHIFT) & in dte_write_nco_delta() 119 ns = dte_read_nco(ptp_dte->regs); in dte_read_nco_with_ovf() [all …]
|
| /linux/drivers/net/ethernet/freescale/ |
| H A D | fec_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Fast Ethernet Controller (ENET) PTP driver for MX6x. 92 * fec_ptp_read - read raw cycle counter (to be used by time counter) 105 tempval = readl(fep->hwp + FEC_ATIME_CTRL); in fec_ptp_read() 107 writel(tempval, fep->hwp + FEC_ATIME_CTRL); in fec_ptp_read() 109 if (fep->quirks & FEC_QUIRK_BUG_CAPTURE) in fec_ptp_read() 112 return readl(fep->hwp + FEC_ATIME); in fec_ptp_read() 120 * This function enables the PPS output on the timer channel. 129 spin_lock_irqsave(&fep->tmreg_lock, flags); in fec_ptp_enable_pps() 131 if (fep->perout_enable) { in fec_ptp_enable_pps() [all …]
|
| /linux/drivers/net/ethernet/cadence/ |
| H A D | macb_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * 1588 PTP support for Cadence GEM device. 5 * Copyright (C) 2017 Cadence Design Systems - https://www.cadence.com 26 #define GEM_PTP_TIMER_NAME "gem-ptp-timer" 43 gem_tsu_get_time(struct ptp_clock_info * ptp,struct timespec64 * ts,struct ptp_system_timestamp * sts) gem_tsu_get_time() argument 79 gem_tsu_set_time(struct ptp_clock_info * ptp,const struct timespec64 * ts) gem_tsu_set_time() argument 124 gem_ptp_adjfine(struct ptp_clock_info * ptp,long scaled_ppm) gem_ptp_adjfine() argument 159 gem_ptp_adjtime(struct ptp_clock_info * ptp,s64 delta) gem_ptp_adjtime() argument 185 gem_ptp_enable(struct ptp_clock_info * ptp,struct ptp_clock_request * rq,int on) gem_ptp_enable() argument [all...] |
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_clock.c | 14 * - Redistributions of source code must retain the above 18 * - Redistributions in binary form must reproduce the above 39 /* mlx4_en_read_clock - read raw cycle counter (to be used by time counter) 45 struct mlx4_dev *dev = mdev->dev; in mlx4_en_read_clock() 47 return mlx4_read_clock(dev) & tc->mask; in mlx4_en_read_clock() 55 lo = (u64)be16_to_cpu(ts_cqe->timestamp_lo); in mlx4_en_get_cqe_ts() 56 hi = ((u64)be32_to_cpu(ts_cqe->timestamp_hi) + !lo) << 16; in mlx4_en_get_cqe_ts() 67 seq = read_seqbegin(&mdev->clock_lock); in mlx4_en_get_hwtstamp() 68 nsec = timecounter_cyc2time(&mdev->clock, timestamp); in mlx4_en_get_hwtstamp() 69 } while (read_seqretry(&mdev->clock_lock, seq)); in mlx4_en_get_hwtstamp() [all …]
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_ptp_hw.c | 1 // SPDX-License-Identifier: GPL-2.0 24 { "CVL-SDP22", ZL_REF0P, DPLL_PIN_TYPE_INT_OSCILLATOR, 26 { "CVL-SDP20", ZL_REF0N, DPLL_PIN_TYPE_INT_OSCILLATOR, 28 { "C827_0-RCLKA", ZL_REF1P, DPLL_PIN_TYPE_MUX, 0, }, 29 { "C827_0-RCLKB", ZL_REF1N, DPLL_PIN_TYPE_MUX, 0, }, 34 { "GNSS-1PPS", ZL_REF4P, DPLL_PIN_TYPE_GNSS, 39 { "CVL-SDP22", ZL_REF0P, DPLL_PIN_TYPE_INT_OSCILLATOR, 41 { "CVL-SDP20", ZL_REF0N, DPLL_PIN_TYPE_INT_OSCILLATOR, 43 { "C827_0-RCLKA", ZL_REF1P, DPLL_PIN_TYPE_MUX, }, 44 { "C827_0-RCLKB", ZL_REF1N, DPLL_PIN_TYPE_MUX, }, [all …]
|
| H A D | ice_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0 20 { TIME_SYNC, { 4, -1 }, { 0, 0 }}, 21 { ONE_PPS, { -1, 5 }, { 0, 11 }}, 30 { TIME_SYNC, { 4, -1 }, { 11, 0 }}, 31 { ONE_PPS, { -1, 5 }, { 0, 9 }}, 40 { ONE_PPS, { -1, 5 }, { 0, 1 }}, 52 { SDP0, { -1, 0 }, { 0, 1 }}, 53 { SDP1, { 1, -1 }, { 0, 0 }}, 54 { SDP2, { -1, 2 }, { 0, 1 }}, 55 { SDP3, { 3, -1 }, { 0, 0 }}, [all …]
|
| /linux/drivers/net/ethernet/xscale/ |
| H A D | ptp_ixp46x.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * PTP 1588 clock using the IXP46X 45 lo = __raw_readl(®s->systime_lo); in ixp_systime_read() 46 hi = __raw_readl(®s->systime_hi); in ixp_systime_read() 63 __raw_writel(lo, ®s->systime_lo); in ixp_systime_write() 64 __raw_writel(hi, ®s->systime_hi); in ixp_systime_write() 74 struct ixp46x_ts_regs *regs = ixp_clock->regs; in isr() 78 val = __raw_readl(®s->event); in isr() 82 if (ixp_clock->exts0_enabled) { in isr() 83 hi = __raw_readl(®s->asms_hi); in isr() [all …]
|
| /linux/drivers/net/ethernet/intel/idpf/ |
| H A D | idpf_ptp.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 10 * struct idpf_ptp_cmd - PTP command masks 19 /* struct idpf_ptp_dev_clk_regs - PTP device registers 34 * @cmd: PTP command register 36 * @cmd_sync: PTP command synchronization register 43 /* PHY timer */ 51 /* Main timer adjustments */ 57 /* PHY timer adjustments */ 70 * enum idpf_ptp_access - the type of access to PTP operations 82 * struct idpf_ptp_secondary_mbx - PTP secondary mailbox [all …]
|
| H A D | idpf_virtchnl_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0-only 9 * idpf_ptp_get_caps - Send virtchnl get ptp capabilities message 12 * Send virtchnl get PTP capabilities message. 14 * Return: 0 on success, -errno on failure. 31 struct libie_mmio_info *mmio = &adapter->ctlq_ctx.mmio_info; in idpf_ptp_get_caps() 36 struct idpf_ptp *ptp = adapter->ptp; in idpf_ptp_get_caps() local 48 err = -EIO; in idpf_ptp_get_caps() 54 ptp->caps = le32_to_cpu(recv_ptp_caps_msg->caps); in idpf_ptp_get_caps() 55 ptp->base_incval = le64_to_cpu(recv_ptp_caps_msg->base_incval); in idpf_ptp_get_caps() 56 ptp->max_adj = le32_to_cpu(recv_ptp_caps_msg->max_adj); in idpf_ptp_get_caps() [all …]
|
| /linux/drivers/net/ethernet/chelsio/cxgb4/ |
| H A D | cxgb4_ptp.c | 2 * cxgb4_ptp.c:Chelsio PTP support for T5/T6 4 * Copyright (c) 2003-2017 Chelsio Communications, Inc. All rights reserved. 16 * - Redistributions of source code must retain the above 20 * - Redistributions in binary form must reproduce the above 54 * cxgb4_ptp_is_ptp_tx - determine whether TX packet is PTP or not 55 * @skb: skb of outgoing ptp request 63 return skb->len >= PTP_MIN_LENGTH && in cxgb4_ptp_is_ptp_tx() 64 skb->len <= PTP_IN_TRANSMIT_PACKET_MAXNUM && in cxgb4_ptp_is_ptp_tx() 65 likely(skb->protocol == htons(ETH_P_IP)) && in cxgb4_ptp_is_ptp_tx() 66 ip_hdr(skb)->protocol == IPPROTO_UDP && in cxgb4_ptp_is_ptp_tx() [all …]
|
| /linux/drivers/net/ethernet/intel/e1000e/ |
| H A D | ptp.c | 1 // SPDX-License-Identifier: GPL-2.0 2 /* Copyright(c) 1999 - 2018 Intel Corporation. */ 4 /* PTP 1588 Hardware Clock (PHC) 5 * Derived from PTP Hardware Clock driver for Intel 82576 and 82580 (igb) 18 * e1000e_phc_adjfine - adjust the frequency of the hardware clock 19 * @ptp: ptp clock structure 27 static int e1000e_phc_adjfine(struct ptp_clock_info *ptp, long delta) in e1000e_phc_adjfine() argument 29 struct e1000_adapter *adapter = container_of(ptp, struct e1000_adapter, in e1000e_phc_adjfine() 31 struct e1000_hw *hw = &adapter->hw; in e1000e_phc_adjfine() 42 spin_lock_irqsave(&adapter->systim_lock, flags); in e1000e_phc_adjfine() [all …]
|
| /linux/arch/arm/boot/dts/intel/ixp/ |
| H A D | intel-ixp45x-ixp46x.dtsi | 1 // SPDX-License-Identifier: ISC 8 #include "intel-ixp4xx.dtsi" 13 compatible = "intel,ixp46x-expansion-bus-controller", "syscon"; 19 compatible = "intel,ixp46x-rng"; 23 interrupt-controller@c8003000 { 24 compatible = "intel,ixp43x-interrupt"; 32 compatible = "intel,ixp4xx-udc"; 39 compatible = "intel,ixp4xx-i2c"; 47 compatible = "intel,ixp4xx-ethernet"; 52 queue-rx = <&qmgr 0>; [all …]
|
| /linux/arch/arm64/boot/dts/freescale/ |
| H A D | qoriq-fman3-0.dtsi | 1 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 5 * Copyright 2012-2015 Freescale Semiconductor Inc. 9 #include <dt-bindings/clock/fsl,qoriq-clockgen.h> 12 #address-cells = <1>; 13 #size-cells = <1>; 14 cell-index = <0>; 21 clock-names = "fmanclk"; 22 fsl,qman-channel-range = <0x800 0x10>; 23 ptimer-handle = <&ptp_timer0>; 24 dma-coherent; [all …]
|
| /linux/drivers/net/ethernet/renesas/ |
| H A D | ravb_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0+ 2 /* PTP 1588 clock using the Renesas Ethernet AVB 4 * Copyright (C) 2013-2015 Renesas Electronics Corporation 6 * Copyright (C) 2015-2016 Cogent Embedded, Inc. <source@cogentembedded.com> 13 struct net_device *ndev = priv->ndev; in ravb_ptp_tcr_request() 27 struct net_device *ndev = priv->ndev; in ravb_ptp_time_read() 34 ts->tv_nsec = ravb_read(ndev, GCT0); in ravb_ptp_time_read() 35 ts->tv_sec = ravb_read(ndev, GCT1) | in ravb_ptp_time_read() 45 struct net_device *ndev = priv->ndev; in ravb_ptp_time_write() 55 return -EBUSY; in ravb_ptp_time_write() [all …]
|
| /linux/include/linux/net/intel/ |
| H A D | virtchnl2.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 16 * all the structures in this header follow little-endian format. 90 * enum virtchnl2_vport_type - Type of virtual port. 98 * enum virtchnl2_queue_model - Type of queue model. 230 * enum virtchnl2_action_types - Available actions for sideband flow steering 254 * enum virtchnl2_txq_sched_mode - Transmit Queue Scheduling Modes. 269 * enum virtchnl2_rxq_flags - Receive Queue Feature flags. 302 * models. With Split Queue model, 2 additional types are introduced - 325 * enum virtchnl2_mac_addr_type - MAC address types. 436 * 32768 - 65534 are used for user defined protocol ids. [all …]
|
| /linux/arch/powerpc/boot/dts/fsl/ |
| H A D | qoriq-fman3-1.dtsi | 4 * Copyright 2012 - 2015 Freescale Semiconductor Inc. 36 #address-cells = <1>; 37 #size-cells = <1>; 38 cell-index = <1>; 44 clock-names = "fmanclk"; 45 fsl,qman-channel-range = <0x820 0x10>; 46 ptimer-handle = <&ptp_timer1>; 49 compatible = "fsl,fman-muram"; 54 cell-index = <0x2>; 55 compatible = "fsl,fman-v3-port-oh"; [all …]
|
| H A D | qoriq-fman-1.dtsi | 4 * Copyright 2011 - 2015 Freescale Semiconductor Inc. 36 #address-cells = <1>; 37 #size-cells = <1>; 38 cell-index = <1>; 44 clock-names = "fmanclk"; 45 fsl,qman-channel-range = <0x60 0xc>; 46 ptimer-handle = <&ptp_timer1>; 49 compatible = "fsl,fman-muram"; 54 cell-index = <0x1>; 55 compatible = "fsl,fman-v2-port-oh"; [all …]
|
| H A D | qoriq-fman3l-0.dtsi | 4 * Copyright 2012 - 2015 Freescale Semiconductor Inc. 36 #address-cells = <1>; 37 #size-cells = <1>; 38 cell-index = <0>; 44 clock-names = "fmanclk"; 45 fsl,qman-channel-range = <0x800 0x10>; 46 ptimer-handle = <&ptp_timer0>; 49 compatible = "fsl,fman-muram"; 54 cell-index = <0x2>; 55 compatible = "fsl,fman-v3-port-oh"; [all …]
|
| H A D | qoriq-fman-0.dtsi | 4 * Copyright 2011 - 2015 Freescale Semiconductor Inc. 36 #address-cells = <1>; 37 #size-cells = <1>; 38 cell-index = <0>; 44 clock-names = "fmanclk"; 45 fsl,qman-channel-range = <0x40 0xc>; 46 ptimer-handle = <&ptp_timer0>; 49 compatible = "fsl,fman-muram"; 54 cell-index = <0x1>; 55 compatible = "fsl,fman-v2-port-oh"; [all …]
|
| H A D | qoriq-fman3-0.dtsi | 4 * Copyright 2012 - 2015 Freescale Semiconductor Inc. 36 #address-cells = <1>; 37 #size-cells = <1>; 38 cell-index = <0>; 44 clock-names = "fmanclk"; 45 fsl,qman-channel-range = <0x800 0x10>; 46 ptimer-handle = <&ptp_timer0>; 49 compatible = "fsl,fman-muram"; 54 cell-index = <0x2>; 55 compatible = "fsl,fman-v3-port-oh"; [all …]
|
| /linux/Documentation/devicetree/bindings/pinctrl/ |
| H A D | marvell,armada-xp-pinctrl.txt | 3 Please refer to marvell,mvebu-pinctrl.txt in this directory for common binding 7 - compatible: "marvell,mv78230-pinctrl", "marvell,mv78260-pinctrl", 8 "marvell,mv78460-pinctrl" 9 - reg: register specifier of MPP registers 39 mpp18 18 gpio, ge0(rxerr), ge1(rxd0), lcd(d18), ptp(trig) 40 mpp19 19 gpio, ge0(crs), ge1(rxd1), lcd(d19), ptp(evreq) 41 mpp20 20 gpio, ge0(rxd4), ge1(rxd2), lcd(d20), ptp(clk) 48 mpp27 27 gpio, lcd(e), tdm(dtx), ptp(trig) 49 mpp28 28 gpio, lcd(pwm), tdm(drx), ptp(evreq) 50 mpp29 29 gpio, lcd(ref-clk), tdm(int0), ptp(clk) [all …]
|