The Linux Kernel
5.14.0-570.19.1.el9_6.x86_64
  • The Linux kernel user’s and administrator’s guide
  • Kernel Build System
  • The Linux kernel firmware guide
  • Open Firmware and Devicetree
  • The Linux kernel user-space API guide
  • Working with the kernel development community
  • Development tools for the kernel
  • How to write kernel documentation
  • Kernel Hacking Guides
  • Linux Tracing Technologies
  • Kernel Maintainer Handbook
  • fault-injection
  • Kernel Livepatching
  • Rust
  • The Linux driver implementer’s API guide
  • Core API Documentation
  • locking
  • Accounting
  • Block
  • cdrom
  • Linux CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel
  • Integrated Drive Electronics (IDE)
  • Frame Buffer
  • fpga
  • Human Interface Devices (HID)
  • I2C/SMBus Subsystem
  • Industrial I/O
  • ISDN
  • InfiniBand
  • LEDs
  • NetLabel
  • Linux Networking Documentation
    • netdev FAQ
    • AF_XDP
    • Bare UDP Tunnelling Module Documentation
    • batman-adv
    • SocketCAN - Controller Area Network
    • The UCAN Protocol
    • Hardware Device Drivers
    • Distributed Switch Architecture
    • Linux Devlink Documentation
    • CAIF
    • Netlink interface for ethtool
    • IEEE 802.15.4 Developer’s Guide
    • J1939 Documentation
    • Linux Networking and Network Devices APIs
    • MSG_ZEROCOPY
    • FAILOVER
    • Net DIM - Generic Network Dynamic Interrupt Moderation
    • NET_FAILOVER
    • Page Pool API
    • PHY Abstraction Layer
    • phylink
    • IP-Aliasing
    • Ethernet Bridging
    • SNMP counter
    • Checksum Offloads
    • Segmentation Offloads
    • Scaling in the Linux Networking Stack
    • Kernel TLS
    • Kernel TLS offload
    • In-Kernel TLS Handshake
    • Linux NFC subsystem
    • Netdev private dataroom for 6lowpan interfaces
    • 6pack Protocol
    • ARCnet Hardware
    • ARCnet
    • ATM
    • AX.25
    • Linux Ethernet Bonding Driver HOWTO
    • cdc_mbim - Driver for CDC MBIM Mobile Broadband modems
    • DCCP protocol
    • DCTCP (DataCenter TCP)
    • Linux DECnet Networking Layer Information
    • DNS Resolver Module
    • Softnet Driver Issues
    • EQL Driver: Serial IP Load Balancing HOWTO
    • LC-trie implementation notes
    • Linux Socket Filtering aka Berkeley Packet Filter (BPF)
    • Generic HDLC layer
    • Generic Netlink
    • Netlink Family Specifications
      • Family devlink netlink specification
      • Family dpll netlink specification
        • Summary
        • Operations
        • Multicast groups
        • Definitions
        • Attribute sets
      • Family ethtool netlink specification
      • Family fou netlink specification
      • Family handshake netlink specification
      • Family mptcp_pm netlink specification
      • Family netdev netlink specification
      • Family nfsd netlink specification
      • Family nftables netlink specification
      • Family nlctrl netlink specification
      • Family ovs_datapath netlink specification
      • Family ovs_flow netlink specification
      • Family ovs_vport netlink specification
      • Family rt-addr netlink specification
      • Family rt-link netlink specification
      • Family rt-route netlink specification
      • Family tc netlink specification
      • Family tcp_metrics netlink specification
    • Generic networking statistics for netlink users
    • The Linux kernel GTP tunneling module
    • Identifier Locator Addressing (ILA)
    • AppleTalk-IP Decapsulation and AppleTalk-IP Encapsulation
    • IP dynamic address hack-port v0.03
    • IPsec
    • IP Sysctl
    • IPv6
    • IPVLAN Driver HOWTO
    • IPvs-sysctl
    • Kernel Connection Multiplexor
    • L2TP
    • The Linux LAPB Module Interface
    • How to use packet injection with mac80211
    • MPLS Sysfs variables
    • MPTCP Sysfs variables
    • HOWTO for multiqueue network device support
    • Multi-PF Netdev
    • Common Networking Struct Cachelines
    • Netconsole
    • Netdev features mess and how to get out from it alive
    • Network Devices, the Kernel, and You!
    • Netfilter Sysfs variables
    • NETIF Msg Level
    • Resilient Next-hop Groups
    • Netfilter Conntrack Sysfs variables
    • Netfilter’s flowtable infrastructure
    • Open vSwitch datapath developer documentation
    • Operational States
    • Packet MMAP
    • Linux Phonet protocol family
    • PHY link topology
    • HOWTO for the linux packet generator
    • PLIP: The Parallel Line Internet Protocol Device
    • PPP Generic Driver and Channel Interface
    • The proc/net/tcp and proc/net/tcp6 variables
    • Power Sourcing Equipment (PSE) Documentation
    • How to use radiotap headers
    • Overview
    • RDS Architecture
    • Socket Interface
    • RDMA for RDS
    • Congestion Notifications
    • RDS Protocol
    • RDS Transport Layer
    • RDS Kernel Structures
    • Connection management
    • The send path
    • The recv path
    • Multipath RDS (mprds)
    • Linux wireless regulatory documentation
    • Network Function Representors
    • RxRPC Network Protocol
    • SOCKET OPTIONS
    • SECURITY
    • EXAMPLE CLIENT USAGE
    • Linux Kernel SCTP
    • LSM/SeLinux secid
    • Seg6 Sysfs variables
    • Interface statistics
    • Stream Parser (strparser)
    • Ethernet switch device driver model (switchdev)
    • Sysfs tagging
    • TC Actions - Environmental Rules
    • TC queue based filtering
    • Thin-streams and TCP
    • Team
    • Timestamping
    • Linux Kernel TIPC
    • Transparent proxy support
    • Universal TUN/TAP device driver
    • The UDP-Lite protocol (RFC 3828)
    • Virtual Routing and Forwarding (VRF)
    • Virtual eXtensible Local Area Networking documentation
    • Packet Layer to Device Driver
    • Device Driver to Packet Layer
    • Requirements for the device driver
    • Linux X.25 Project
    • XFRM device - offloading the IPsec computations
    • XFRM proc - /proc/net/xfrm_* files
    • XFRM
    • XFRM Syscall
    • XDP RX Metadata
    • AF_XDP TX Metadata
  • pcmcia
  • Power Management
  • TCM Virtual Device
  • timers
  • Serial Peripheral Interface (SPI)
  • 1-Wire Subsystem
  • Linux Watchdog Support
  • Linux Virtualization Support
  • The Linux Input Documentation
  • Linux Hardware Monitoring
  • Linux GPU Driver Developer’s Guide
  • Security Documentation
  • Sound Subsystem Documentation
  • Linux Kernel Crypto API
  • Filesystems in the Linux kernel
  • Linux Memory Management Documentation
  • BPF Documentation
  • USB support
  • Linux PCI Bus Subsystem
  • Linux SCSI Subsystem
  • Assorted Miscellaneous Devices Documentation
  • Linux Scheduler
  • MHI
  • TTY
  • Assembler Annotations
  • CPU Architectures
  • Kernel tools
  • Unsorted Documentation
  • Atomic Types
  • Atomic bitops
  • Memory Barriers
  • General notification mechanism
  • Translations
