Re: [PATCH net-next v8 2/2] ptp: add FemtoClock3 Wireless as ptp hardware clock

From: Geert Uytterhoeven
Date: Tue Feb 06 2024 - 09:27:45 EST


Hi Min,

On Mon, Jan 15, 2024 at 9:22 PM Min Li <lnimi@xxxxxxxxxxx> wrote:
> From: Min Li <min.li.xe@xxxxxxxxxxx>
>
> The RENESAS FemtoClock3 Wireless is a high-performance jitter attenuator,
> frequency translator, and clock synthesizer. The device is comprised of 3
> digital PLLs (DPLL) to track CLKIN inputs and three independent low phase
> noise fractional output dividers (FOD) that output low phase noise clocks.
>
> FemtoClock3 supports one Time Synchronization (Time Sync) channel to enable
> an external processor to control the phase and frequency of the Time Sync
> channel and to take phase measurements using the TDC. Intended applications
> are synchronization using the precision time protocol (PTP) and
> synchronization with 0.5 Hz and 1 Hz signals from GNSS.
>
> Signed-off-by: Min Li <min.li.xe@xxxxxxxxxxx>

Thanks for your patch, which is now commit 1ddfecafabf71e0e ("ptp:
add FemtoClock3 Wireless as ptp hardware clock") in net-next/main.

> --- a/drivers/ptp/Kconfig
> +++ b/drivers/ptp/Kconfig
> @@ -155,6 +155,18 @@ config PTP_1588_CLOCK_IDTCM
> To compile this driver as a module, choose M here: the module
> will be called ptp_clockmatrix.
>
> +config PTP_1588_CLOCK_FC3W
> + tristate "RENESAS FemtoClock3 Wireless as PTP clock"
> + depends on PTP_1588_CLOCK && I2C

This driver does not seem to use any direct i2c functionality (it
does use regmap), so presumably it should depend on something else
(see below) instead?

> + default n

"default n" is the default.

> + help
> + This driver adds support for using Renesas FemtoClock3 Wireless
> + as a PTP clock. This clock is only useful if your time stamping
> + MAC is connected to the RENESAS chip.
> +
> + To compile this driver as a module, choose M here: the module
> + will be called ptp_fc3.
> +
> config PTP_1588_CLOCK_MOCK
> tristate "Mock-up PTP clock"
> depends on PTP_1588_CLOCK

> --- /dev/null
> +++ b/drivers/ptp/ptp_fc3.c

> +static struct platform_driver idtfc3_driver = {
> + .driver = {
> + .name = "rc38xxx-phc",
> + },
> + .probe = idtfc3_probe,
> + .remove = idtfc3_remove,
> +};

Who is supposed to instantiate this platform device?
I couldn't find anything in-tree or on lore.kernel.org.
Presumably that driver should be a dependency for the
PTP_1588_CLOCK_FC3W config symbol.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68korg

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds