Logo

The Linux Kernel

6.9.0

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
    • Core subsystems
    • Human interfaces
    • Networking interfaces
      • Networking
      • NetLabel
      • InfiniBand
      • ISDN
      • MHI
    • Storage interfaces
    • Other subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations

This Page

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

        • id (u32)

        • module-name (string)

        • pad (pad)

        • clock-id (u64)

        • mode (u32)

        • mode-supported (u32)

        • lock-status (u32)

        • temp (s32)

        • type (u32)

        • lock-status-error (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, 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

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)

lock-status-error¶

type

enum

doc

if previous status change was done due to a failure, this providesinformation 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 ableto obtain suitable exact error type.

media-down

dpll device lock status was changed because of associatedmedia got down.This may happen for example if dpll device was previouslylocked 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 TXsymbol rate on the media got too high.This may happen for example if dpll device was previouslylocked on an input pin of type PIN_TYPE_SYNCE_ETH_PORT.

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

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 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¶

©The kernel development community. | Powered by Sphinx 5.0.1 & Alabaster 0.7.12 | Page source