/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 <linus.walleij@linaro.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/Documentation/devicetree/bindings/ptp/ |
H A D | fsl,ptp.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/ptp/fsl,ptp.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Freescale QorIQ 1588 timer based PTP clock 10 - Frank Li <Frank.Li@nxp.com> 15 - enum: 16 - fsl,etsec-ptp 17 - fsl,fman-ptp-timer 18 - fsl,dpaa2-ptp [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->pps_enable == enable) { in fec_ptp_enable_pps() [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 19 { TIME_SYNC, { 4, -1 }, { 0, 0 }}, 20 { ONE_PPS, { -1, 5 }, { 0, 11 }}, 29 { TIME_SYNC, { 4, -1 }, { 11, 0 }}, 30 { ONE_PPS, { -1, 5 }, { 0, 9 }}, 39 { ONE_PPS, { -1, 5 }, { 0, 1 }}, 51 { SDP0, { -1, 0 }, { 0, 1 }}, 52 { SDP1, { 1, -1 }, { 0, 0 }}, 53 { SDP2, { -1, 2 }, { 0, 1 }}, 54 { SDP3, { 3, -1 }, { 0, 0 }}, [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" 31 if (bp->hw_dma_cap == HW_DMA_CAP_PTP) in macb_ptp_desc() 34 if (bp->hw_dma_cap == HW_DMA_CAP_64B_PTP) in macb_ptp_desc() 41 static int gem_tsu_get_time(struct ptp_clock_info *ptp, struct timespec64 *ts, in gem_tsu_get_time() argument 44 struct macb *bp = container_of(ptp, struct macb, ptp_clock_info); in gem_tsu_get_time() 49 spin_lock_irqsave(&bp->tsu_clk_lock, flags); in gem_tsu_get_time() 59 /* if so, use later read & re-read seconds in gem_tsu_get_time() [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/xscale/ |
H A D | ptp_ixp46x.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * PTP 1588 clock using the IXP46X 46 lo = __raw_readl(®s->systime_lo); in ixp_systime_read() 47 hi = __raw_readl(®s->systime_hi); in ixp_systime_read() 64 __raw_writel(lo, ®s->systime_lo); in ixp_systime_write() 65 __raw_writel(hi, ®s->systime_hi); in ixp_systime_write() 75 struct ixp46x_ts_regs *regs = ixp_clock->regs; in isr() 79 val = __raw_readl(®s->event); in isr() 83 if (ixp_clock->exts0_enabled) { in isr() 84 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 | 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/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/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
H A D | clock.h | 14 * - Redistributions of source code must retain the above 18 * - Redistributions in binary form must reproduce the above 58 struct ptp_clock *ptp; member 61 struct mlx5_timer timer; member 93 return mdev->clock->ptp ? ptp_clock_index(mdev->clock->ptp) : -1; in mlx5_clock_get_ptp_index() 99 struct mlx5_timer *timer = &clock->timer; in mlx5_timecounter_cyc2time() local 104 seq = read_seqbegin(&clock->lock); in mlx5_timecounter_cyc2time() 105 nsec = timecounter_cyc2time(&timer->tc, timestamp); in mlx5_timecounter_cyc2time() 106 } while (read_seqretry(&clock->lock, seq)); in mlx5_timecounter_cyc2time() 127 return -1; in mlx5_clock_get_ptp_index()
|
/linux/drivers/net/ethernet/intel/igc/ |
H A D | igc_ptp.c | 1 // SPDX-License-Identifier: GPL-2.0 27 struct igc_hw *hw = &adapter->hw; in igc_ptp_read() 34 ts->tv_sec = sec; in igc_ptp_read() 35 ts->tv_nsec = nsec; in igc_ptp_read() 41 struct igc_hw *hw = &adapter->hw; in igc_ptp_write_i225() 43 wr32(IGC_SYSTIML, ts->tv_nsec); in igc_ptp_write_i225() 44 wr32(IGC_SYSTIMH, ts->tv_sec); in igc_ptp_write_i225() 47 static int igc_ptp_adjfine_i225(struct ptp_clock_info *ptp, long scaled_ppm) in igc_ptp_adjfine_i225() argument 49 struct igc_adapter *igc = container_of(ptp, struct igc_adapter, in igc_ptp_adjfine_i225() 51 struct igc_hw *hw = &igc->hw; in igc_ptp_adjfine_i225() [all …]
|
/linux/drivers/virtio/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 78 If disabled, you get a slightly smaller, non-transitional driver, 106 This driver provides access to virtio-pmem devices, storage devices 107 that are mapped into the physical address space - similar to NVDIMMs 108 - with a virtio-based flushing interface. 132 This driver provides access to virtio-mem paravirtualized memory 135 This driver currently supports x86-64, arm64, riscv and s390. 137 memory hot(un)plug, architecture-specific and/or common 138 code changes may be required for virtio-mem, kdump and kexec to 167 Allow virtio-mmio devices instantiation via the kernel command line [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/drivers/net/ethernet/freescale/dpaa2/ |
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 21 Enable Priority-Based Flow Control (PFC) support for DPAA2 Ethernet 26 tristate "Freescale DPAA2 PTP Clock" 30 This driver adds support for using the DPAA2 1588 timer module 31 as a PTP clock.
|
/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/ptp/ |
H A D | ptp_dte.c | 1 // SPDX-License-Identifier: GPL-2.0-only 40 /* ptp dte priv structure */ 91 ns = dte_read_nco(ptp_dte->regs); in dte_write_nco_delta() 95 if (ptp_dte->ts_wrap_cnt) { in dte_write_nco_delta() 97 ptp_dte->ts_wrap_cnt--; in dte_write_nco_delta() 104 ptp_dte->ts_wrap_cnt++; in dte_write_nco_delta() 105 ns -= DTE_NCO_MAX_NS; in dte_write_nco_delta() 109 dte_write_nco(ptp_dte->regs, ns); in dte_write_nco_delta() 111 ptp_dte->ts_ovf_last = (ns >> DTE_NCO_TS_WRAP_LSHIFT) & in dte_write_nco_delta() 120 ns = dte_read_nco(ptp_dte->regs); in dte_read_nco_with_ovf() [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 …]
|
/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 …]
|