The Linux Kernel
5.14.0-503.22.1.el9_5.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 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
    • 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
    • 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
    • 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
    • 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

      • 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

        • id (u32)

        • module-name (string)

        • pad (pad)

        • clock-id (u64)

        • mode (u32)

        • mode-supported (u32)

        • lock-status (u32)

        • temp (s32)

        • type (u32)

      • 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)

        • direction (u32)

        • frequency (u64)

        • frequency-supported (nest)

        • frequency-min (u64)

        • frequency-max (u64)

        • prio (u32)

        • state (u32)

        • capabilities (u32)

        • parent-device (nest)

        • parent-pin (nest)

        • phase-adjust-min (s32)

        • phase-adjust-max (s32)

        • phase-adjust (s32)

        • phase-offset (s64)

        • fractional-frequency-offset (sint)

      • pin-parent-device

        • parent-id

        • direction

        • prio

        • state

        • phase-offset

      • pin-parent-pin

        • parent-id

        • state

      • frequency-range

        • frequency-min

        • frequency-max

Summary¶

DPLL subsystem.

Operations¶

device-id-get¶

Get id of dpll device that matches given attributes

attribute-set

dpll

flags

[‘admin-perm’]

do

pre

post

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

post

request
attributes

[id]

reply
attributes

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

dump
reply
attributes

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

device-set¶

Set attributes for a DPLL device

attribute-set

dpll

flags

[‘admin-perm’]

do

pre

post

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

post

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

post

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]

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]

pin-set¶

Set attributes of a target pin

attribute-set

pin

flags

[‘admin-perm’]

do

pre

post

request
attributes

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

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 selectsone of its inputs to syntonize with it, valid values for DPLL_A_MODEattribute

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 forDPLL_A_LOCK_STATUS attribute

entries
unlocked

dpll was not yet locked to any valid input (or forced by settingDPLL_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 forcedby disconnecting all the pins (latter possible onlywhen dpll lock-state was already DPLL_LOCK_STATUS_LOCKED_HO_ACQ,if dpll lock-state was not DPLL_LOCK_STATUS_LOCKED_HO_ACQ, thedpll’s lock-state shall remain DPLL_LOCK_STATUS_UNLOCKED)

temp-divider¶

type

const

value

1000

doc

temperature divider allowing userspace to calculate thetemperature as float with three digit decimal precision.Value of (DPLL_A_TEMP / DPLL_TEMP_DIVIDER) is integer part oftemperature value.Value of (DPLL_A_TEMP % DPLL_TEMP_DIVIDER) is fractional part oftemperature 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_TYPEattribute

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 forDPLL_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 forDPLL_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 onDPLL_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 ofmeasured signal phase difference between a pin and dpll deviceas a fractional value with three digit decimal precision.Value of (DPLL_A_PHASE_OFFSET / DPLL_PHASE_OFFSET_DIVIDER) is aninteger part of a measured phase offset value.Value of (DPLL_A_PHASE_OFFSET % DPLL_PHASE_OFFSET_DIVIDER) is afractional 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

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 TXsymbol rate on the media associated with the pin:(rx_frequency-tx_frequency)/rx_frequencyValue is in PPM (parts per million).This may be implemented for example for pin of typePIN_TYPE_SYNCE_ETH_PORT.

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.