[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250612200145.774195-1-ivecera@redhat.com>
Date: Thu, 12 Jun 2025 22:01:31 +0200
From: Ivan Vecera <ivecera@...hat.com>
To: netdev@...r.kernel.org
Cc: Vadim Fedorenko <vadim.fedorenko@...ux.dev>,
Arkadiusz Kubalewski <arkadiusz.kubalewski@...el.com>,
Jiri Pirko <jiri@...nulli.us>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Prathosh Satish <Prathosh.Satish@...rochip.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>,
Simon Horman <horms@...nel.org>,
Jonathan Corbet <corbet@....net>,
Jason Gunthorpe <jgg@...pe.ca>,
Shannon Nelson <shannon.nelson@....com>,
Dave Jiang <dave.jiang@...el.com>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-doc@...r.kernel.org,
Michal Schmidt <mschmidt@...hat.com>,
Petr Oros <poros@...hat.com>
Subject: [PATCH net-next v9 00/14] Add Microchip ZL3073x support (part 1)
Add support for Microchip Azurite DPLL/PTP/SyncE chip family that
provides DPLL and PTP functionality. This series bring first part
that adds the core functionality and basic DPLL support.
The next part of the series will bring additional DPLL functionality
like eSync support, phase offset and frequency offset reporting and
phase adjustments.
Testing was done by myself and by Prathosh Satish on Microchip EDS2
development board with ZL30732 DPLL chip connected over I2C bus.
---
Changelog:
v9:
After discussion with Jakub Kicinski we agreed that it would be better
to implement whole functionality in a single driver without touching
MFD sub-system. Besides touching multiple sub-systems by single device
there are also some technical issues that are easier resolvable
in a single driver. Additionally the firmware flashing functionality
would bring more than 1000 lines of code with previous approach to
the MFD driver - it is not something the MFD maintainers would like
to see.
Ivan Vecera (14):
dt-bindings: dpll: Add DPLL device and pin
dt-bindings: dpll: Add support for Microchip Azurite chip family
dpll: Add basic Microchip ZL3073x support
dpll: zl3073x: Add support for devlink device info
dpll: zl3073x: Protect operations requiring multiple register accesses
dpll: zl3073x: Fetch invariants during probe
dpll: zl3073x: Add clock_id field
dpll: zl3073x: Read DPLL types and pin properties from system firmware
dpll: zl3073x: Register DPLL devices and pins
dpll: zl3073x: Implement input pin selection in manual mode
dpll: zl3073x: Add support to get/set priority on input pins
dpll: zl3073x: Implement input pin state setting in automatic mode
dpll: zl3073x: Add support to get/set frequency on input pins
dpll: zl3073x: Add support to get/set frequency on output pins
.../devicetree/bindings/dpll/dpll-device.yaml | 76 +
.../devicetree/bindings/dpll/dpll-pin.yaml | 45 +
.../bindings/dpll/microchip,zl30731.yaml | 115 ++
Documentation/networking/devlink/index.rst | 1 +
Documentation/networking/devlink/zl3073x.rst | 37 +
MAINTAINERS | 10 +
drivers/Kconfig | 4 +-
drivers/dpll/Kconfig | 6 +
drivers/dpll/Makefile | 2 +
drivers/dpll/zl3073x/Kconfig | 36 +
drivers/dpll/zl3073x/Makefile | 10 +
drivers/dpll/zl3073x/core.c | 966 +++++++++++
drivers/dpll/zl3073x/core.h | 371 ++++
drivers/dpll/zl3073x/dpll.c | 1496 +++++++++++++++++
drivers/dpll/zl3073x/dpll.h | 42 +
drivers/dpll/zl3073x/i2c.c | 95 ++
drivers/dpll/zl3073x/prop.c | 358 ++++
drivers/dpll/zl3073x/prop.h | 34 +
drivers/dpll/zl3073x/regs.h | 206 +++
drivers/dpll/zl3073x/spi.c | 95 ++
20 files changed, 4003 insertions(+), 2 deletions(-)
create mode 100644 Documentation/devicetree/bindings/dpll/dpll-device.yaml
create mode 100644 Documentation/devicetree/bindings/dpll/dpll-pin.yaml
create mode 100644 Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
create mode 100644 Documentation/networking/devlink/zl3073x.rst
create mode 100644 drivers/dpll/zl3073x/Kconfig
create mode 100644 drivers/dpll/zl3073x/Makefile
create mode 100644 drivers/dpll/zl3073x/core.c
create mode 100644 drivers/dpll/zl3073x/core.h
create mode 100644 drivers/dpll/zl3073x/dpll.c
create mode 100644 drivers/dpll/zl3073x/dpll.h
create mode 100644 drivers/dpll/zl3073x/i2c.c
create mode 100644 drivers/dpll/zl3073x/prop.c
create mode 100644 drivers/dpll/zl3073x/prop.h
create mode 100644 drivers/dpll/zl3073x/regs.h
create mode 100644 drivers/dpll/zl3073x/spi.c
--
2.49.0
Powered by blists - more mailing lists