Lines Matching refs:dpll
4 The Linux kernel dpll subsystem
22 The main purpose of dpll subsystem is to provide general interface
32 Single dpll device object means single Digital PLL circuit and bunch of
38 Changing the configuration of dpll device is done with `do` request of
52 The number of pins per dpll vary, but usually multiple pins shall be
53 provided for a single dpll device.
73 on hardware capabilities and active dpll device work mode
76 request for a dpll device.
81 - ``DPLL_PIN_STATE_CONNECTED`` - the pin is selected to drive dpll
84 dpll device
116 A single pin object can be attached to multiple dpll devices.
120 applies to all dpll devices the pin is registered with
122 2) Set on a pin-dpll tuple - the configuration affects only selected
123 dpll device (i.e., ``DPLL_A_PIN_PRIO``, ``DPLL_A_PIN_STATE``,
131 being directly registered to a dpll device.
171 means only pins directly connected to the dpll can be used for automatic
182 related to parent dpll device
183 ``DPLL_A_PIN_PARENT_ID`` parent dpll device id
184 ``DPLL_A_PIN_PRIO`` requested pin prio on parent dpll
196 on a pin and its parent dpll device. If pin-dpll phase offset measurement
198 attribute for each parent dpll device. The reported phase offset may be
231 adjustment on parent dpll device
233 configuration on given parent dpll
235 ``DPLL_A_PIN_PARENT_ID`` parent dpll device id
237 between a pin and parent dpll device
242 phase of signal on pin is earlier in time than dpll's signal. Positive
244 a dpll.
357 dpll devices (and pins), as well as set configuration of device or pins.
358 As dpll devices must be abstracted and reflect real hardware,
359 there is no way to add new dpll device via netlink from user space and
368 Constants identifying command types for dpll device uses a
370 The dpll device related attributes use a ``DPLL_A_`` prefix and
379 ``DPLL_A_TYPE`` attr type of dpll device
385 ``DPLL_A_ID`` attr unique dpll device ID
392 ``DPLL_A_LOCK_STATUS`` attr dpll device lock status
394 ``DPLL_A_TYPE`` attr type of dpll device
398 ``DPLL_CMD_DEVICE_SET`` command to set dpll device config
399 ``DPLL_A_ID`` attr internal dpll device index
453 ``DPLL_A_PIN_PARENT_ID`` attr parent dpll device id
455 dpll device
457 dpll device
459 parent dpll device
461 between a pin and parent dpll
478 ``DPLL_A_PIN_PARENT_DEVICE`` nested attr for each parent dpll
480 ``DPLL_A_PIN_PARENT_ID`` attr parent dpll device id
483 the dpll device
485 the dpll device
504 ``DPLL_CMD_DEVICE_SET`` - to target a dpll device, the user provides
505 ``DPLL_A_ID``, which is unique identifier of dpll device in the system,
512 itself and applies to all dpll devices the pin is registered with, so the
530 .. kernel-doc:: include/uapi/linux/dpll.h
535 dpll device can provide notifications regarding status changes of the
543 ``DPLL_CMD_DEVICE_CREATE_NTF`` dpll device was created
544 ``DPLL_CMD_DEVICE_DELETE_NTF`` dpll device was deleted
545 ``DPLL_CMD_DEVICE_CHANGE_NTF`` dpll device has changed
546 ``DPLL_CMD_PIN_CREATE_NTF`` dpll pin was created
547 ``DPLL_CMD_PIN_DELETE_NTF`` dpll pin was deleted
548 ``DPLL_CMD_PIN_CHANGE_NTF`` dpll pin has changed
571 dpll_device_get(), as well as register dpll device with their own
579 A pin can be registered with parent dpll device or parent pin, depending
583 - dpll_pin_register() - register pin with a dpll device,
586 Notifications of adding or removing dpll devices are created within
590 Notifications about status changes either of dpll device or a pin are
593 - after successful change was requested on dpll subsystem, the subsystem
598 The device driver using dpll interface is not required to implement all
601 Required dpll device level callback operations:
608 - ``.state_on_dpll_get`` (pins registered with dpll device),
639 bp->dpll = dpll_device_get(clkid, 0, THIS_MODULE);
640 if (IS_ERR(bp->dpll)) {
641 err = PTR_ERR(bp->dpll);
646 err = dpll_device_register(bp->dpll, DPLL_TYPE_PPS, &dpll_ops, bp);
653 err = PTR_ERR(bp->dpll);
657 err = dpll_pin_register(bp->dpll, bp->sma[i].dpll_pin, &dpll_pins_ops,
671 dpll_pin_unregister(bp->dpll, bp->sma[i].dpll_pin, &dpll_pins_ops, &bp->sma[i]);
674 dpll_device_put(bp->dpll);
680 For SyncE enablement it is required to allow control over dpll device
682 dpll device in response to current state of a dpll device and its
684 In such scenario, dpll device input signal shall be also configurable
685 to drive dpll with signal recovered from the PHY netdevice.