]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
dpll: zl3073x: Read DPLL types and pin properties from system firmware
authorIvan Vecera <ivecera@redhat.com>
Fri, 4 Jul 2025 18:21:57 +0000 (20:21 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 10 Jul 2025 02:08:53 +0000 (19:08 -0700)
commita99a9f0ebdaaae14fe1d69d046633bce6110d0c2
treee8833efd787b5de938c286aa593246931ab7adaa
parentb7d907d1f84a3c51d7fcc83e30a0227cfea77172
dpll: zl3073x: Read DPLL types and pin properties from system firmware

Add support for reading of DPLL types and optional pin properties from
the system firmware (DT, ACPI...).

The DPLL types are stored in property 'dpll-types' as string array and
possible values 'pps' and 'eec' are mapped to DPLL enums DPLL_TYPE_PPS
and DPLL_TYPE_EEC.

The pin properties are stored under 'input-pins' and 'output-pins'
sub-nodes and the following ones are supported:

* reg
    integer that specifies pin index
* label
    string that is used by driver as board label
* connection-type
    string that indicates pin connection type
* supported-frequencies-hz
    array of u64 values what frequencies are supported / allowed for
    given pin with respect to hardware wiring

Do not blindly trust system firmware and filter out frequencies that
cannot be configured/represented in device (input frequencies have to
be factorized by one of the base frequencies and output frequencies have
to divide configured synthesizer frequency).

Signed-off-by: Ivan Vecera <ivecera@redhat.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Link: https://patch.msgid.link/20250704182202.1641943-8-ivecera@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/dpll/zl3073x/Makefile
drivers/dpll/zl3073x/core.c
drivers/dpll/zl3073x/core.h
drivers/dpll/zl3073x/prop.c [new file with mode: 0644]
drivers/dpll/zl3073x/prop.h [new file with mode: 0644]