The Linux Kernel
  • »
  • Linux Networking Documentation »
  • Netlink Family Specifications »
  • Family dpll netlink specification
  • View page source

Family dpll netlink specification¶

Contents

  • Family dpll netlink specification

    • Summary

    • Operations

      • device-id-get

      • device-get

      • device-set

      • device-create-ntf

      • device-delete-ntf

      • device-change-ntf

      • pin-id-get

      • pin-get

      • pin-set

      • pin-create-ntf

      • pin-delete-ntf

      • pin-change-ntf

    • Multicast groups

    • Definitions

      • mode

      • lock-status

      • lock-status-error

      • temp-divider

      • type

      • pin-type

      • pin-direction

      • pin-frequency-1-hz

      • pin-frequency-10-khz

      • pin-frequency-77_5-khz

      • pin-frequency-10-mhz

      • pin-state

      • pin-capabilities

      • phase-offset-divider

    • Attribute sets

      • dpll

      • pin

      • pin-parent-device

      • pin-parent-pin

      • frequency-range

Summary¶

DPLL subsystem.

Operations¶

device-id-get¶

Get id of dpll device that matches given attributes

attribute-set

dpll

flags

[admin-perm]

do
pre

dpll-lock-doit

post

dpll-unlock-doit

request
attributes

[module-name, clock-id, type]

reply
attributes

[id]

device-get¶

Get list of DPLL devices (dump) or attributes of a single dpll device

attribute-set

dpll

flags

[admin-perm]

do
pre

dpll-pre-doit

post

dpll-post-doit

request
attributes

[id]

reply
attributes

[id, module-name, mode, mode-supported, lock-status, lock-status-error, temp, clock-id, type]

