xref: /linux/Documentation/netlink/specs/dpll.yaml (revision 9410645520e9b820069761f3450ef6661418e279)
13badff3aSVadim Fedorenko# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
23badff3aSVadim Fedorenko
33badff3aSVadim Fedorenkoname: dpll
43badff3aSVadim Fedorenko
53badff3aSVadim Fedorenkodoc: DPLL subsystem.
63badff3aSVadim Fedorenko
73badff3aSVadim Fedorenkodefinitions:
83badff3aSVadim Fedorenko  -
93badff3aSVadim Fedorenko    type: enum
103badff3aSVadim Fedorenko    name: mode
113badff3aSVadim Fedorenko    doc: |
123badff3aSVadim Fedorenko      working modes a dpll can support, differentiates if and how dpll selects
133badff3aSVadim Fedorenko      one of its inputs to syntonize with it, valid values for DPLL_A_MODE
143badff3aSVadim Fedorenko      attribute
153badff3aSVadim Fedorenko    entries:
163badff3aSVadim Fedorenko      -
173badff3aSVadim Fedorenko        name: manual
183badff3aSVadim Fedorenko        doc: input can be only selected by sending a request to dpll
193badff3aSVadim Fedorenko        value: 1
203badff3aSVadim Fedorenko      -
213badff3aSVadim Fedorenko        name: automatic
223badff3aSVadim Fedorenko        doc: highest prio input pin auto selected by dpll
233badff3aSVadim Fedorenko    render-max: true
243badff3aSVadim Fedorenko  -
253badff3aSVadim Fedorenko    type: enum
263badff3aSVadim Fedorenko    name: lock-status
273badff3aSVadim Fedorenko    doc: |
283badff3aSVadim Fedorenko      provides information of dpll device lock status, valid values for
293badff3aSVadim Fedorenko      DPLL_A_LOCK_STATUS attribute
303badff3aSVadim Fedorenko    entries:
313badff3aSVadim Fedorenko      -
323badff3aSVadim Fedorenko        name: unlocked
333badff3aSVadim Fedorenko        doc: |
343badff3aSVadim Fedorenko          dpll was not yet locked to any valid input (or forced by setting
353badff3aSVadim Fedorenko          DPLL_A_MODE to DPLL_MODE_DETACHED)
363badff3aSVadim Fedorenko        value: 1
373badff3aSVadim Fedorenko      -
383badff3aSVadim Fedorenko        name: locked
393badff3aSVadim Fedorenko        doc: |
403badff3aSVadim Fedorenko          dpll is locked to a valid signal, but no holdover available
413badff3aSVadim Fedorenko      -
423badff3aSVadim Fedorenko        name: locked-ho-acq
433badff3aSVadim Fedorenko        doc: |
443badff3aSVadim Fedorenko          dpll is locked and holdover acquired
453badff3aSVadim Fedorenko      -
463badff3aSVadim Fedorenko        name: holdover
473badff3aSVadim Fedorenko        doc: |
483badff3aSVadim Fedorenko          dpll is in holdover state - lost a valid lock or was forced
493badff3aSVadim Fedorenko          by disconnecting all the pins (latter possible only
503badff3aSVadim Fedorenko          when dpll lock-state was already DPLL_LOCK_STATUS_LOCKED_HO_ACQ,
513badff3aSVadim Fedorenko          if dpll lock-state was not DPLL_LOCK_STATUS_LOCKED_HO_ACQ, the
523badff3aSVadim Fedorenko          dpll's lock-state shall remain DPLL_LOCK_STATUS_UNLOCKED)
533badff3aSVadim Fedorenko    render-max: true
543badff3aSVadim Fedorenko  -
55cf4f0f1eSJiri Pirko    type: enum
56cf4f0f1eSJiri Pirko    name: lock-status-error
57cf4f0f1eSJiri Pirko    doc: |
58cf4f0f1eSJiri Pirko      if previous status change was done due to a failure, this provides
59cf4f0f1eSJiri Pirko      information of dpll device lock status error.
60cf4f0f1eSJiri Pirko      Valid values for DPLL_A_LOCK_STATUS_ERROR attribute
61cf4f0f1eSJiri Pirko    entries:
62cf4f0f1eSJiri Pirko      -
63cf4f0f1eSJiri Pirko        name: none
64cf4f0f1eSJiri Pirko        doc: |
65cf4f0f1eSJiri Pirko          dpll device lock status was changed without any error
66cf4f0f1eSJiri Pirko        value: 1
67cf4f0f1eSJiri Pirko      -
68cf4f0f1eSJiri Pirko        name: undefined
69cf4f0f1eSJiri Pirko        doc: |
70cf4f0f1eSJiri Pirko          dpll device lock status was changed due to undefined error.
71cf4f0f1eSJiri Pirko          Driver fills this value up in case it is not able
72cf4f0f1eSJiri Pirko          to obtain suitable exact error type.
73cf4f0f1eSJiri Pirko      -
74cf4f0f1eSJiri Pirko        name: media-down
75cf4f0f1eSJiri Pirko        doc: |
76cf4f0f1eSJiri Pirko          dpll device lock status was changed because of associated
77cf4f0f1eSJiri Pirko          media got down.
78cf4f0f1eSJiri Pirko          This may happen for example if dpll device was previously
79cf4f0f1eSJiri Pirko          locked on an input pin of type PIN_TYPE_SYNCE_ETH_PORT.
80cf4f0f1eSJiri Pirko      -
81cf4f0f1eSJiri Pirko        name: fractional-frequency-offset-too-high
82cf4f0f1eSJiri Pirko        doc: |
83cf4f0f1eSJiri Pirko          the FFO (Fractional Frequency Offset) between the RX and TX
84cf4f0f1eSJiri Pirko          symbol rate on the media got too high.
85cf4f0f1eSJiri Pirko          This may happen for example if dpll device was previously
86cf4f0f1eSJiri Pirko          locked on an input pin of type PIN_TYPE_SYNCE_ETH_PORT.
87cf4f0f1eSJiri Pirko    render-max: true
88cf4f0f1eSJiri Pirko  -
893badff3aSVadim Fedorenko    type: const
903badff3aSVadim Fedorenko    name: temp-divider
913badff3aSVadim Fedorenko    value: 1000
923badff3aSVadim Fedorenko    doc: |
933badff3aSVadim Fedorenko      temperature divider allowing userspace to calculate the
943badff3aSVadim Fedorenko      temperature as float with three digit decimal precision.
953badff3aSVadim Fedorenko      Value of (DPLL_A_TEMP / DPLL_TEMP_DIVIDER) is integer part of
963badff3aSVadim Fedorenko      temperature value.
973badff3aSVadim Fedorenko      Value of (DPLL_A_TEMP % DPLL_TEMP_DIVIDER) is fractional part of
983badff3aSVadim Fedorenko      temperature value.
993badff3aSVadim Fedorenko  -
1003badff3aSVadim Fedorenko    type: enum
1013badff3aSVadim Fedorenko    name: type
1023badff3aSVadim Fedorenko    doc: type of dpll, valid values for DPLL_A_TYPE attribute
1033badff3aSVadim Fedorenko    entries:
1043badff3aSVadim Fedorenko      -
1053badff3aSVadim Fedorenko        name: pps
1063badff3aSVadim Fedorenko        doc: dpll produces Pulse-Per-Second signal
1073badff3aSVadim Fedorenko        value: 1
1083badff3aSVadim Fedorenko      -
1093badff3aSVadim Fedorenko        name: eec
1103badff3aSVadim Fedorenko        doc: dpll drives the Ethernet Equipment Clock
1113badff3aSVadim Fedorenko    render-max: true
1123badff3aSVadim Fedorenko  -
1133badff3aSVadim Fedorenko    type: enum
1143badff3aSVadim Fedorenko    name: pin-type
1153badff3aSVadim Fedorenko    doc: |
1163badff3aSVadim Fedorenko      defines possible types of a pin, valid values for DPLL_A_PIN_TYPE
1173badff3aSVadim Fedorenko      attribute
1183badff3aSVadim Fedorenko    entries:
1193badff3aSVadim Fedorenko      -
1203badff3aSVadim Fedorenko        name: mux
1213badff3aSVadim Fedorenko        doc: aggregates another layer of selectable pins
1223badff3aSVadim Fedorenko        value: 1
1233badff3aSVadim Fedorenko      -
1243badff3aSVadim Fedorenko        name: ext
1253badff3aSVadim Fedorenko        doc: external input
1263badff3aSVadim Fedorenko      -
1273badff3aSVadim Fedorenko        name: synce-eth-port
1283badff3aSVadim Fedorenko        doc: ethernet port PHY's recovered clock
1293badff3aSVadim Fedorenko      -
1303badff3aSVadim Fedorenko        name: int-oscillator
1313badff3aSVadim Fedorenko        doc: device internal oscillator
1323badff3aSVadim Fedorenko      -
1333badff3aSVadim Fedorenko        name: gnss
1343badff3aSVadim Fedorenko        doc: GNSS recovered clock
1353badff3aSVadim Fedorenko    render-max: true
1363badff3aSVadim Fedorenko  -
1373badff3aSVadim Fedorenko    type: enum
1383badff3aSVadim Fedorenko    name: pin-direction
1393badff3aSVadim Fedorenko    doc: |
1403badff3aSVadim Fedorenko      defines possible direction of a pin, valid values for
1413badff3aSVadim Fedorenko      DPLL_A_PIN_DIRECTION attribute
1423badff3aSVadim Fedorenko    entries:
1433badff3aSVadim Fedorenko      -
1443badff3aSVadim Fedorenko        name: input
1453badff3aSVadim Fedorenko        doc: pin used as a input of a signal
1463badff3aSVadim Fedorenko        value: 1
1473badff3aSVadim Fedorenko      -
1483badff3aSVadim Fedorenko        name: output
1493badff3aSVadim Fedorenko        doc: pin used to output the signal
1503badff3aSVadim Fedorenko    render-max: true
1513badff3aSVadim Fedorenko  -
1523badff3aSVadim Fedorenko    type: const
1533badff3aSVadim Fedorenko    name: pin-frequency-1-hz
1543badff3aSVadim Fedorenko    value: 1
1553badff3aSVadim Fedorenko  -
1563badff3aSVadim Fedorenko    type: const
1573badff3aSVadim Fedorenko    name: pin-frequency-10-khz
1583badff3aSVadim Fedorenko    value: 10000
1593badff3aSVadim Fedorenko  -
1603badff3aSVadim Fedorenko    type: const
1613badff3aSVadim Fedorenko    name: pin-frequency-77_5-khz
1623badff3aSVadim Fedorenko    value: 77500
1633badff3aSVadim Fedorenko  -
1643badff3aSVadim Fedorenko    type: const
1653badff3aSVadim Fedorenko    name: pin-frequency-10-mhz
1663badff3aSVadim Fedorenko    value: 10000000
1673badff3aSVadim Fedorenko  -
1683badff3aSVadim Fedorenko    type: enum
1693badff3aSVadim Fedorenko    name: pin-state
1703badff3aSVadim Fedorenko    doc: |
1713badff3aSVadim Fedorenko      defines possible states of a pin, valid values for
1723badff3aSVadim Fedorenko      DPLL_A_PIN_STATE attribute
1733badff3aSVadim Fedorenko    entries:
1743badff3aSVadim Fedorenko      -
1753badff3aSVadim Fedorenko        name: connected
1763badff3aSVadim Fedorenko        doc: pin connected, active input of phase locked loop
1773badff3aSVadim Fedorenko        value: 1
1783badff3aSVadim Fedorenko      -
1793badff3aSVadim Fedorenko        name: disconnected
1803badff3aSVadim Fedorenko        doc: pin disconnected, not considered as a valid input
1813badff3aSVadim Fedorenko      -
1823badff3aSVadim Fedorenko        name: selectable
1833badff3aSVadim Fedorenko        doc: pin enabled for automatic input selection
1843badff3aSVadim Fedorenko    render-max: true
1853badff3aSVadim Fedorenko  -
1863badff3aSVadim Fedorenko    type: flags
1873badff3aSVadim Fedorenko    name: pin-capabilities
1883badff3aSVadim Fedorenko    doc: |
1893badff3aSVadim Fedorenko      defines possible capabilities of a pin, valid flags on
1903badff3aSVadim Fedorenko      DPLL_A_PIN_CAPABILITIES attribute
1913badff3aSVadim Fedorenko    entries:
1923badff3aSVadim Fedorenko      -
1933badff3aSVadim Fedorenko        name: direction-can-change
1943badff3aSVadim Fedorenko        doc: pin direction can be changed
1953badff3aSVadim Fedorenko      -
1963badff3aSVadim Fedorenko        name: priority-can-change
1973badff3aSVadim Fedorenko        doc: pin priority can be changed
1983badff3aSVadim Fedorenko      -
1993badff3aSVadim Fedorenko        name: state-can-change
2003badff3aSVadim Fedorenko        doc: pin state can be changed
201c3c6ab95SArkadiusz Kubalewski  -
202c3c6ab95SArkadiusz Kubalewski    type: const
203c3c6ab95SArkadiusz Kubalewski    name: phase-offset-divider
204c3c6ab95SArkadiusz Kubalewski    value: 1000
205c3c6ab95SArkadiusz Kubalewski    doc: |
206c3c6ab95SArkadiusz Kubalewski      phase offset divider allows userspace to calculate a value of
207c3c6ab95SArkadiusz Kubalewski      measured signal phase difference between a pin and dpll device
208c3c6ab95SArkadiusz Kubalewski      as a fractional value with three digit decimal precision.
209c3c6ab95SArkadiusz Kubalewski      Value of (DPLL_A_PHASE_OFFSET / DPLL_PHASE_OFFSET_DIVIDER) is an
210c3c6ab95SArkadiusz Kubalewski      integer part of a measured phase offset value.
211c3c6ab95SArkadiusz Kubalewski      Value of (DPLL_A_PHASE_OFFSET % DPLL_PHASE_OFFSET_DIVIDER) is a
212c3c6ab95SArkadiusz Kubalewski      fractional part of a measured phase offset value.
2133badff3aSVadim Fedorenko
2143badff3aSVadim Fedorenkoattribute-sets:
2153badff3aSVadim Fedorenko  -
2163badff3aSVadim Fedorenko    name: dpll
2173badff3aSVadim Fedorenko    enum-name: dpll_a
2183badff3aSVadim Fedorenko    attributes:
2193badff3aSVadim Fedorenko      -
2203badff3aSVadim Fedorenko        name: id
2213badff3aSVadim Fedorenko        type: u32
2223badff3aSVadim Fedorenko      -
2233badff3aSVadim Fedorenko        name: module-name
2243badff3aSVadim Fedorenko        type: string
2253badff3aSVadim Fedorenko      -
2263badff3aSVadim Fedorenko        name: pad
2273badff3aSVadim Fedorenko        type: pad
2283badff3aSVadim Fedorenko      -
2293badff3aSVadim Fedorenko        name: clock-id
2303badff3aSVadim Fedorenko        type: u64
2313badff3aSVadim Fedorenko      -
2323badff3aSVadim Fedorenko        name: mode
2333badff3aSVadim Fedorenko        type: u32
2343badff3aSVadim Fedorenko        enum: mode
2353badff3aSVadim Fedorenko      -
2363badff3aSVadim Fedorenko        name: mode-supported
2373badff3aSVadim Fedorenko        type: u32
2383badff3aSVadim Fedorenko        enum: mode
2393badff3aSVadim Fedorenko        multi-attr: true
2403badff3aSVadim Fedorenko      -
2413badff3aSVadim Fedorenko        name: lock-status
2423badff3aSVadim Fedorenko        type: u32
2433badff3aSVadim Fedorenko        enum: lock-status
2443badff3aSVadim Fedorenko      -
2453badff3aSVadim Fedorenko        name: temp
2463badff3aSVadim Fedorenko        type: s32
2473badff3aSVadim Fedorenko      -
2483badff3aSVadim Fedorenko        name: type
2493badff3aSVadim Fedorenko        type: u32
2503badff3aSVadim Fedorenko        enum: type
2513badff3aSVadim Fedorenko      -
252cf4f0f1eSJiri Pirko        name: lock-status-error
253cf4f0f1eSJiri Pirko        type: u32
254cf4f0f1eSJiri Pirko        enum: lock-status-error
255cf4f0f1eSJiri Pirko  -
2563badff3aSVadim Fedorenko    name: pin
2573badff3aSVadim Fedorenko    enum-name: dpll_a_pin
2583badff3aSVadim Fedorenko    attributes:
2593badff3aSVadim Fedorenko      -
2603badff3aSVadim Fedorenko        name: id
2613badff3aSVadim Fedorenko        type: u32
2623badff3aSVadim Fedorenko      -
2633badff3aSVadim Fedorenko        name: parent-id
2643badff3aSVadim Fedorenko        type: u32
2653badff3aSVadim Fedorenko      -
2663badff3aSVadim Fedorenko        name: module-name
2673badff3aSVadim Fedorenko        type: string
2683badff3aSVadim Fedorenko      -
2693badff3aSVadim Fedorenko        name: pad
2703badff3aSVadim Fedorenko        type: pad
2713badff3aSVadim Fedorenko      -
2723badff3aSVadim Fedorenko        name: clock-id
2733badff3aSVadim Fedorenko        type: u64
2743badff3aSVadim Fedorenko      -
2753badff3aSVadim Fedorenko        name: board-label
2763badff3aSVadim Fedorenko        type: string
2773badff3aSVadim Fedorenko      -
2783badff3aSVadim Fedorenko        name: panel-label
2793badff3aSVadim Fedorenko        type: string
2803badff3aSVadim Fedorenko      -
2813badff3aSVadim Fedorenko        name: package-label
2823badff3aSVadim Fedorenko        type: string
2833badff3aSVadim Fedorenko      -
2843badff3aSVadim Fedorenko        name: type
2853badff3aSVadim Fedorenko        type: u32
2863badff3aSVadim Fedorenko        enum: pin-type
2873badff3aSVadim Fedorenko      -
2883badff3aSVadim Fedorenko        name: direction
2893badff3aSVadim Fedorenko        type: u32
2903badff3aSVadim Fedorenko        enum: pin-direction
2913badff3aSVadim Fedorenko      -
2923badff3aSVadim Fedorenko        name: frequency
2933badff3aSVadim Fedorenko        type: u64
2943badff3aSVadim Fedorenko      -
2953badff3aSVadim Fedorenko        name: frequency-supported
2963badff3aSVadim Fedorenko        type: nest
2973badff3aSVadim Fedorenko        multi-attr: true
2983badff3aSVadim Fedorenko        nested-attributes: frequency-range
2993badff3aSVadim Fedorenko      -
3003badff3aSVadim Fedorenko        name: frequency-min
3013badff3aSVadim Fedorenko        type: u64
3023badff3aSVadim Fedorenko      -
3033badff3aSVadim Fedorenko        name: frequency-max
3043badff3aSVadim Fedorenko        type: u64
3053badff3aSVadim Fedorenko      -
3063badff3aSVadim Fedorenko        name: prio
3073badff3aSVadim Fedorenko        type: u32
3083badff3aSVadim Fedorenko      -
3093badff3aSVadim Fedorenko        name: state
3103badff3aSVadim Fedorenko        type: u32
3113badff3aSVadim Fedorenko        enum: pin-state
3123badff3aSVadim Fedorenko      -
3133badff3aSVadim Fedorenko        name: capabilities
3143badff3aSVadim Fedorenko        type: u32
3155c497a64SJiri Pirko        enum: pin-capabilities
3163badff3aSVadim Fedorenko      -
3173badff3aSVadim Fedorenko        name: parent-device
3183badff3aSVadim Fedorenko        type: nest
3193badff3aSVadim Fedorenko        multi-attr: true
3203badff3aSVadim Fedorenko        nested-attributes: pin-parent-device
3213badff3aSVadim Fedorenko      -
3223badff3aSVadim Fedorenko        name: parent-pin
3233badff3aSVadim Fedorenko        type: nest
3243badff3aSVadim Fedorenko        multi-attr: true
3253badff3aSVadim Fedorenko        nested-attributes: pin-parent-pin
3263badff3aSVadim Fedorenko      -
327c3c6ab95SArkadiusz Kubalewski        name: phase-adjust-min
328c3c6ab95SArkadiusz Kubalewski        type: s32
329c3c6ab95SArkadiusz Kubalewski      -
330c3c6ab95SArkadiusz Kubalewski        name: phase-adjust-max
331c3c6ab95SArkadiusz Kubalewski        type: s32
332c3c6ab95SArkadiusz Kubalewski      -
333c3c6ab95SArkadiusz Kubalewski        name: phase-adjust
334c3c6ab95SArkadiusz Kubalewski        type: s32
335c3c6ab95SArkadiusz Kubalewski      -
336c3c6ab95SArkadiusz Kubalewski        name: phase-offset
337c3c6ab95SArkadiusz Kubalewski        type: s64
338c3c6ab95SArkadiusz Kubalewski      -
3398a6286c1SJiri Pirko        name: fractional-frequency-offset
3408a6286c1SJiri Pirko        type: sint
3418a6286c1SJiri Pirko        doc: |
3428a6286c1SJiri Pirko          The FFO (Fractional Frequency Offset) between the RX and TX
3438a6286c1SJiri Pirko          symbol rate on the media associated with the pin:
3448a6286c1SJiri Pirko          (rx_frequency-tx_frequency)/rx_frequency
3458a6286c1SJiri Pirko          Value is in PPM (parts per million).
3468a6286c1SJiri Pirko          This may be implemented for example for pin of type
3478a6286c1SJiri Pirko          PIN_TYPE_SYNCE_ETH_PORT.
3488a6286c1SJiri Pirko      -
349*cda1fba1SArkadiusz Kubalewski        name: esync-frequency
350*cda1fba1SArkadiusz Kubalewski        type: u64
351*cda1fba1SArkadiusz Kubalewski        doc: |
352*cda1fba1SArkadiusz Kubalewski          Frequency of Embedded SYNC signal. If provided, the pin is configured
353*cda1fba1SArkadiusz Kubalewski          with a SYNC signal embedded into its base clock frequency.
354*cda1fba1SArkadiusz Kubalewski      -
355*cda1fba1SArkadiusz Kubalewski        name: esync-frequency-supported
356*cda1fba1SArkadiusz Kubalewski        type: nest
357*cda1fba1SArkadiusz Kubalewski        multi-attr: true
358*cda1fba1SArkadiusz Kubalewski        nested-attributes: frequency-range
359*cda1fba1SArkadiusz Kubalewski        doc: |
360*cda1fba1SArkadiusz Kubalewski          If provided a pin is capable of embedding a SYNC signal (within given
361*cda1fba1SArkadiusz Kubalewski          range) into its base frequency signal.
362*cda1fba1SArkadiusz Kubalewski      -
363*cda1fba1SArkadiusz Kubalewski        name: esync-pulse
364*cda1fba1SArkadiusz Kubalewski        type: u32
365*cda1fba1SArkadiusz Kubalewski        doc: |
366*cda1fba1SArkadiusz Kubalewski          A ratio of high to low state of a SYNC signal pulse embedded
367*cda1fba1SArkadiusz Kubalewski          into base clock frequency. Value is in percents.
368*cda1fba1SArkadiusz Kubalewski  -
3693badff3aSVadim Fedorenko    name: pin-parent-device
3703badff3aSVadim Fedorenko    subset-of: pin
3713badff3aSVadim Fedorenko    attributes:
3723badff3aSVadim Fedorenko      -
3733badff3aSVadim Fedorenko        name: parent-id
3743badff3aSVadim Fedorenko      -
3753badff3aSVadim Fedorenko        name: direction
3763badff3aSVadim Fedorenko      -
3773badff3aSVadim Fedorenko        name: prio
3783badff3aSVadim Fedorenko      -
3793badff3aSVadim Fedorenko        name: state
3803badff3aSVadim Fedorenko      -
381c3c6ab95SArkadiusz Kubalewski        name: phase-offset
382c3c6ab95SArkadiusz Kubalewski  -
3833badff3aSVadim Fedorenko    name: pin-parent-pin
3843badff3aSVadim Fedorenko    subset-of: pin
3853badff3aSVadim Fedorenko    attributes:
3863badff3aSVadim Fedorenko      -
3873badff3aSVadim Fedorenko        name: parent-id
3883badff3aSVadim Fedorenko      -
3893badff3aSVadim Fedorenko        name: state
3903badff3aSVadim Fedorenko  -
3913badff3aSVadim Fedorenko    name: frequency-range
3923badff3aSVadim Fedorenko    subset-of: pin
3933badff3aSVadim Fedorenko    attributes:
3943badff3aSVadim Fedorenko      -
3953badff3aSVadim Fedorenko        name: frequency-min
3963badff3aSVadim Fedorenko      -
3973badff3aSVadim Fedorenko        name: frequency-max
3983badff3aSVadim Fedorenko
3993badff3aSVadim Fedorenkooperations:
4003badff3aSVadim Fedorenko  enum-name: dpll_cmd
4013badff3aSVadim Fedorenko  list:
4023badff3aSVadim Fedorenko    -
4033badff3aSVadim Fedorenko      name: device-id-get
4043badff3aSVadim Fedorenko      doc: |
4053badff3aSVadim Fedorenko        Get id of dpll device that matches given attributes
4063badff3aSVadim Fedorenko      attribute-set: dpll
4073badff3aSVadim Fedorenko      flags: [ admin-perm ]
4083badff3aSVadim Fedorenko
4093badff3aSVadim Fedorenko      do:
4103badff3aSVadim Fedorenko        pre: dpll-lock-doit
4113badff3aSVadim Fedorenko        post: dpll-unlock-doit
4123badff3aSVadim Fedorenko        request:
4133badff3aSVadim Fedorenko          attributes:
4143badff3aSVadim Fedorenko            - module-name
4153badff3aSVadim Fedorenko            - clock-id
4163badff3aSVadim Fedorenko            - type
4173badff3aSVadim Fedorenko        reply:
4183badff3aSVadim Fedorenko          attributes:
4193badff3aSVadim Fedorenko            - id
4203badff3aSVadim Fedorenko
4213badff3aSVadim Fedorenko    -
4223badff3aSVadim Fedorenko      name: device-get
4233badff3aSVadim Fedorenko      doc: |
4243badff3aSVadim Fedorenko        Get list of DPLL devices (dump) or attributes of a single dpll device
4253badff3aSVadim Fedorenko      attribute-set: dpll
4263badff3aSVadim Fedorenko      flags: [ admin-perm ]
4273badff3aSVadim Fedorenko
4283badff3aSVadim Fedorenko      do:
4293badff3aSVadim Fedorenko        pre: dpll-pre-doit
4303badff3aSVadim Fedorenko        post: dpll-post-doit
4313badff3aSVadim Fedorenko        request:
4323badff3aSVadim Fedorenko          attributes:
4333badff3aSVadim Fedorenko            - id
4343badff3aSVadim Fedorenko        reply: &dev-attrs
4353badff3aSVadim Fedorenko          attributes:
4363badff3aSVadim Fedorenko            - id
4373badff3aSVadim Fedorenko            - module-name
4383badff3aSVadim Fedorenko            - mode
4393badff3aSVadim Fedorenko            - mode-supported
4403badff3aSVadim Fedorenko            - lock-status
441cf4f0f1eSJiri Pirko            - lock-status-error
4423badff3aSVadim Fedorenko            - temp
4433badff3aSVadim Fedorenko            - clock-id
4443badff3aSVadim Fedorenko            - type
4453badff3aSVadim Fedorenko
4463badff3aSVadim Fedorenko      dump:
4473badff3aSVadim Fedorenko        reply: *dev-attrs
4483badff3aSVadim Fedorenko
4493badff3aSVadim Fedorenko    -
4503badff3aSVadim Fedorenko      name: device-set
4513badff3aSVadim Fedorenko      doc: Set attributes for a DPLL device
4523badff3aSVadim Fedorenko      attribute-set: dpll
4533badff3aSVadim Fedorenko      flags: [ admin-perm ]
4543badff3aSVadim Fedorenko
4553badff3aSVadim Fedorenko      do:
4563badff3aSVadim Fedorenko        pre: dpll-pre-doit
4573badff3aSVadim Fedorenko        post: dpll-post-doit
4583badff3aSVadim Fedorenko        request:
4593badff3aSVadim Fedorenko          attributes:
4603badff3aSVadim Fedorenko            - id
4613badff3aSVadim Fedorenko    -
4623badff3aSVadim Fedorenko      name: device-create-ntf
4633badff3aSVadim Fedorenko      doc: Notification about device appearing
4643badff3aSVadim Fedorenko      notify: device-get
4653badff3aSVadim Fedorenko      mcgrp: monitor
4663badff3aSVadim Fedorenko    -
4673badff3aSVadim Fedorenko      name: device-delete-ntf
4683badff3aSVadim Fedorenko      doc: Notification about device disappearing
4693badff3aSVadim Fedorenko      notify: device-get
4703badff3aSVadim Fedorenko      mcgrp: monitor
4713badff3aSVadim Fedorenko    -
4723badff3aSVadim Fedorenko      name: device-change-ntf
4733badff3aSVadim Fedorenko      doc: Notification about device configuration being changed
4743badff3aSVadim Fedorenko      notify: device-get
4753badff3aSVadim Fedorenko      mcgrp: monitor
4763badff3aSVadim Fedorenko    -
4773badff3aSVadim Fedorenko      name: pin-id-get
4783badff3aSVadim Fedorenko      doc: |
4793badff3aSVadim Fedorenko        Get id of a pin that matches given attributes
4803badff3aSVadim Fedorenko      attribute-set: pin
4813badff3aSVadim Fedorenko      flags: [ admin-perm ]
4823badff3aSVadim Fedorenko
4833badff3aSVadim Fedorenko      do:
4843badff3aSVadim Fedorenko        pre: dpll-lock-doit
4853badff3aSVadim Fedorenko        post: dpll-unlock-doit
4863badff3aSVadim Fedorenko        request:
4873badff3aSVadim Fedorenko          attributes:
4883badff3aSVadim Fedorenko            - module-name
4893badff3aSVadim Fedorenko            - clock-id
4903badff3aSVadim Fedorenko            - board-label
4913badff3aSVadim Fedorenko            - panel-label
4923badff3aSVadim Fedorenko            - package-label
4933badff3aSVadim Fedorenko            - type
4943badff3aSVadim Fedorenko        reply:
4953badff3aSVadim Fedorenko          attributes:
4963badff3aSVadim Fedorenko            - id
4973badff3aSVadim Fedorenko
4983badff3aSVadim Fedorenko    -
4993badff3aSVadim Fedorenko      name: pin-get
5003badff3aSVadim Fedorenko      doc: |
5013badff3aSVadim Fedorenko        Get list of pins and its attributes.
502ebf90041SDonald Hunter
5033badff3aSVadim Fedorenko        - dump request without any attributes given - list all the pins in the
5043badff3aSVadim Fedorenko          system
5053badff3aSVadim Fedorenko        - dump request with target dpll - list all the pins registered with
5063badff3aSVadim Fedorenko          a given dpll device
5073badff3aSVadim Fedorenko        - do request with target dpll and target pin - single pin attributes
5083badff3aSVadim Fedorenko      attribute-set: pin
5093badff3aSVadim Fedorenko      flags: [ admin-perm ]
5103badff3aSVadim Fedorenko
5113badff3aSVadim Fedorenko      do:
5123badff3aSVadim Fedorenko        pre: dpll-pin-pre-doit
5133badff3aSVadim Fedorenko        post: dpll-pin-post-doit
5143badff3aSVadim Fedorenko        request:
5153badff3aSVadim Fedorenko          attributes:
5163badff3aSVadim Fedorenko            - id
5173badff3aSVadim Fedorenko        reply: &pin-attrs
5183badff3aSVadim Fedorenko          attributes:
5193badff3aSVadim Fedorenko            - id
5203badff3aSVadim Fedorenko            - board-label
5213badff3aSVadim Fedorenko            - panel-label
5223badff3aSVadim Fedorenko            - package-label
5233badff3aSVadim Fedorenko            - type
5243badff3aSVadim Fedorenko            - frequency
5253badff3aSVadim Fedorenko            - frequency-supported
5263badff3aSVadim Fedorenko            - capabilities
5273badff3aSVadim Fedorenko            - parent-device
5283badff3aSVadim Fedorenko            - parent-pin
529c3c6ab95SArkadiusz Kubalewski            - phase-adjust-min
530c3c6ab95SArkadiusz Kubalewski            - phase-adjust-max
531c3c6ab95SArkadiusz Kubalewski            - phase-adjust
5328a6286c1SJiri Pirko            - fractional-frequency-offset
533*cda1fba1SArkadiusz Kubalewski            - esync-frequency
534*cda1fba1SArkadiusz Kubalewski            - esync-frequency-supported
535*cda1fba1SArkadiusz Kubalewski            - esync-pulse
5363badff3aSVadim Fedorenko
5373badff3aSVadim Fedorenko      dump:
5383badff3aSVadim Fedorenko        request:
5393badff3aSVadim Fedorenko          attributes:
5403badff3aSVadim Fedorenko            - id
5413badff3aSVadim Fedorenko        reply: *pin-attrs
5423badff3aSVadim Fedorenko
5433badff3aSVadim Fedorenko    -
5443badff3aSVadim Fedorenko      name: pin-set
5453badff3aSVadim Fedorenko      doc: Set attributes of a target pin
5463badff3aSVadim Fedorenko      attribute-set: pin
5473badff3aSVadim Fedorenko      flags: [ admin-perm ]
5483badff3aSVadim Fedorenko
5493badff3aSVadim Fedorenko      do:
5503badff3aSVadim Fedorenko        pre: dpll-pin-pre-doit
5513badff3aSVadim Fedorenko        post: dpll-pin-post-doit
5523badff3aSVadim Fedorenko        request:
5533badff3aSVadim Fedorenko          attributes:
5543badff3aSVadim Fedorenko            - id
5553badff3aSVadim Fedorenko            - frequency
5563badff3aSVadim Fedorenko            - direction
5573badff3aSVadim Fedorenko            - prio
5583badff3aSVadim Fedorenko            - state
5593badff3aSVadim Fedorenko            - parent-device
5603badff3aSVadim Fedorenko            - parent-pin
561c3c6ab95SArkadiusz Kubalewski            - phase-adjust
562*cda1fba1SArkadiusz Kubalewski            - esync-frequency
5633badff3aSVadim Fedorenko    -
5643badff3aSVadim Fedorenko      name: pin-create-ntf
5653badff3aSVadim Fedorenko      doc: Notification about pin appearing
5663badff3aSVadim Fedorenko      notify: pin-get
5673badff3aSVadim Fedorenko      mcgrp: monitor
5683badff3aSVadim Fedorenko    -
5693badff3aSVadim Fedorenko      name: pin-delete-ntf
5703badff3aSVadim Fedorenko      doc: Notification about pin disappearing
5713badff3aSVadim Fedorenko      notify: pin-get
5723badff3aSVadim Fedorenko      mcgrp: monitor
5733badff3aSVadim Fedorenko    -
5743badff3aSVadim Fedorenko      name: pin-change-ntf
5753badff3aSVadim Fedorenko      doc: Notification about pin configuration being changed
5763badff3aSVadim Fedorenko      notify: pin-get
5773badff3aSVadim Fedorenko      mcgrp: monitor
5783badff3aSVadim Fedorenko
5793badff3aSVadim Fedorenkomcast-groups:
5803badff3aSVadim Fedorenko  list:
5813badff3aSVadim Fedorenko    -
5823badff3aSVadim Fedorenko      name: monitor
583