dump
reply
attributes

[id, module-name, mode, mode-supported, lock-status, lock-status-error, temp, clock-id, type]

device-set¶

Set attributes for a DPLL device

attribute-set

dpll

flags

[admin-perm]

do
pre

dpll-pre-doit

post

dpll-post-doit

request
attributes

[id]

device-create-ntf¶

Notification about device appearing

notify

device-get

mcgrp

monitor

device-delete-ntf¶

Notification about device disappearing

notify

device-get

mcgrp

monitor

device-change-ntf¶

Notification about device configuration being changed

notify

device-get

mcgrp

monitor

pin-id-get¶

Get id of a pin that matches given attributes

attribute-set

pin

flags

[admin-perm]

do
pre

dpll-lock-doit

post

dpll-unlock-doit

request
attributes

[module-name, clock-id, board-label, panel-label, package-label, type]

reply
attributes

[id]

pin-get¶

Get list of pins and its attributes.

  • dump request without any attributes given - list all the pins in the system

  • dump request with target dpll - list all the pins registered with a given dpll device

  • do request with target dpll and target pin - single pin attributes

attribute-set

pin

flags

[admin-perm]

do
pre

dpll-pin-pre-doit

post

dpll-pin-post-doit

request
attributes

[id]

reply
attributes

[id, board-label, panel-label, package-label, type, frequency, frequency-supported, capabilities, parent-device, parent-pin, phase-adjust-min, phase-adjust-max, phase-adjust, fractional-frequency-offset, esync-frequency, esync-frequency-supported, esync-pulse]

dump
request
attributes

[id]

reply
attributes

[id, board-label, panel-label, package-label, type, frequency, frequency-supported, capabilities, parent-device, parent-pin, phase-adjust-min, phase-adjust-max, phase-adjust, fractional-frequency-offset, esync-frequency, esync-frequency-supported, esync-pulse]

pin-set¶

Set attributes of a target pin

attribute-set

pin

flags

[admin-perm]

do
pre

dpll-pin-pre-doit

post

dpll-pin-post-doit

request
attributes

[id, frequency, direction, prio, state, parent-device, parent-pin, phase-adjust, esync-frequency]

pin-create-ntf¶

Notification about pin appearing

notify

pin-get

mcgrp

monitor

pin-delete-ntf¶

Notification about pin disappearing

notify

pin-get

mcgrp

monitor

pin-change-ntf¶

Notification about pin configuration being changed

notify

pin-get

mcgrp

monitor

Multicast groups¶

  • monitor

Definitions¶

mode¶

type

enum

doc

working modes a dpll can support, differentiates if and how dpll selects one of its inputs to syntonize with it, valid values for DPLL_A_MODE attribute

entries
manual

input can be only selected by sending a request to dpll

automatic

highest prio input pin auto selected by dpll

lock-status¶

type

enum

doc

provides information of dpll device lock status, valid values for DPLL_A_LOCK_STATUS attribute

entries
unlocked

dpll was not yet locked to any valid input (or forced by setting DPLL_A_MODE to DPLL_MODE_DETACHED)

locked

dpll is locked to a valid signal, but no holdover available

locked-ho-acq

dpll is locked and holdover acquired

holdover

dpll is in holdover state - lost a valid lock or was forced by disconnecting all the pins (latter possible only when dpll lock-state was already DPLL_LOCK_STATUS_LOCKED_HO_ACQ, if dpll lock-state was not DPLL_LOCK_STATUS_LOCKED_HO_ACQ, the dpll’s lock-state shall remain DPLL_LOCK_STATUS_UNLOCKED)

lock-status-error¶

type

enum

doc

if previous status change was done due to a failure, this provides information of dpll device lock status error. Valid values for DPLL_A_LOCK_STATUS_ERROR attribute

entries
none

dpll device lock status was changed without any error

undefined

dpll device lock status was changed due to undefined error. Driver fills this value up in case it is not able to obtain suitable exact error type.

media-down

dpll device lock status was changed because of associated media got down. This may happen for example if dpll device was previously locked on an input pin of type PIN_TYPE_SYNCE_ETH_PORT.

fractional-frequency-offset-too-high

the FFO (Fractional Frequency Offset) between the RX and TX symbol rate on the media got too high. This may happen for example if dpll device was previously locked on an input pin of type PIN_TYPE_SYNCE_ETH_PORT.

temp-divider¶

type

const

value

1000

doc

temperature divider allowing userspace to calculate the temperature as float with three digit decimal precision. Value of (DPLL_A_TEMP / DPLL_TEMP_DIVIDER) is integer part of temperature value. Value of (DPLL_A_TEMP % DPLL_TEMP_DIVIDER) is fractional part of temperature value.

type¶

type

enum

doc

type of dpll, valid values for DPLL_A_TYPE attribute

entries
pps

dpll produces Pulse-Per-Second signal

eec

dpll drives the Ethernet Equipment Clock

pin-type¶

type

enum

doc

defines possible types of a pin, valid values for DPLL_A_PIN_TYPE attribute

entries
mux

aggregates another layer of selectable pins

ext

external input

synce-eth-port

ethernet port PHY’s recovered clock

int-oscillator

device internal oscillator

gnss

GNSS recovered clock

pin-direction¶

type

enum

doc

defines possible direction of a pin, valid values for DPLL_A_PIN_DIRECTION attribute

entries
input

pin used as a input of a signal

output

pin used to output the signal

pin-frequency-1-hz¶

type

const

value

1

pin-frequency-10-khz¶

type

const

value

10000

pin-frequency-77_5-khz¶

type

const

value

77500

pin-frequency-10-mhz¶

type

const

value

10000000

pin-state¶

type

enum

doc

defines possible states of a pin, valid values for DPLL_A_PIN_STATE attribute

entries
connected

pin connected, active input of phase locked loop

disconnected

pin disconnected, not considered as a valid input

selectable

pin enabled for automatic input selection

pin-capabilities¶

type

flags

doc

defines possible capabilities of a pin, valid flags on DPLL_A_PIN_CAPABILITIES attribute

entries
direction-can-change

pin direction can be changed

priority-can-change

pin priority can be changed

state-can-change

pin state can be changed

phase-offset-divider¶

type

const

value

1000

doc

phase offset divider allows userspace to calculate a value of measured signal phase difference between a pin and dpll device as a fractional value with three digit decimal precision. Value of (DPLL_A_PHASE_OFFSET / DPLL_PHASE_OFFSET_DIVIDER) is an integer part of a measured phase offset value. Value of (DPLL_A_PHASE_OFFSET % DPLL_PHASE_OFFSET_DIVIDER) is a fractional part of a measured phase offset value.

Attribute sets¶

dpll¶

id (u32)¶

module-name (string)¶

pad (pad)¶

clock-id (u64)¶

mode (u32)¶

enum

mode

mode-supported (u32)¶

enum

mode

multi-attr

True

lock-status (u32)¶

enum

lock-status

temp (s32)¶

type (u32)¶

enum

type

lock-status-error (u32)¶

enum

lock-status-error

pin¶

id (u32)¶

parent-id (u32)¶

module-name (string)¶

pad (pad)¶

clock-id (u64)¶

board-label (string)¶

panel-label (string)¶

package-label (string)¶

type (u32)¶

enum

pin-type

direction (u32)¶

enum

pin-direction

frequency (u64)¶

frequency-supported (nest)¶

multi-attr

True

nested-attributes

frequency-range

frequency-min (u64)¶

frequency-max (u64)¶

prio (u32)¶

state (u32)¶

enum

pin-state

capabilities (u32)¶

enum

pin-capabilities

parent-device (nest)¶

multi-attr

True

nested-attributes

pin-parent-device

parent-pin (nest)¶

multi-attr

True

nested-attributes

pin-parent-pin

phase-adjust-min (s32)¶

phase-adjust-max (s32)¶

phase-adjust (s32)¶

phase-offset (s64)¶

fractional-frequency-offset (sint)¶

doc

The FFO (Fractional Frequency Offset) between the RX and TX symbol rate on the media associated with the pin: (rx_frequency-tx_frequency)/rx_frequency Value is in PPM (parts per million). This may be implemented for example for pin of type PIN_TYPE_SYNCE_ETH_PORT.

esync-frequency (u64)¶

doc

Frequency of Embedded SYNC signal. If provided, the pin is configured with a SYNC signal embedded into its base clock frequency.

esync-frequency-supported (nest)¶

multi-attr

True

nested-attributes

frequency-range

doc

If provided a pin is capable of embedding a SYNC signal (within given range) into its base frequency signal.

esync-pulse (u32)¶

doc

A ratio of high to low state of a SYNC signal pulse embedded into base clock frequency. Value is in percents.

pin-parent-device¶

parent-id¶

direction¶

prio¶

state¶

phase-offset¶

pin-parent-pin¶

parent-id¶

state¶

frequency-range¶

frequency-min¶

frequency-max¶

Next Previous

© Copyright The kernel development community.

Built with Sphinx using a theme provided by Read the Docs.